This repository contains code used for flight software for Nakuja Rocket N2. The following description provides a detailed
description of program flow, project structure, library dependencies and/or any other necessary documentation needed to run this
code successfully.
├── data
│ └── flightdata.txt
├── include
│ ├── checkState.h
│ ├── defs.h
│ ├── functions.h
│ ├── kalmanfilter.h
│ ├── logdata.h
│ ├── readsensors.h
│ └── transmitwifi.h
├── lib
│ └── README
├── LICENSE
├── platformio.ini
├── README.md
├── src
│ └── main.cpp
└── test
└── README
| Folder |
Description |
| include |
Contains header files |
| lib |
Project libraries |
| src |
Contains main.cpp source file run by the flight computer |
| test |
Contains unit test files |
| File |
Description |
| defs.h |
Contains constants declaration |
| functions.h |
Contains general utility functions and prototype function declarations |
| logdata.h |
code for SD card mounting and logging |
| checkState.h |
Contains state machine logic |
| kalmanfilter.h |
Contains kalman filter for accelerometer values |
| readsensors.h |
Contains code for sensors on board including the MPU,BMP,GPS |
| transmitwifi.h |
Contains WiFi set-up and MQTT code |
The flight program is structured as a state machine with the following states: adopted from BPS space
| State |
Description |
Waiting for event |
| 0 |
Pre-Flight Ground |
altitude >= 20m AGL |
| 1 |
Powered Flight |
acceleration <= 2m/s2 for 0.1s |
| 2 |
Coasting |
velocity < 0 to detect apogee |
| 3 |
Apogee |
20m below apogee to deploy parachute |
| 4 |
Chute Descent |
altitude <= 20m AGL |
| 5 |
Post-flight Ground |
No more events |