* Added overloaded get_log_time util for fractional seconds
* Added write_info implementation for double info types
* Save boot time to .ulg via info message key boot_time_utc
* Changed time type from double to uint64_t, formatted
* Fixing get_log_time function doc
* Add tflm to px4 with module
- Add TensorFlow Lite Micro(TFLM) as a library in px4
- Make a module that uses neural network inference for control, which uses TFLM for inference
- Make board config files for PX4 with neural module
* Added neural flight mode
* Add posibility to read of inference times
* Fix comments from review:
- Switch ssh link to https link in submodule
- Remove mc_nn_control from startup
* Add tflm to px4 with module
- Add TensorFlow Lite Micro(TFLM) as a library in px4
- Make a module that uses neural network inference for control, which uses TFLM for inference
- Make board config files for PX4 with neural module
* Added neural flight mode
* Add posibility to read of inference times
* Remove auto start
* Add logging from neural control module
* Fix automatic startup to only be when module is included
* Switch to flight mode registration
* Add docs
* Change min/max/coeff to actual parameters
* add figures to neural network docs
* Switch to e2e network
* Remove toolchain changes and replace with instructions in docs
* Get ready for merge after toolchain upgrade
* switch back to submodule
* Try to figure out cmake
* Get CI working with new toolchain
* Remove fork dependency
* Finalize PR
* fix toolchain inclusion
* Fix ctype_base.h include
* Cleanup includes for TFLM
* Remove redundant std
* Update FW module names in board files
* Fix docs
* Remove cstdlib copy
* Copy header from nuttx
* Prettier, markup, layout
* NeuralControl.msg - update uorb comments to current standard
* Add description to neural topic
* Fix typo
* Typo
* TFLM and Module utitlities
* Neural networks top level
* Update docs
* Add manual control
* Update docs
* Revert the manual control attempt
* Update docs/en/advanced/nn_module_utilities.md
* Add posibility to set trajectory setpoint with manual control
---------
Co-authored-by: Pedro Roque <padr@kth.se>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
Co-authored-by: Ramon Roche <mrpollo@gmail.com>
I'm starting the separate battery info message because no char[32] should be published and logged
at high rate and we need a separate battery info message for static information as discussed.
add RunwayControl messge to pass wheel steering controls to wheel controller
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
Runway takeoff: specify that RWTO_TKOFF is directly applied during takeoff
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
msg/RateCtrlStatus: remove unused wheel_rate_integ field
The wheel rate controller is not run in the moduels that are now
running the MC/FW rate controllers, so thsi field canot be filled.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
wheel rate controller: use speed scaler quadratically on integrator
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
wheel yaw controller: use a time constant of 0.1
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
FW Attitude Controller: lock heading setpoint for wheels to initial heading
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
- split up old module into two, one handling setpoint generation, one control
- add lateral and longitudinal control setpoints topics that can also be
injected from companion computer
- add configuration topics that (optionally) configure the controller
with limits and momentary settings
Signed-off-by: RomanBapst <bapstroman@gmail.com>
* Bidirectional DShot
Co-authored-by: Julian Oes <julian@oes.ch>
* f4/f1 support, not supported
* fix f1 build target
* sanity check timer_channel value, fix CCxNP ifdef, debug stuff
* removed debug code, added define for H7 HAVE_GTIM_CCXNP
* round robin sampling for less than 4 DMA
* unlimited esc_status logging
* dshot: fix formatting
* dshot: add define for number of DMA channels to use
This allows individual boards to override the number of DShot channels
and hence avoid round robin capture of the RPM feedback.
* ARK: enable 4 DMA channels for DShot on 6X
* dshot: publish when all channels are updated
This slows down the ESC_STATUS publication in the case of round robin
capture. E.g. for 800 Hz output with one DMA channel, the ESC_STATUS is
now published at 200 Hz.
* dshot: avoid duplicate publications for bidir and telem
Instead of publishing both bidirectional dshot updates as well as
telemetry updates, we now combine the data from both streams, and
publish whenever we get RPM updates, as the latter arrives with higher
rate, e.g. 200 Hz with round robin, or faster otherwise.
When combining the data, we take RPM from bidirectional dshot, and the
rest from telemetry.
When we have only one of the two, either telemetry or bidirectional
dshot, we just publish that one.
* boards: add ark fpv and pi6x BOARD_DMA_NUM_DSHOT_CHANNELS
* dshot: turn off debug build
---------
Co-authored-by: Julian Oes <julian@oes.ch>
Co-authored-by: alexklimaj <alex@arkelectron.com>
Internal combustion engine control module.
New actuator functions and RPM based start/restart logic.
Not enabled by default.
---------
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
Co-authored-by: Pernilla <pernilla@auterion.com>
move init_logfile_encryption() call after the buffer start_log() call
to have log file already open while storing the header and key data to
the beginning of the file.
* SDLOG_ALGORITHM - AES option not implemented
* Update src/modules/logger/params.c
Co-authored-by: Daniel Agar <daniel@agar.ca>
---------
Co-authored-by: Daniel Agar <daniel@agar.ca>
Improve the slow down effect and add support for speed change in mission mode.
Seperate code related to turning setpoints into motor commands into its own folder and refactor code.
- new parameter EKF2_LOG_VERBOSE to enable (currently enabled by default)
- force advertise topics immediately (based on EKF2_LOG_VERBOSE and per aid source configuration)
- logger optionally log all estimator topics at minimal rate