Strikethrough means an item is complete.
- Clear
// TODO:annotations inmain.cppafter discussion - Implement
FlightState-based control loop invoid loop()withswitch()blockAdd goal items to the state vectorDuty cycle goal for fan pods is only != MIN_COMMAND when inPOWERED_ASSENTandBALLISTIC_TRAJECTORYstates
- Place timeout on spinning motors after
POWERED_ASSENTactivated - Save timestamp for each state transition into a global variable
Transition toCALIBRATING_ESC: when arming switch triggered (LOW --> HIGH)Transition toARMED: when 3-second ESC calibration is completeTransition toPOWERED_ASSENT: when IMU sees >2g's of vertical accelerationTransition toBALLISTIC_TRAJECTORY: when IMU sees <2g's of vertical accelerationTransition toCHUTE_DEPLOYED: when IMU sees violent jerk of deployment mechTransition toLANDED: when IMU sees violent jerk of landing
- Implement event tracking, add as detected to state vector
- Decide what events are worth noting down
- Camera recorder via “pressing” the record button?
- Landing buzzer control?
Flight controller (PWM Output)Flight state data loggerImplementCALIBRATINGandDISARMEDstates inFlightStateenum typeRenameON_PADstate toARMED
Verify that pin assignments inconstants.hmatch realityConfigure TravisCIImplement RGB status LED controlAdd debug color for error code to EXTernal LED (activated insetup()if I/O not initialized properly)EXPeriment codesRED when >1gGREEN when within +/- .1gBLUE when negative <0g
EXTernal codesRED when EXC calibration completeGREEN when fans turned onRED when fans off
Create constants for pin assignments and colors inconstants.hImplement helper function to write color to LED already