Skip to content

Commit

Permalink
feat: flyPad Checklists refactor and adaption to A380X (#8593)
Browse files Browse the repository at this point in the history
* Initial working checklists for A32NX and A380X

* Refactor to have the actual checklists outside of EFB for later use in ECL

* Refactored and moved various files

* Refactored using json files (normal Json prototype)

* Refactored using json5 files (prototype)

* Simplified the useState for aircraftChecklists

* Singleton ChecklistProvider

* Cleanup and commenting

* PoC using eval (eval is evil)

* Auto conditions with vars

* Cleanup and commenting

* Troubleshooting github build

* Using strings for auto matching json as data types were not reliable

* Adding more conditions to the A380X checklists

* Adding more conditions to the A32NX checklists

* Refactor, comment and reorganize EFB Checklist code

* Refactor, comment, lint errors and reorganize EFB Checklist code

* GitHub build error fix

* Added table to flight phase LVar

* Added flightphase to checklist definitions

* Added aircraftChecklists to reducer state and simplified handling

* This commit refactors the reducer state in the `checklists.ts` to initialize using the actual aircraft checklist as a template. The 'getAircraftType()' function, hard-coded checklist definitions and 'setChecklistItems' action were removed. In their place, a new 'addTrackingChecklists' action was introduced to dynamically add tracking checklists. Further changes were made in `Efb.tsx` to load and process aircraft checklists accordingly.

* Refactored mapping flight phases to checklists

* Added CHANGELOG.md entry

* Removed TODO comment

* Moved reading the checklists from the  ChecklistProvider to the index.tsx of the aircraft EFB class to make sure it is loaded before any component of the EFB is loaded.

* Fixed regression

* Fixed error message

* Added comment

* Fixed showing checklists as complete/all items complete for checklists not relevant for the current flight phase

* Fixed rudder trim checklist autocheck for A32NX and removed it for A380X as not yet working

---------

Co-authored-by: 2hwk <[email protected]>
  • Loading branch information
frankkopp and 2hwk authored Apr 5, 2024
1 parent 6b12d42 commit 711d93a
Show file tree
Hide file tree
Showing 36 changed files with 2,199 additions and 771 deletions.
1 change: 1 addition & 0 deletions .github/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@
1. [EFB] Fix default value for boarding rate - @tracernz (Mike)
1. [EFB] Added missing localization for SimBridge related settings in SimOptions page - @implasmatbh (Plasma)
1. [FWC] Implement non-cancellable master warning for overspeed and gear not down - @tracernz (Mike)
1. [EFB] Checklist restructure to add more capabilities and use json configs - @frankkopp (Frank Kopp)

## 0.11.0

Expand Down
18 changes: 16 additions & 2 deletions fbw-a32nx/docs/a320-simvars.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,10 +248,24 @@
- Enum
- Contains the numeric flight phase as determined by the FWC
- Input for: systems.wasm
- | Value | Flight Phase |
|--------|------------------|
| 0 | |
| 1 | ELEC PWR |
| 2 | 1ST ENG STARTED |
| 3 | 1ST ENG TO PWR |
| 4 | 80 kt |
| 5 | LIFTOFF |
| 6 | 1500ft (in clb) |
| 7 | 800 ft (in desc) |
| 8 | TOUCHDOWN |
| 9 | 80 kt |
| 10 | 2nd ENG SHUTDOWN |
| &gt; 1 | 5 MIN AFTER |

- A32NX_FWC_SKIP_STARTUP
- Bool
- Set to true in a non-cold and dark flight phase to skip the initial memorization step
- Bool
- Set to true in a non-cold and dark flight phase to skip the initial memorization step

- A32NX_FWC_TOMEMO
- Bool
Expand Down
Loading

0 comments on commit 711d93a

Please sign in to comment.