I don't think we have a way to explicitly detect if BAT1 or BAT2
"bricks" are correct, so we have to assume they are, and rely on the
voltage/current shown.
Additionally, we can now power cycle sensor power.
- 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>
* adis16507: enhance driver to handle and recover from all failure modes
- Clean up driver
- Add optional hardware reset
- Fix scale and range for 125 deg/s variant
- Handle communication errors when read returns zeroes
- Improved perf counters
* change prints to PX4_DEBUG, define BURST_READ_CMD, do both soft and hard reset, use ScheduleNow instead of 1ms delay, change read/write stall period to SPI_STALL value
* hrt: Fix PPM input on channel 2
The CCMR1_PPM define for PPM input on channel 2 was incorrectly set to 2,
which was setting bits for channel 1 instead of channel 2. This prevented
PPM input from functioning properly on channel 2.
Changed CCMR1_PPM for channel 2 from 2 to (1 << 8), which correctly
configures the CC2S bits for input capture mode on TI2.
This fixes an issue noted in the existing code comment:
"FIXME! There is an interaction in the CCMR registers that prevents
using Chan 1 as the timer and chan 2 as the PPM"
Tested on STM32H743 with PPM input on PC7 (TIM8_CH2).
* rc_input: enable sharing serial and PPM pin
By setting RC_SERIAL_PORT_SHARED_PPM_PIN_GPIO_RX it is now possible to
use the same pin on the STM32 for PPM input as well as serial input.
* boards: Add support for Holybro KakuteH7-Wing
* Added the board configs for encryption, I had to disable smbus and px4 io in the arkv6x
* Added the key generator script
* Added the decryptor, logs are needed for it though
* Added the log download and modified the decryptor
* Quick fixes & README
* Additional modifications & cleanup
* Tested upd connection
Adjusted the log downloader to handle multiple entry responses from the FC
Edited README
* Reverted IP address change
* Added pycryptodome to the requirements.txt
* fixes for log download and decryption
* Removed old log decryptors and updated README
* Pointed the ark borads to the dummy key updated the README accordingly
* Adjusted the folders in README, removed new lines
* Extended command line arguments for all possibilities for description
* Added MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES after heartbeat received to make sure log request is answered in all cases
* Update Tools/log_encryption/README.md
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
* Update Tools/log_encryption/README.md
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
* Update Tools/log_encryption/README.md
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
* Update Tools/log_encryption/README.md
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
* Edited README, changed the serial connection logic and updated logdownload, made decryption a bit easier to understand
* Update Tools/log_encryption/README.md
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
* Removed new lines
* arkv6x: add individual mags to default.px4board
---------
Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
Co-authored-by: Alex Klimaj <alex@arkelectron.com>
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
Signed-off-by: Silvan <silvan@auterion.com>
boards: increase max mission items for boards with >=1kb RAM to 1000
Signed-off-by: Silvan <silvan@auterion.com>
boards: increase NUM_MISSION_ITMES_SUPPORTED for SITL to 10000
Signed-off-by: Silvan <silvan@auterion.com>
Since we have SYS_DM_BACKEND, the user has to option on all boards
to store the mission on the RAM, thus thus define got obsolete.
Signed-off-by: Silvan <silvan@auterion.com>
This configures the RTC clock to use the HSE instead of the not existing
LSE clock which prevents boot waiting for the not existing LSE crystal
for a few seconds on startup.
* 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>
* add sf45 driver to 6xrt
* disable the sf45 driver on rover, since collision prevention is tied with MPC params
---------
Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
* added optical flow to gz bridge
* log high rate sensor data
* it builds
* it builds and publishes, need to figure out build system now
* single library
* rename files
* add gz_msg for proto, fix build, test basic flow impl
* update rate, no blur
* PX4-OpticalFlow impl
* rename OpticalFlowSensor
* rename plugins
* disable gps, add plugin path
* cleanup
* fix plugin path export
* properly add OpticalFlowSystem dependency to gz
* move everything under gz_bridge
* cleanup
* add GZ_VEBOSE
* cleanup model/world build target cmake
* added GZ_DISTRO env, harmonic or ionic
* fix gz transport, unstage ark fpv bootloader
* unstage logged_topics.cpp
* cleanup
* make format
* ci fixes
* fix cmake
* remove required for gz-transport
* use model/world namespace for multi vehicle sim. Make format
* make format
* license
* remove needless member var
* made separate Kconfig for gz_msgs, gz_plugins, and gz_bridge
* move OpticalFlow build to it's own cmake
* fix clang
* cleanup comments
* fix rebase
- Updated to the latest version of the voxl2_io driver from the ModalAI fork.
- Moved to the platform independent Serial driver
- Added voxl2_io driver to the SLPI DSP build