kopia lustrzana https://github.com/OpenRTX/OpenRTX
Fix a bug where only satellites with a low id were marked active
rodzic
7577b4d6ae
commit
a163bc6998
|
@ -269,7 +269,7 @@ void gfx_drawSmeter(point_t start, uint16_t width, uint16_t height, float rssi,
|
|||
* @param sats: pointer to the array of satellites data
|
||||
* @param active_sats: bitset representing which sats are part of the fix
|
||||
*/
|
||||
void gfx_drawGPSgraph(point_t start, uint16_t width, uint16_t height, sat_t *sats, uint16_t active_sats);
|
||||
void gfx_drawGPSgraph(point_t start, uint16_t width, uint16_t height, sat_t *sats, uint32_t active_sats);
|
||||
|
||||
/**
|
||||
* Function to draw a compass of arbitrary size.
|
||||
|
|
|
@ -49,7 +49,7 @@ typedef struct
|
|||
uint8_t satellites_tracked; // Number of tracked satellites
|
||||
uint8_t satellites_in_view; // Satellites in view
|
||||
sat_t satellites[12]; // Details about satellites in view
|
||||
uint16_t active_sats; // Bitmap representing which sats are part of the fix
|
||||
uint32_t active_sats; // Bitmap representing which sats are part of the fix
|
||||
float latitude; // Latitude coordinates
|
||||
float longitude; // Longitude coordinates
|
||||
float altitude; // Antenna altitude above mean sea level (geoid) in m
|
||||
|
|
|
@ -67,7 +67,7 @@ void gps_taskFunc(char *line, int len, gps_t *state)
|
|||
{
|
||||
if (frame.sats[i] != 0)
|
||||
{
|
||||
state->active_sats |= 1 << frame.sats[i];
|
||||
state->active_sats |= 1 << (frame.sats[i] - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -642,7 +642,7 @@ void gfx_drawGPSgraph(point_t start,
|
|||
uint16_t width,
|
||||
uint16_t height,
|
||||
sat_t *sats,
|
||||
uint16_t active_sats)
|
||||
uint32_t active_sats)
|
||||
{
|
||||
color_t white = {255, 255, 255, 255};
|
||||
color_t yellow = {250, 180, 19 , 255};
|
||||
|
@ -656,7 +656,7 @@ void gfx_drawGPSgraph(point_t start,
|
|||
bar_height = (height - 8) * sats[i].snr / 100 + 1;
|
||||
point_t bar_pos = {start.x + 2 + i * (bar_width + 2),
|
||||
start.y + (height - 8) - bar_height};
|
||||
color_t bar_color = (active_sats & 1 << sats[i].id) ? yellow : white;
|
||||
color_t bar_color = (active_sats & 1 << (sats[i].id - 1)) ? yellow : white;
|
||||
gfx_drawRect(bar_pos, bar_width, bar_height, bar_color, true);
|
||||
snprintf(id_buf, 5, "%2d ", sats[i].id);
|
||||
point_t id_pos = {bar_pos.x, start.y + height};
|
||||
|
|
Ładowanie…
Reference in New Issue