diff --git a/net_io.c b/net_io.c index bff640f..1fa32f1 100644 --- a/net_io.c +++ b/net_io.c @@ -373,6 +373,7 @@ static void modesSendBeastOutput(struct modesMessage *mm) { char *p = prepareWrite(&Modes.beast_out, 2 + 2 * (7 + msgLen)); char ch; int j; + int sig; unsigned char *msg = (Modes.net_verbatim ? mm->verbatim : mm->msg); if (!p) @@ -402,7 +403,12 @@ static void modesSendBeastOutput(struct modesMessage *mm) { *p++ = (ch = (mm->timestampMsg)); if (0x1A == ch) {*p++ = ch; } - *p++ = ch = (char) round(sqrt(mm->signalLevel) * 255); + sig = round(sqrt(mm->signalLevel) * 255); + if (mm->signalLevel > 0 && sig < 1) + sig = 1; + if (sig > 255) + sig = 255; + *p++ = ch = (char)sig; if (0x1A == ch) {*p++ = ch; } for (j = 0; j < msgLen; j++) { @@ -729,8 +735,8 @@ static int decodeBinMessage(struct client *c, char *p) { clock_gettime(CLOCK_REALTIME, &mm.sysTimestampMsg); ch = *p++; // Grab the signal level - mm.signalLevel = ((unsigned char)ch / 256.0); - mm.signalLevel = mm.signalLevel * mm.signalLevel + 1e-5; + mm.signalLevel = ((unsigned char)ch / 255.0); + mm.signalLevel = mm.signalLevel * mm.signalLevel; if (0x1A == ch) {p++;} for (j = 0; j < msgLen; j++) { // and the data @@ -797,7 +803,7 @@ static int decodeHexMessage(struct client *c, char *hex) { // Mark messages received over the internet as remote so that we don't try to // pass them off as being received by this instance when forwarding them mm.remote = 1; - mm.signalLevel = 1e-5; + mm.signalLevel = 0; // Remove spaces on the left and on the right while(l && isspace(hex[l-1])) { @@ -814,8 +820,8 @@ static int decodeHexMessage(struct client *c, char *hex) { switch(hex[0]) { case '<': { - mm.signalLevel = ((hexDigitVal(hex[13])<<4) | hexDigitVal(hex[14])) / 256.0; - mm.signalLevel = mm.signalLevel * mm.signalLevel + 1e-5; + mm.signalLevel = ((hexDigitVal(hex[13])<<4) | hexDigitVal(hex[14])) / 255.0; + mm.signalLevel = mm.signalLevel * mm.signalLevel; hex += 15; l -= 16; // Skip <, timestamp and siglevel, and ; break;} diff --git a/public_html/index.html b/public_html/index.html index 670b698..78a03fb 100644 --- a/public_html/index.html +++ b/public_html/index.html @@ -5,7 +5,7 @@ - + @@ -56,7 +56,7 @@ Piaware
ICAO | Flight | @@ -153,6 +154,7 @@Track | Msgs | Age | +