Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions crates/kinavis-ais/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ assert_eq!(report.heading, None);
# Ok::<(), Box<dyn std::error::Error>>(())
```

The navigation algorithms and the list of the other KINAVIS crates are in
[`kinavis`](https://crates.io/crates/kinavis).

## Feature flags

- `std` *(default)* — standard library maths in the kernel.
Expand Down
3 changes: 3 additions & 0 deletions crates/kinavis-alerts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ assert!(alerts.len() <= MAX_ALERTS);
# Ok::<(), kinavis_kernel::KernelError>(())
```

The navigation algorithms and the list of the other KINAVIS crates are in
[`kinavis`](https://crates.io/crates/kinavis).

## Feature flags

- `std` *(default)* — standard library maths in the kernel.
Expand Down
3 changes: 3 additions & 0 deletions crates/kinavis-colregs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ assert_eq!(format!("{}", ruling.rule()), "Rule 15");
# Ok::<(), kinavis_kernel::KernelError>(())
```

The navigation algorithms and the list of the other KINAVIS crates are in
[`kinavis`](https://crates.io/crates/kinavis).

## Feature flags

- `std` *(default)* — standard library maths in the kernel.
Expand Down
3 changes: 3 additions & 0 deletions crates/kinavis-ins/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@ assert!(ins.heading_sigma().degrees() < 0.5);
# Ok::<(), Box<dyn std::error::Error>>(())
```

The navigation algorithms and the list of the other KINAVIS crates are in
[`kinavis`](https://crates.io/crates/kinavis).

## Feature flags

- `std` *(default)* — standard library maths in the kernel.
Expand Down
3 changes: 2 additions & 1 deletion crates/kinavis-kernel/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ The kernel holds what has exactly one correct implementation. Algorithms
crate (sensor adapters, environment models, INS) depends on the kernel alone, so
adapters change without touching the core.

Most users should depend on `kinavis`, which re-exports these types. Depend on
Most users should depend on [`kinavis`](https://crates.io/crates/kinavis),
which re-exports these types and lists the other KINAVIS crates. Depend on
`kinavis-kernel` directly for an adapter that must not pull in the algorithms.

## Feature flags
Expand Down
3 changes: 3 additions & 0 deletions crates/kinavis-nmea0183/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ translated into a kernel `GnssFix`. The sentence never reaches the domain.
- No allocation: parses `&[u8]` in place.
- No panics: every failure is an `NmeaError`.

The navigation algorithms and the list of the other KINAVIS crates are in
[`kinavis`](https://crates.io/crates/kinavis).

## Feature flags

- `std` *(default)* — standard library maths in the kernel.
Expand Down
3 changes: 3 additions & 0 deletions crates/kinavis-nmea2000/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ assert_eq!(format!("{:.2}", depth.depth_from_reference().unwrap().metres()), "10
# Ok::<(), Box<dyn std::error::Error>>(())
```

The navigation algorithms and the list of the other KINAVIS crates are in
[`kinavis`](https://crates.io/crates/kinavis).

## Feature flags

- `std` *(default)* — standard library maths in the kernel.
Expand Down
3 changes: 3 additions & 0 deletions crates/kinavis-traffic/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@ println!("{} {} at {}", target.target, target.motion.unwrap().course_over_ground
# Ok::<(), kinavis::NavigationError>(())
```

The navigation algorithms and the list of the other KINAVIS crates are in
[`kinavis`](https://crates.io/crates/kinavis).

## Feature flags

- `std` *(default)* — standard library maths in the kernel.
Expand Down
3 changes: 3 additions & 0 deletions crates/kinavis-wmm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ println!("variation {}", field.declination());
# Ok::<(), kinavis_kernel::KernelError>(())
```

The navigation algorithms and the list of the other KINAVIS crates are in
[`kinavis`](https://crates.io/crates/kinavis).

## Feature flags

- `std` *(default)* — standard library maths in the kernel.
Expand Down
2 changes: 1 addition & 1 deletion crates/kinavis/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ documentation = "https://docs.rs/kinavis"
readme = "README.md"
keywords = ["navigation", "marine", "nautical", "compass", "dead-reckoning"]
categories = ["science::geo", "no-std::no-alloc", "algorithms"]
version.workspace = true
version = "1.0.1"
authors.workspace = true
edition.workspace = true
rust-version.workspace = true
Expand Down
17 changes: 17 additions & 0 deletions crates/kinavis/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,23 @@ the type, and every quantity its unit.
The [guide](https://docs.rs/kinavis/latest/kinavis/guide/index.html) walks
through all of it with examples that are compiled and run as tests.

## The KINAVIS crates

`kinavis` holds the algorithms. The other crates bring sensor data in and
build on top of it, each `no_std` and without an allocator:

| Crate | What it does |
|---|---|
| [`kinavis-kernel`](https://crates.io/crates/kinavis-kernel) | the value types, re-exported here; depend on it alone for an adapter that must not pull in the algorithms |
| [`kinavis-nmea0183`](https://crates.io/crates/kinavis-nmea0183) | NMEA 0183 sentences, parsed and written |
| [`kinavis-nmea2000`](https://crates.io/crates/kinavis-nmea2000) | NMEA 2000 parameter groups out of CAN frames, fast-packet included |
| [`kinavis-ais`](https://crates.io/crates/kinavis-ais) | AIS messages: position reports, static and voyage data, aids to navigation |
| [`kinavis-wmm`](https://crates.io/crates/kinavis-wmm) | the World Magnetic Model 2025: magnetic variation at any position |
| [`kinavis-ins`](https://crates.io/crates/kinavis-ins) | a strapdown inertial navigation system with a fifteen-state error filter aided by GNSS and heading |
| [`kinavis-traffic`](https://crates.io/crates/kinavis-traffic) | target tracking from radar and AIS, CPA and TCPA, the avoiding manoeuvre |
| [`kinavis-colregs`](https://crates.io/crates/kinavis-colregs) | the steering and sailing rules of the COLREGs as data |
| [`kinavis-alerts`](https://crates.io/crates/kinavis-alerts) | bridge alert management: alarms, warnings and cautions, with acknowledgement |

## Features

| Feature | Default | What it does |
Expand Down
Loading