M17 - Fix CSD Encode For Reserved Values;

This commit is contained in:
lwvmobile 2024-03-11 06:45:55 -04:00
parent d738eee5d9
commit ffc311e0e9
1 changed files with 9 additions and 9 deletions

View File

@ -1285,7 +1285,7 @@ void encodeM17STR(dsd_opts * opts, dsd_state * state)
unsigned long long int dst = 0;
unsigned long long int src = 0;
//DST and SRC Callsign Data (pick up to 9 characters from the b40 char array)
char d40[] = "BROADCAST"; //DST
char d40[] = "DSD-FME "; //DST
char s40[] = "DSD-FME "; //SRC
//end User Defined Variables
@ -1399,8 +1399,8 @@ void encodeM17STR(dsd_opts * opts, dsd_state * state)
//Convert base40 CSD to numerical values (lifted from libM17)
//Only if not already set as numerical value
if (dst == 0)
//Only if not already set to a reserved value
if (dst < 0xEE6B27FFFFFF)
{
for(i = strlen((const char*)d40)-1; i >= 0; i--)
{
@ -1415,7 +1415,7 @@ void encodeM17STR(dsd_opts * opts, dsd_state * state)
}
}
if (src == 0)
if (src < 0xEE6B27FFFFFF)
{
for(i = strlen((const char*)s40)-1; i >= 0; i--)
{
@ -2234,7 +2234,7 @@ void encodeM17PKT(dsd_opts * opts, dsd_state * state)
unsigned long long int dst = 0;
unsigned long long int src = 0;
//DST and SRC Callsign Data (pick up to 9 characters from the b40 char array)
char d40[] = "BROADCAST"; //DST
char d40[] = "DSD-FME "; //DST
char s40[] = "DSD-FME "; //SRC
//Default
@ -2274,7 +2274,7 @@ void encodeM17PKT(dsd_opts * opts, dsd_state * state)
//send preamble_a for the LSF frame
encodeM17RF (opts, state, nil, 33);
//NOTE: PKT mode does not seem to have a format specified by M17 standard,
//NOTE: PKT mode does not seem to have an IP format specified by M17 standard,
//so I will assume that you do not send PKT data over IP to a reflector
uint8_t m17_lsf[240];
@ -2296,8 +2296,8 @@ void encodeM17PKT(dsd_opts * opts, dsd_state * state)
//Convert base40 CSD to numerical values (lifted from libM17)
//Only if not already set as numerical value
if (dst == 0)
//Only if not already set to a reserved value
if (dst < 0xEE6B27FFFFFF)
{
for(i = strlen((const char*)d40)-1; i >= 0; i--)
{
@ -2312,7 +2312,7 @@ void encodeM17PKT(dsd_opts * opts, dsd_state * state)
}
}
if (src == 0)
if (src < 0xEE6B27FFFFFF)
{
for(i = strlen((const char*)s40)-1; i >= 0; i--)
{