Conversation
- Source files are moved into src. - Public headers moved to include for public API.
- Assert can be disabled when `NDEBUG` is defined. - Include file and line in assert_handler for better debug. - Use spin loop to blink led on assertion failure.
- Disable log when `NDEBUG` is defined. - directly wrap esp log macros in header. - Don't need source file anymore.
Refactor core
Renamed lcd to hd44780 for clarity.
- Renamed lcd to hd44780 for better clarity. - The driver is tightly coupled to i2c, but should be fine for now.
Makes it easier to include.
- Added isr so we don't have to poll in button task. - Events are now pushed to a queue with level and timestamp.
Use queue to pass event to uart task.
Pass `i2c_master_bus_handle_t` and `i2c_master_dev_handle_t` into driver instead of using global handle.
- Pass `i2c_master_dev_handle_t` into driver. - Now hd44780 does not depend on i2c driver.
Move drivers init somewhere else.
Refactor drv
Only expose public API.
- Queue is injected when task is initialized. - Changed to use static task. - Updated to use hd44780 api.
Refactor/display module
- Renamed for more clarity. - Prevents naming clash with button module.
Only expose public API.
- Moved from polling to event-driven button handling. - Inject queues into task.
Refactor/button module
Contains all parameters incase we need to display multiple params.
All readings are cached in struct
Display data
- Added drivers directory for hd44780. - Mocks from hd44780 is provided in `test_display`.
Changed to module-based tests.
Unit tests
All dependencies are now injected.
- Changed to `display_queue` instead of `decoded_data_queue`. - Added missing string include for memcpy. - removed if block for queue recieve. - initialized structs to 0.
- Flattened uart read logic. - Renamed function from `read_bytes` to `uart_read_from_isr`. - Increased isr queue size to 40.
- Use fast float division. - Replace hand-written asm decode with C. - ~30% fewer instructions overall.
- Replace hand-written asm with C. - ~30% fewer instructions.
Enable optional fast float division for decode path.
Perf/decode
- Added stop command to stop uart stream. - Simplify parser by removing address read.
- Stop command for old state is send when enter new state. - Send initial empty romid to update display at startup.
Feat/uart
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.