Squash beast RSSI to zero when it's 0xff, since that seems to mean "unknown".
This commit is contained in:
4
beast.c
4
beast.c
@@ -76,7 +76,7 @@ static bool beast_parse_mode_s_short(struct buf *buf, struct packet *packet, str
|
||||
packet->type = MODE_S_SHORT;
|
||||
uint64_t source_mlat = beast_parse_mlat(overlay->mlat_timestamp);
|
||||
packet->mlat_timestamp = mlat_timestamp_scale_in(source_mlat, UINT64_C(0xffffffffffff), 12, &state->mlat_state);
|
||||
packet->rssi = rssi_scale_in(overlay->rssi, UINT8_MAX);
|
||||
packet->rssi = rssi_scale_in(overlay->rssi == UINT8_MAX ? 0 : overlay->rssi, UINT8_MAX);
|
||||
memcpy(packet->payload, overlay->payload, sizeof(overlay->payload));
|
||||
buf_consume(buf, in_bytes);
|
||||
return true;
|
||||
@@ -92,7 +92,7 @@ static bool beast_parse_mode_s_long(struct buf *buf, struct packet *packet, stru
|
||||
packet->type = MODE_S_LONG;
|
||||
uint64_t source_mlat = beast_parse_mlat(overlay->mlat_timestamp);
|
||||
packet->mlat_timestamp = mlat_timestamp_scale_in(source_mlat, UINT64_C(0xffffffffffff), 12, &state->mlat_state);
|
||||
packet->rssi = rssi_scale_in(overlay->rssi, UINT8_MAX);
|
||||
packet->rssi = rssi_scale_in(overlay->rssi == UINT8_MAX ? 0 : overlay->rssi, UINT8_MAX);
|
||||
memcpy(packet->payload, overlay->payload, sizeof(overlay->payload));
|
||||
buf_consume(buf, in_bytes);
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user