Abstraction of platform and hardware dependencies for unit testing of Kestrel#24
Merged
Abstraction of platform and hardware dependencies for unit testing of Kestrel#24
Conversation
…onstructor dependency injection pattern
missed a 0x21 instead of 0x20 updated Li710 tests for the direct measuremetn refactor removed haar for testing put haar back in removed haar corectly this time replaced the adr in the diag str fixed observed li710 issues
…cluding Kestrel.cpp
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.
Overview
This PR implements unit testing and step through debugging of Kestrel.cpp independent of any hardware.
Benefits
Allows for faster development and debugging
Allows for direct testing of logic that exists at all levels of the firmware
Allows for faster driver development because drivers are instances of interfaces
Future
Add additional hardware dependencies
Move EEPROM Mock and interface to HAL interface
Move HAL micro level functions to HAL interface
Remove String dependency in Mock Particle.h and use std::string instead of Arduino String
Note
I am not squashing these commits as top leave a better trail of how I developed this, ideally they would be squashed to make the branch look nicer but I think it is better to maintain real history given I am the only one working on this