sdrplusplus? more like sdrpleaseplease
This commit is contained in:
parent
da2a3f08a4
commit
6e60e8a0a8
|
|
@ -216,11 +216,17 @@ int tx(uint32_t carrier_freq, char *audio_file, uint16_t pi, char *ps, char *rt,
|
||||||
|
|
||||||
uint16_t callsignToPI(char* callsign) {
|
uint16_t callsignToPI(char* callsign) {
|
||||||
uint16_t pi_code = 0;
|
uint16_t pi_code = 0;
|
||||||
for (int i = 0; i < 4; i++) {
|
bool w = (piCode >= 21672);
|
||||||
if (callsign[i] >= 'A' && callsign[i] <= 'Z') pi_code += (callsign[i] - 'A') * (i == 0 ? 21672 : (i == 1 ? 676 : (i == 2 ? 26 : 1)));
|
callsign = w ? 'W' : 'K';
|
||||||
else return 0; // Returning 0 to indicate an error
|
char* restStr;
|
||||||
|
int rest = piCode - (w ? 21672 : 4096);
|
||||||
|
while (rest) {
|
||||||
|
restStr += 'A' + (rest % 26);
|
||||||
|
rest /= 26;
|
||||||
|
}
|
||||||
|
for (int i = restStr.size() - 1; i >= 0; i--) {
|
||||||
|
callsign += restStr[i];
|
||||||
}
|
}
|
||||||
return pi_code;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue