2016-07-03 Firmware Review
Author: Kenny Luong
Start Date: 2016-07-03
Current Status
- Good - firmware builds for all three weatherbox versions and has a user manual
Future Tasks
- Remove UART data packet
- Clean up data format
- Test mode - assert a pin to low/high and the mcu will only run through a test routine. Would be useful for testing purposes
- Sleep mode integration
- Better interface for custom functions
- Integration of avr emulator in workflow for testing
- Better non-microcontroller framework to enable offline testing
- Switch toolchains to either a makefile based toolchain or platformio
- Rename repository (currently weatherbox-2)
- Consider pulling some functions out into a library
- Clean up repository (moving average folder and examples should be somewhere else)
- Consider other practices for separating behavior between different versions - maybe surround all of those cases with if statements instead of ifdef, or do both
- Better logging - perhaps we can create a logging module.
- Experiment with timer based logic
- Support for creating dummy data - option to build this out as well
- Use build flags with the toolchain instead of defining things on the top
- Reduce global state
- Remove the LPF module for now - we don't need it
- Overall, reduce system complexity
- Add support for running custom commands (and make sure that those commands aren't too heavy). MCU when asserted on another pin should also automatically go into command mode
- Add better startup check sequence
- debugWire support
Goals suggested by previous firmware team:
- GitHub Issues
- Heatbeat packet
- Time-based sampling
- Command parsing & Execution
- Unit Testing
- Transmit Module
- Utilities Module
- Full Integration
- Error Code Library
- Appropriate error codes for corresponding unit tests
- Schema Changes
- Change sensor data variable types to signed ints
- Update decryption script
- Compilation
- Identify and resolve the warnings given during compilation
Authors
Contributing authors:
Created by kluong on 2016/07/03 21:17.