Commit Graph

2980 Commits

Author SHA1 Message Date
Andy Piper 2415c2998b AP_HAL_ChibiOS: allow dshot to be used even if bdshot was specified.
correct zero handling in bdshot decoding
2023-12-18 19:02:52 +11:00
Andy Piper 8c03c9e4bf AP_HAL_ChibiOS: cache values of io_dshot() and io_enabled()
enabled shared_up_dma to be fully compiled out
address some minor review comments
2023-12-18 19:02:52 +11:00
Andy Piper a5b6c3b5ef AP_HAL_ChibiOS: utility to print out bdshot encoded data 2023-12-18 19:02:52 +11:00
Andy Piper 9f30d01561 AP_HAL_ChibiOS: bdshot for f103 iofirmware
add support to tell if shared DMA channel is actually shared
avoid starting and stopping the timer peripheral with bdshot
ensure that rcout DMA allocation and deallocation happens entirely within the lock
increase rcout thread working area for bdshot
fix mode mask that is sent to the iomcu
ensure iomcu rcout thread gets timeouts for callbacks
control bdshot input and output line levels on f103
use input capture channel pairs to read rising and falling edges of telemetry on f103
reset channel pairs together on iomcu
generalize the bdshot input path to support suitable buffer sizes for iomcu
generalize DMAR reading of CCR registers to read two at a time on iomcu
enable bi-directional dshot channels on PWM1-4 on iomcu
add methods to directly access erpm values from rcout
update erpm mask and esc telemetry correctly for firmware supporting dshot
add support for propagating bdmask to iomcu
dshot commands to all channels need to be aware of iomcu
ensure esc type is propagated to iomcu
cope with iomcu channel numbering when using EDT
ensure pwm driver is reset properly for dshot commands on iomcu
correctly reset pwm for dshot commands
correctly mask off bdshot bits going to iomcu
don't reset GPIO modes on disabled lines
don't reset pwm_started when sharing DMA channels
set thread name on iomcu rcout and reduce stack size on iomcu
ensure that bdshot pulses with no response are handled correctly
correctly setup DMA for input capture on f103
deal with out of order captured bytes when decoding bdshot telemetry
ensure DMA sharing on f103 does not pull lines low
only disable the timer peripheral when switching DMA channels on iomcu
add support for waiting for _UP to finish before proceeding with dshot
re-order iomcu dshot channels to let TIM4_UP go first
ensure that a cascading event will always come when expected on rcout
allow timeouts when using cascading dshot
always rotate telemetry channel after trying to capture input
cater for both in order and out-of-order bdshot telemetry packets
cope with reversed packets when decoding bdshot telemetry
ensure UP DMA channel is fully free on iomcu before starting next dshot cycle
refactor rcout for iofirmware into separate file
2023-12-18 19:02:52 +11:00
tomas.vrsansky e6feebb2fb AP_HAL_ChibiOS: add hwdef files for Airvolute DCS2 onboard FMU
added ethernet config to hwdef
updated readme.md
hwdef: MAC parameters redefined according to ChibiOS
hwdef: add default params for Airvolute DCS2 on board FMU
update according to new changes in ChibiOS MAC driver
added defines to support ethernet communication
bootloaders: Airvolute-DCS2
2023-12-12 11:09:09 +11:00
Andrew Tridgell a4fb05de95 HAL_ChibiOS: increase LWIP windows
now getting 6.8MByte/s with NET_TESTS=4
2023-12-11 18:00:38 +11:00
Andrew Tridgell 28885dca4c HAL_ChibiOS: adjust buffer sizes
this fixes issues with TCP accepts being lost in web server
2023-12-11 18:00:38 +11:00
Andrew Tridgell f603f045b5 HAL_ChibiOS: make lwip debugging easier
use ap_networking_printf wrapper
2023-12-11 18:00:38 +11:00
Andrew Tridgell 436c60c7de HAL_ChibiOS: defaults to 50 socket limit
makes for more useful web server
2023-12-11 18:00:38 +11:00
bugobliterator 00a65632eb AP_HAL_ChibiOS: add support for swapping ICM42688 with ICM45686 2023-12-06 13:34:52 +11:00
bugobliterator e34e9c61aa AP_HAL_ChibiOS: disable core m4 use to silence the chibios asserts
checking allocation of peripherals
2023-12-06 13:31:26 +11:00
Andy Piper cca8f8219a hwdef: new variant of KakuteH7 using ICM42688 2023-12-05 11:41:08 +11:00
Andy Piper 0cc5cf7d2d AP_HAL_ChibiOS: allow betaflight converter to run on output from "dump hardware" 2023-12-05 11:38:53 +11:00
Martin Luessi 6e417f1d0c RADIX2HD: Set HAL_I2C_INTERNAL_MASK 2023-12-05 11:37:57 +11:00
jfbblue0922 c16e1a28df AP_HAL_ChibiOS/hwdef: changed defaults parm in JFB110 board definition
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2023-11-28 15:58:53 +09:00
Andrew Tridgell f471732aad HAL_ChibiOS: enable SO_REUSEADDR 2023-11-28 12:18:55 +11:00
Andrew Tridgell 0659ab8ef4 HAL_ChibiOS: increase max TCP resources 2023-11-28 12:18:55 +11:00
Henry Wurzburg d9d5e91110 hwdef: update SDH7V1 readme 2023-11-28 11:47:32 +11:00
daniel.li e6b7daa323 AP_HAL_ChibiOS: Add Aocoda-RC-H743Dual target 2023-11-28 10:29:23 +11:00
Thomas Watson 87fef1ae5d AP_HAL_ChibiOS: use get_HAL_mutable() to install new CAN interfaces
Avoids dubious extern redefinition.
2023-11-28 08:24:25 +11:00
Thomas Watson a9ddadee3b AP_HAL_ChibiOS: introduce get_HAL_mutable() to complement get_HAL()
Returns a mutable reference to the same HAL for certain purposes where
the HAL needs to be mutated to avoid UB problems with casting away const
and to make the fact that mutation is happening obvious.
2023-11-28 08:24:25 +11:00
Tom Pittenger 1f7b4d0938 AP_HAL_ChibiOS: set AP_BATTERY_WATT_MAX_ENABLED 0 for minimize 2023-11-26 11:57:14 +11:00
Tom Pittenger cd6a656acf AP_HAL_ChibiOS: set AP_BATTERY_WATT_MAX_ENABLED 0 for periph 2023-11-26 11:57:14 +11:00
Peter Barker 27f836b66e hwdef: correct ARK_CANNODE compilation
this was turning SPI on when there aren't any devices...
2023-11-25 13:47:13 -08:00
alexklimaj ddba794420 hwdef: ark_rtk_gps fix safety led 2023-11-25 13:45:56 -08:00
Peter Barker e9fc99b1bf AP_HAL_ChibiOS: base HAL_USE_SPI on devices not buses
fixes compilation problem with gcc 10.3

../../libraries/AP_HAL_ChibiOS/SPIDevice.cpp: In static member function 'static void ChibiOS::SPIDeviceManager::__static_initialization_and_destruction_0(int, int)':
../../libraries/AP_HAL_ChibiOS/SPIDevice.cpp:76:18: error: statement has no effect [-Werror=unused-value]
   76 | ChibiOS::SPIDesc SPIDeviceManager::device_table[] = { HAL_SPI_DEVICE_LIST };
      |                  ^~~~~~~~~~~~~~~~
compilation terminated due to -Wfatal-errors.
cc1plus: some warnings being treated as errors
2023-11-22 18:14:00 +11:00
Peter Barker 15e0f689c2 AP_HAL_ChibiOS: correct AP_Filter defines
- checking the build type is very rarely used and definitely not required here
 - fix boilerplate to conform to normal pattern of including the config header and #if'ing based on the _ENABLED directly after that
2023-11-21 21:13:42 +11:00
Andy Piper 229916a48c AP_HAL_ChibiOS: enable serial LEDs on ARK_CANNODE 2023-11-20 19:23:06 +11:00
Andy Piper 73610c8932 AP_HAL_ChibiOS: return success status from serial_led_send and set_serial_led_rgb_data 2023-11-20 19:22:20 +11:00
Andy Piper b7fd04318a AP_HAL_ChibiOS: fix race condition in sending serial LED data 2023-11-20 19:22:20 +11:00
Andrew Tridgell 2ba4bf1478 HAL_ChibiOS: allow for --disable-networking 2023-11-17 10:54:24 -08:00
Andrew Tridgell 6bf3debe73 HAL_ChibiOS: default disable ICE in periph 2023-11-17 13:09:02 +11:00
Tom Pittenger ac16f10ecd AP_HAL_ChibiOS: hwdef kha_eth to show SerialManager params 2023-11-16 10:58:50 -08:00
Jonathan Loong 16c55a3bc1 AP_HAL_ChibiOS: Add in CarbonixF405 QMC5883P compass enable 2023-11-15 10:53:38 +11:00
Jonathan Loong 8d64d5215e AP_Periph: CarbonixL496 crystal hwdef changes 2023-11-15 10:53:38 +11:00
Andy Piper 7639761d28 AP_HAL_ChibiOS: correct neopixel bitwidth
Use 64-bit timestamps for dshot send checks
2023-11-14 11:06:25 +11:00
Henry Wurzburg 4681e5fba6 hwdef:correct JFB110 defaults 2023-11-14 10:55:33 +11:00
Andrew Tridgell 2f9bfb648f HAL_ChibiOS: default RTS pins to PULLDOWN
this avoids issues with SiK and RFD900x radios getting stuck in
bootloader mode due to a high RTS pin on power on.

We did this for Pixhawk6C in this PR:
https://github.com/ArduPilot/ardupilot/pull/24169

this now applies it to all boards
2023-11-12 07:26:50 +11:00
Cedric0489 95dbb7a3f5 AP_HAL_ChibiOS: added PixPilot-C3 2023-11-10 17:14:18 +11:00
Henry Wurzburg ba76d4e2f9 hwdef:save flash on FlywooF405S-AIO 2023-11-09 12:49:13 +11:00
Andrew Tridgell 7b6ad15f90 hwdef: make f103-QiotekPeriph a single compass
dual compass periph is not supported
2023-11-08 18:34:41 +11:00
Peter Barker d2a3fed4a1 hwdef: AP_BATTERY_ESC_ENABLED needs HAL_WITH_ESC_TELEM 2023-11-08 18:05:55 +11:00
yjuav f7dd6dec96 hwdef: add YJUAV_A6SE_H743 board support 2023-11-07 10:31:20 +11:00
jfbblue0922 7d4d2f98bf AP_HAL_ChibiOS: corrected analog input pin number 2023-11-02 19:08:09 +11:00
bugobliterator 5bd5aa87a7 AP_HAL_ChibiOS: add CubeNode pinout diagram 2023-11-01 14:18:02 +00:00
Andy Piper 2bef8f2cad AP_HAL_ChibiOS: add support for SpeedyBeeF405v4 2023-11-01 19:25:19 +11:00
Andrew Tridgell cd3eab3c5d hwdef: support Holybro Pixhawk6X_Rev6 2023-10-31 10:42:25 +11:00
Andrew Tridgell 6173726846 HAL_ChibiOS: fail on badly formed SPIDEV line 2023-10-31 10:42:25 +11:00
Peter Barker 9dbd6f335a hwdef: minimize_features on mini-pix, not minimize_fpv_osd 2023-10-31 09:13:01 +11:00
Henry Wurzburg e474305c6d hwdef:free flash for space critical bds 2023-10-28 13:32:19 +11:00
Peter Barker f70a510c6b AP_HAL_ChibiOS: move AP_BOOTLOADER_FLASHING_ENABLED default to AP_HAL
.... need the defines on HALs other than ChibiOS
2023-10-27 14:16:47 +11:00
Peter Barker 90607ffa5f hwdef: remove payload place from minimized boards 2023-10-27 14:15:53 +11:00
Peter Barker ba72b7edfd hwdef: fix speedybeef4v3 build
double-definition
2023-10-26 18:15:30 +11:00
Peter Barker 8e5708b6f2 speedybeef4: remove redefinition of AP_BATTERY_SYNTHETIC_CURRENT_ENABLED 2023-10-26 18:15:30 +11:00
Peter Barker f5045384cf hwdef: correct ReaperF745 build 2023-10-26 18:15:30 +11:00
Peter Barker b757319245 hwdef: fix KakuteF4Mini build
redefinition
2023-10-26 18:15:30 +11:00
Peter Barker 38db3d8cbc hwdef: fix F35Lightning build
.... and remove redundantdefine
2023-10-26 18:15:30 +11:00
Andy Piper 9ba9553d96 AP_HAL_ChibiOS: NFC refactor of dshot/bdshot in preparation for bdshot on iomcu 2023-10-25 19:30:35 +11:00
Andy Piper fee43af729 AP_HAL_ChibiOS: enable highres sampling on CubeOrangePlus 2023-10-25 19:23:11 +11:00
Peter Barker b86c5b7eea hwdef: remove unused HAL_NO_LOGGING define from hwdefs 2023-10-25 19:17:18 +11:00
Peter Barker 28e89505fe hwdef: remove redundant HAL_GCS_ENABLED lines 2023-10-25 19:17:18 +11:00
Peter Barker 6152059843 hwdef: rearrange FlyingMoonH743 IMU order 2023-10-25 09:47:43 +11:00
Peter Barker 782b51b89b hwdef: rearrange FlyingMoonF427 IMU order 2023-10-25 09:47:43 +11:00
Tom Pittenger 4dc9d1ebc7 AP_HAL_ChibiOS: enable scripting on CubeOrange-periph-heavy 2023-10-23 22:44:35 -07:00
Henry Wurzburg 5c546dedcb hwdef:include minimal in minimize_common 2023-10-24 12:20:41 +11:00
Andy Piper 51793ef5ca hwdef: bugfixes for BETAFPV-F405 2023-10-24 11:44:54 +11:00
Martin Luessi 0970cb29c7 AP_HAL_ChibiOS: RADIX2HD Probe external I2C compasses 2023-10-24 10:44:57 +11:00
Martin Luessi 04564882fa AP_HAL_ChibiOS: Add UART7 to RADIX2HD target 2023-10-24 10:05:57 +11:00
Michael du Breuil 0739f0839f AP_HAL_ChibiOS: Add sw-spar-f407 periph target 2023-10-24 09:48:13 +11:00
bugobliterator fd319c6b2c AP_HAL_ChibiOS: fix setting APP_RAM size
also allows passing APP_RAM_START index through hwdef
2023-10-23 10:43:42 +11:00
Peter Barker 5b34a9bf13 hwdef: remove redundant MODE_TURTLE_ENABLED
this is defined later in the file
2023-10-19 20:53:28 +11:00
AerofoxTech 63f28b6720 hwdef: To adapt the rotation directionof the QMC5883L on new Aerofox-Airspeed-DLVR 2023-10-18 19:50:46 +11:00
AerofoxTech c0780a45c1 hwdef: Adapt the rotation direction of the QMC5883L 2023-10-18 19:50:10 +11:00
bugobliterator 1ae842e4ed AP_HAL_ChibiOS: add option to set HAL_SPI_SCK_SAVE_RESTORE 2023-10-18 19:25:19 +11:00
bugobliterator 6c13d7bee9 AP_HAL_ChibiOS: fix mode setting for ICM45686 on CubeOrangePlus 2023-10-18 19:25:19 +11:00
bugobliterator 57f6f8e34d AP_HAL_ChibiOS: add support for saving and restoring SCK pin state
when SPI goes into undefined state during reset
2023-10-18 19:25:19 +11:00
Andy Piper 7a937cd23a AP_HAL_ChibiOS: correct printing of timer information 2023-10-18 18:01:48 +11:00
Henry Wurzburg 42d4b2671b hwdef:fix bug in AtomRCF405NAVI,fix some bds that aren't building 2023-10-17 18:21:04 +11:00
Iampete1 e736d5ecb7 AP_HAL_ChibiOS: hwdef: scripts: defaults_periph: disable unused libaries by defualt 2023-10-17 10:23:20 +11:00
muramura e0a012919c hwdef: Cite CubeOrange-SimOnHW as the default file 2023-10-14 17:55:56 +11:00
Peter Barker 4b0958fb4f hwdef: correct compilation of CubeOrange-SimOnHW
../../libraries/AP_InertialSensor/AP_InertialSensor_config.h:20:2: error: #error "INS_AUX_INSTANCES must be zero if INS_MAX_INSTANCES is less than 3"
   20 | #error "INS_AUX_INSTANCES must be zero if INS_MAX_INSTANCES is less than 3"
      |  ^~~~~
2023-10-13 17:26:35 +11:00
jfbblue0922 0f1e766269 AP_HAL_ChibiOS: JFB110 board definition
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2023-10-12 17:03:04 +11:00
Peter Barker 28d827cedc AP_HAL_ChibiOS: add RTC support to GPS periphs that log
this re-adds support for RTC into GPS peripherals that also log.  This was removed as these boards were calling methods on the nullptr
2023-10-11 19:17:27 +11:00
Peter Barker cf96791fe2 AP_HAL_ChibiOS: add and use HAP_PERIPH_ENABLE_RTC 2023-10-11 19:17:27 +11:00
Peter Barker 53f4709a78 AP_HAL_ChibiOS: disable RTC on periphs
the singleton isn't instantiated
2023-10-11 19:17:27 +11:00
Henry Wurzburg 912a088c2b hwdef: Create correct README and add defaults to ease setup 2023-10-11 19:11:16 +11:00
muramura 007c3460ea AP_ChibiOS: Delete the same definition 2023-10-11 14:42:32 +11:00
rishabsingh3003 5897aab566 hwdef: add MatekL431 ADSB Periph 2023-10-09 16:18:13 -07:00
thu5cob 49d7d0b1c4 HAL_ChibiOS: Fix stm32l4+ flash issue
stm32l4+ flash reset register has been reset properly
2023-10-06 14:52:34 +11:00
Henry Wurzburg de7dd9d692 hwdef:add VTX power control to SpeedyBeeF405-Wing 2023-10-06 14:51:52 +11:00
Peter Barker 3b2dec7ec6 hwdef: CubeOrangePlus: build abin files
... for use with flash-from-SD-card
2023-10-05 18:55:48 +11:00
alexklimaj e1b991a84a hwdef: ARKV6X ADIS16507 example 2023-10-05 08:21:50 +11:00
Peter Barker fe9932855b hwdef: HerePro requires AHRS to compile 2023-10-04 18:10:58 +11:00
Andy Piper 9ff3d21c20 AP_HAL_ChibiOS: add support for NeoPixelRGB 2023-10-04 18:06:17 +11:00
Andrew Tridgell da0870f616 HAL_ChibiOS: enable mavlink bindings for ADSB periph 2023-10-02 21:45:28 +11:00
Peter Barker e2975a67e7 AP_HAL_ChibiOS: use AP_GPS_ENABLED to exclude more code when GPS not compiled in 2023-09-27 16:38:15 +10:00
Peter Barker 0824eca776 AP_GPS: use AP_GPS_ENABLED to exclude more code when GPS not compiled in 2023-09-27 16:38:15 +10:00
Andy Piper 82452758b4 AP_HAL_ChibiOS: write out serial ports that are available when configuring 2023-09-26 11:31:08 +10:00
James O'Shannessy 70bee8e67a AP_HAL_ChibiOS: Explicitly include InternalError
Debug builds utilise internal error in the Util class.

The include was being passed up from Logger->LoggerMessageWriter->LoggerBackend->Bitmask.
Periph Builds tend not to have HAL_LOGGING_ENABLED, and so the include was not present.
2023-09-20 19:51:48 +10:00
Andy Piper 36fc7521ea AP_HAL_ChibiOS: modify prescaler based on dshot type 2023-09-20 17:35:44 +10:00