Refactor/extract external libraries #1
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.
This PR addresses the fact that there are a few classes tucked away inside
ConfigManager.h.It moves
BaseParameter, and it's associated classes, into their own header file. As well as moving the debugging definitions into their own file.This also functions as POC for using the
libdirectory for classes that aren't directly used by users of the library but required byConfigManageritself.We also introduce a few unit tests to help drive some of the changes.
At present these tests require a ESP8266 and ESP32 board to run the tests against. This is due to the requirement of the Arduino library when it comes to using
ArduinoJson.This could be changed to running the tests natively, once
ArduinoJsonis replaced with a JSON library that is not reliant onArduino.hheader file.Swapping out
ArduinoJsonwill allow us to run our tests natively, allowing for our tests to run quicker and not require any boards to run the tests against.We could still use the current setup, so that we can test
ConfigManageragainst real boards, so this seems like a sane step to make to get the library under test.