diff --git a/README.md b/README.md index 5378410..d895faa 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ Junco is an engine and air data front end for aircraft that existing open avioni | Project | What it does | How Junco relates | |---|---|---| -| [Open Checklists](https://openchecklists.net) | Aircraft profiles and checklists for Part 103 and experimental aircraft | Junco reads aircraft profiles from here. The profile format specification lives in that repository; `spec/aircraft-profile.md` redirects to it | +| [Open Checklists](https://openchecklists.net) | Aircraft profiles, and a machine-readable checklist library with provenance and verification state, for Part 103 and experimental aircraft | Junco reads aircraft profiles from here, and consumes the checklist, preflight-log and pilot-logbook schemas defined there. Both formats and all of that tooling live in [that repository](https://github.com/allenmcghan/openchecklists); `spec/aircraft-profile.md` redirects to it | | [MakerPlane](https://github.com/makerplane) | FIX-Gateway data broker, pyEFIS display, CAN-FIX bus protocol for experimental aircraft | Junco publishes into FIX-Gateway through a plugin, so pyEFIS can display Junco data. CAN-FIX is the bus candidate for v2 | | [Stratux](https://github.com/cyoung/stratux) | Dual band ADS-B receiver on a Raspberry Pi | Junco does not receive ADS-B. Traffic comes from a receiver the pilot already owns | | [AP_Periph](https://dronecan.github.io/Implementations/AP_Periph/) | ArduPilot's DroneCAN peripheral node firmware | A candidate for the v2 bus stage. Not used in v1: no BLE, STM32 only, and no thermocouple or ignition-pulse tach support | diff --git a/spec/aircraft-profile.md b/spec/aircraft-profile.md index ea867b7..896fa48 100644 --- a/spec/aircraft-profile.md +++ b/spec/aircraft-profile.md @@ -10,6 +10,21 @@ The aircraft profile format is defined and versioned in the openchecklists project, which also hosts profiles for common Part 103 and experimental aircraft and the checklists that accompany them. +Two formats live there, and they are deliberately different. **Aircraft +profiles are TOML**: hand-edited hardware configuration, no upstream document +to cite. **Checklists are JSON** against a published schema, because a +checklist carries a source and a verification state that has to survive being +converted to every other format. Junco consumes both, plus the preflight-log +and pilot-logbook schemas: + +- **Checklist schema:** [schema/open-checklist-1.0.schema.json](https://github.com/allenmcghan/openchecklists/blob/main/schema/open-checklist-1.0.schema.json) +- **Preflight log:** [schema/open-checklist-log-1.0.schema.json](https://github.com/allenmcghan/openchecklists/blob/main/schema/open-checklist-log-1.0.schema.json) +- **Pilot logbook:** [schema/open-logbook-1.0.schema.json](https://github.com/allenmcghan/openchecklists/blob/main/schema/open-logbook-1.0.schema.json) + +Checklist phase identifiers are stable and semantic, which is the property +Junco depends on: it is what lets the app map a checklist section to a moment +in flight rather than to a page number. + Junco firmware and the Android app implement the current schema version of that specification. Incompatible schema version changes will be tracked in the Junco changelog.