EEPROM persistent parameters for F4 boards #399
Closed
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 pull request solves rosflight/rosflight_ros_pkgs#144
make BOARD=REVO_EEPROM
instead of default withmake BOARD=REVO
firmware
Makefile withVALID_F4_BOARDS = REVO REVO_EEPROM
the rest is handled in the corresponding chip architecture specificBOARD_DIR
(F4 - airbourne in this case)custom board configurations
that define preprocessor flags that are added toBOARD_CXX_FLAGS =
and in the source code non-compatible libraries and objects are excluded by only instantiating in case of#ifndef
and required packages included with#ifdef PARAM_EEPROM_PERSISTENT
M25P16
by changing theairbourne.h
andairbourne.cpp
uint8_t
of theeeprom
library in theairbourne_f4
submodule (see Update eeprom len argument data type airbourne_f4#63) and replacing the corresponding board memory access functions fromM25P16
toeeprom
Conclusions:
uint32_t
but could also beuint16_t
: future robustness vs optimisationmake BOARD=REVO_EEPROM SERIAL_DEVICE=/dev/ttyACM0 flash
, changing parameters with multiple parameters (One of which e.g.rosservice call /param_set MIXER 2
androsservice call /param_write
, power toggling and verifying mixer withrosservice call /param_get MIXER
)run_tests.sh
failed (see below in the collapsed section of the requested pull request guideline template)google test
suite this helped in case someone else experiences the same problem, just build the local files and copy to/usr/lib
Error: Unrecognised theme name: 'material'.
: missing mkdoc material see and solve withpip install mkdocs-material
.Note: The
.gitmodules
change to the other branch is only to provide the corresponding changes in one place, if everything looks good the.gitmodules
I will rebase interactively and remove the change.Pull Request Guidelines
all pull requests should adhere to the style guide
and should pass the unit tests
Any pull request not adhering to these guidelines will be rejected.
Test results: