Merge pull request #99 from MavEtJu/fix-interactive-ttl

Fix interactive mode alignment of Time when TTL is > 99
This commit is contained in:
Oliver Jowett 2021-02-01 11:56:01 +08:00 committed by GitHub
commit 5e8be14f2e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 2 deletions

View File

@ -343,6 +343,7 @@ struct _Modes { // Internal state
uint32_t show_only; // Only show messages from this ICAO uint32_t show_only; // Only show messages from this ICAO
int interactive; // Interactive mode int interactive; // Interactive mode
uint64_t interactive_display_ttl;// Interactive mode: TTL display uint64_t interactive_display_ttl;// Interactive mode: TTL display
int interactive_display_size; // Size of TTL display
int interactive_show_distance; // Show aircraft distance and bearing instead of lat/lon int interactive_show_distance; // Show aircraft distance and bearing instead of lat/lon
interactive_distance_unit_t interactive_distance_units; // Units for interactive distance display interactive_distance_unit_t interactive_distance_units; // Units for interactive distance display
char *interactive_callsign_filter; // Filter for interactive display callsigns char *interactive_callsign_filter; // Filter for interactive display callsigns

View File

@ -264,12 +264,12 @@ void interactiveShowData(void) {
signalMean += signalDisplay; signalMean += signalDisplay;
if (row < rows) { if (row < rows) {
mvprintw(row, 0, "%s%06X %-4s %-4s %-8s %6s %3s %3s %7s %8s %5.1f %5d %2.0f", mvprintw(row, 0, "%s%06X %-4s %-4s %-8s %6s %3s %3s %7s %8s %5.1f %5d %*.0f",
(a->addr & MODES_NON_ICAO_ADDRESS) ? "~" : " ", (a->addr & 0xffffff), (a->addr & MODES_NON_ICAO_ADDRESS) ? "~" : " ", (a->addr & 0xffffff),
strMode, strSquawk, a->callsign, strFl, strGs, strTt, strMode, strSquawk, a->callsign, strFl, strGs, strTt,
Modes.interactive_show_distance ? strDistance : strLat, Modes.interactive_show_distance ? strDistance : strLat,
Modes.interactive_show_distance ? strBearing : strLon, Modes.interactive_show_distance ? strBearing : strLon,
signalDisplay, msgs, (now - a->seen)/1000.0); signalDisplay, msgs, Modes.interactive_display_size, (now - a->seen)/1000.0);
if (signalDisplay >= signalMax) { if (signalDisplay >= signalMax) {
rowMaxRSSI = row; rowMaxRSSI = row;

View File

@ -172,6 +172,7 @@ int main(int argc, char **argv) {
Modes.interactive = 0; Modes.interactive = 0;
} else if (!strcmp(argv[j],"--interactive-ttl") && more) { } else if (!strcmp(argv[j],"--interactive-ttl") && more) {
Modes.interactive_display_ttl = (uint64_t)(1000 * atof(argv[++j])); Modes.interactive_display_ttl = (uint64_t)(1000 * atof(argv[++j]));
Modes.interactive_display_size = strlen(argv[j]);
} else if (!strcmp(argv[j], "--interactive-show-distance")) { } else if (!strcmp(argv[j], "--interactive-show-distance")) {
Modes.interactive_show_distance = 1; Modes.interactive_show_distance = 1;
} else if (!strcmp(argv[j], "--interactive-distance-units") && more) { } else if (!strcmp(argv[j], "--interactive-distance-units") && more) {