Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interactive mode updates #81

Merged
merged 1 commit into from
Oct 1, 2020
Merged

Conversation

gtjoseph
Copy link

These updates were designed to assist those using interactive
mode to tune antennas and SDR gain.

  • Add options to display distance and bearing in interactive mode

    Distance and bearing instead of latitude and longitude can now be
    displayed in interactive mode using the following options to
    dump1090-fa and view1090-fa.

    --interactive-show-distance Show aircraft distance and bearing
    instead of aircraft lat/lon
    (requires --lat and --lon)
    --interactive-distance-units Distance units ('km', 'sm', 'nm')
    (default: 'nm')"

    You have to specify a reference --lat and --lon for this to
    work of course.

  • A new line now shows at the top of the interactive display that
    has for the current sample:

    Total valid aircraft count
    Vidible aircraft count
    Will be less than total if the screen hasn't enough lines to show
    them all.
    Max RSSI
    Min RSSI
    Mean RSSI
    Max Distance

Tot: 47 Vis: 47 RSSI: Max 25.4+ Mean -29.5 Min -36.9- MaxD: 197.3nm+

  • Add max distance and min/max RSSI indicators

    A '+' after the distance in a row indicates it's the row with the
    maximum distance.

    A '+' after the RSSI in a row indicates it's the row with the highest
    RSSI.

    A '-' after the RSSI in a row indicates it's the row with the lowest
    RSSI.

    The summary line at the top of the screen always shows the values for
    ALL aircraft, even those not visible. The row indicators only mark
    visible rows though.

    In this example, the first aircraft is both the farthest away and has
    the weakest RSSI. The second aircraft has the strongest RSSI.

 Tot:  47 Vis:  47 RSSI: Max 25.4+ Mean -29.5 Min -36.9-  MaxD:  197.3nm+     -
 Hex    Mode  Sqwk  Flight   Alt    Spd  Hdg  Dist(nm) Bearing  RSSI  Msgs  Ti
────────────────────────────────────────────────────────────────────────────────
 A8D5A4 S2                   34000  438  252   197.3+      85  -36.1-   26  2
 A39A13 S2ac  5740  FFT525   30750  439  256    98.8       68  -25.4+  123  0
 A70B23 S2ac  2744  LXJ553   43000  419  258   136.1       39  -33.6   174  0
  • Finally, a new option '--interactive-callsign-filter' has been added
    to allow filtering interactive by callsign. The value can be a
    simple string, in which case aircraft with that string anywhere in its
    callsign will be displayed, or a regular expression should you want a
    more precise match.

    Examples:
    --interactive-callsign-filter UAL
    will match all aircraft with UAL anywhere in its callsign.
    --interactive-callsign-filter "^UAL"
    will match only those callsigns that start with UAL.
    --interactive-callsign-filter "^(UAL|AAL)"
    will match only those callsigns that start with UAL or AAL.
    --interactive-callsign-filter "^N[0-9]" or "^N[[:digit:]]"
    will match only those callsigns that start with "N" and a number

    If you need more info on regular expressions, see this link:
    https://en.wikipedia.org/wiki/Regular_expression

Copy link

@mutability mutability left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good to me, some minor changes that would be nice to have.

A couple of general comments:

  • is regex.h sufficiently universal? (From a quick look it's present on OS X , and has a BSD-derived manpage so it's probably available on *BSD too, so.. probably yes?)
  • we're midway through a package release so it'll be a week or so before I can merge this

interactive.c Outdated Show resolved Hide resolved
interactive.c Outdated Show resolved Hide resolved
interactive.c Outdated Show resolved Hide resolved
@gtjoseph
Copy link
Author

We use regex.h in our projects that also have to compile on bsd and macos.
https://asterisk.org
https://github.com/asterisk/asterisk

@gtjoseph
Copy link
Author

gtjoseph commented Sep 28, 2020

Oops... Don't merge this yet. I think there's a display bug.

False alarm. It's working correctly. I just hadn't updated the repo on my piaware feeder. :)

track.c Outdated Show resolved Hide resolved
These updates were designed to assist those using interactive
mode to tune antennas and SDR gain.

* Add options to display distance and bearing in interactive mode

  Distance and bearing instead of latitude and longitude can now be
  displayed in interactive mode using the following options to
  dump1090-fa and view1090-fa.

  --interactive-show-distance   Show aircraft distance and bearing
                                instead of aircraft lat/lon
                                (requires --lat and --lon)
  --interactive-distance-units  Distance units ('km', 'sm', 'nm')
                                (default: 'nm')"

  You have to specify a reference --lat and --lon for this to
  work of course.

* A new line now shows at the top of the interactive display that
  has for the current sample:

  Total valid aircraft count
  Vidible aircraft count
     Will be less than total if the screen hasn't enough lines to show
     them all.
  Max RSSI
  Min RSSI
  Mean RSSI
  Max Distance

 Tot:  47 Vis:  47 RSSI: Max 25.4+ Mean -29.5 Min -36.9-  MaxD:  197.3nm+

* Add max distance and min/max RSSI indicators

  A '+' after the distance in a row indicates it's the row with the
  maximum distance.

  A '+' after the RSSI in a row indicates it's the row with the highest
  RSSI.

  A '-' after the RSSI in a row indicates it's the row with the lowest
  RSSI.

  The summary line at the top of the screen always shows the values for
  ALL aircraft, even those not visible.  The row indicators only mark
  visible rows though.

  In this example, the first aircraft is both the farthest away and has
  the weakest RSSI.  The second aircraft has the strongest RSSI.

 Tot:  47 Vis:  47 RSSI: Max 25.4+ Mean -29.5 Min -36.9-  MaxD:  197.3nm+     -
 Hex    Mode  Sqwk  Flight   Alt    Spd  Hdg  Dist(nm) Bearing  RSSI  Msgs  Ti
────────────────────────────────────────────────────────────────────────────────
 A8D5A4 S2                   34000  438  252   197.3+      85  -36.1-   26  2
 A39A13 S2ac  5740  FFT525   30750  439  256    98.8       68  -25.4+  123  0
 A70B23 S2ac  2744  LXJ553   43000  419  258   136.1       39  -33.6   174  0

* Finally, a new option '--interactive-callsign-filter' has been added
  to allow filtering interactive by callsign.  The value can be a
  simple string, in which case aircraft with that string anywhere in its
  callsign will be displayed, or a regular expression should you want a
  more precise match.

  Examples:
    --interactive-callsign-filter UAL
      will match all aircraft with UAL anywhere in its callsign.
    --interactive-callsign-filter "^UAL"
      will match only those callsigns that start with UAL.
    --interactive-callsign-filter "^(UAL|AAL)"
      will match only those callsigns that start with UAL or AAL.
    --interactive-callsign-filter "^N[0-9]" or "^N[[:digit:]]"
      will match only those callsigns that start with "N" and a number

  If you need more info on regular expressions, see this link:
  https://en.wikipedia.org/wiki/Regular_expression
Copy link

@mutability mutability left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, thanks! It will be a little while before I can merge this, need to wait for the 4.0 release to happen first.

interactive.c Show resolved Hide resolved
@mutability mutability merged commit 016cb8f into flightaware:dev Oct 1, 2020
@mutability
Copy link

Merged, thanks for these changes!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants