Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
weatherbox:firmware:2016-07-03_review [2016/07/03 21:17] kluong [Future Tasks] |
weatherbox:firmware:2016-07-03_review [2021/09/19 21:59] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== 2016-07-03 Firmware Review ====== | ====== 2016-07-03 Firmware Review ====== | ||
- | **Author:** Kenny Luong | + | **Author:** Kenny Luong\\ |
+ | **Start Date:** 2016-07-03 | ||
===== Current Status ===== | ===== Current Status ===== | ||
- | * Good | + | * Good - firmware builds for all three weatherbox versions and has a user manual |
===== Future Tasks ===== | ===== Future Tasks ===== | ||
Line 14: | Line 15: | ||
* Sleep mode integration | * Sleep mode integration | ||
* Better interface for custom functions | * 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 | ||
+ | |||
+ | |||