flight-tracker 0.2.1

ADSB flight tracker
Documentation
# flight-tracker

[![Crate](https://img.shields.io/crates/v/flight-tracker.svg)](https://crates.io/crates/flight-tracker)
[![Documentation](https://docs.rs/flight-tracker/badge.svg)](https://docs.rs/flight-tracker)
![Build Status](https://github.com/asmarques/flight-tracker/workflows/CI/badge.svg)

Keep track of aircraft using ADSB messages.

## Usage

### As an application

Connect to a receiver which emits frames in AVR format:

`flight-tracker tcp 127.0.0.1 30002`

The received ADSB messages will be used to update a table of current aircraft positions:

```
  icao       call      alt    hdg    gs       vr           lat/lon  squawk  last
--------------------------------------------------------------------------------
39E687    AF1180      1750    269   192     -512  51.4655, -0.2349    0650     0
4CAFD3    FR1885     17800     25   341     -960  51.3663, -0.3822    2276     0
```

### As a library

If you want to integrate the tracker into your application, create a new instance:

```rust
let tracker = Tracker::new();
```

Continuously feed it with ADSB messages from a receiver:

```rust
loop {
    ...
    tracker.update_with_avr("*8D4840D6202CC371C32CE0576098;");
    ...
}
```

Get the list of current aircraft:

```rust
let interval = Duration::from_secs(60);
let aicraft_list = tracker.get_current_aircraft(&inverval);
```