Differences
This shows you the differences between two versions of the page.
weatherbox:firmware:2016-07-03_review [2016/07/03 21:41] kluong |
weatherbox:firmware:2016-07-03_review [2021/09/19 21:59] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== 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 | ||
- | |||
- | 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 | ||
- | |||
- | |||
- | |||