Andrew Tridgell
54e53ed71c
HAL_ChibiOS: use is_GPIO() instead of BRD_PWM_COUNT
2021-07-22 07:48:12 +10:00
bugobliterator
48b8fdfd48
AP_HAL_ChibiOS: make linecoding objects static arrays
2021-07-21 17:06:41 +10:00
bugobliterator
d1b0438412
AP_HAL_ChibiOS: add support for usb passthrough with baud changes
2021-07-21 17:06:41 +10:00
Michael Oborne
d622aad592
AP_HAL_ChibiOS: add get_usb_baud - support for usb baudrate
2021-07-21 17:06:41 +10:00
honglang
ef109721fe
AP_HAL_ChibiOS: hwdef: reorder CUAV-X7 IMUs
...
adjust the sequence of IMU sensors to have good performance.
2021-07-20 16:10:50 +10:00
Hwurzburg
0f2f6ccc80
AP_HAL_ChibiOS: add Link Quality reporting to RC protocols
2021-07-16 13:27:38 +10:00
Andrew Tridgell
a098c80671
HAL_ChibiOS: use DNA for node allocation on Matek GPS
...
this works as MSP is now active when a DNA server is not found
2021-07-15 14:38:11 +10:00
Andrew Tridgell
db1df9d3a8
HAL_ChibiOS: raise DMA contention threshold for H7
2021-07-15 11:31:55 +10:00
Andrew Tridgell
926d4ad71c
HAL_ChibiOS: implement NOFIFO option for uarts
2021-07-15 11:31:55 +10:00
Andy Piper
60b0df0a25
AP_HAL_ChibiOS: only control widest pulse for dshot and oneshot
2021-07-14 17:50:06 +10:00
Andrew Tridgell
4f32fa537a
HAL_ChibiOS: define HAL_HAVE_HARDWARE_DOUBLE on F765, F777 and H7
2021-07-10 07:20:41 +10:00
Andrew Tridgell
6c712c9001
HAL_ChibiOS: use SRAM1 as first ram segment on H7
...
this is needed to give the linker more than 128k for static variables
with double precision maths.
2021-07-10 07:20:41 +10:00
Andrew Tridgell
4ed0b03f35
HAL_ChibiOS: implement set_RTS/CTS_pin methods
2021-07-09 13:27:57 +10:00
mateksys
40200654af
AP_HAL_ChibiOS: add MatekF765-SE hwdef as a variant of MatekF765-Wing
2021-07-08 13:01:44 +10:00
Andrew Tridgell
dd156d8da6
HAL_ChibiOS: run storage writes at 1kHz not 100Hz
...
The 100Hz update rate means there is a significant chance of an arming
failure after mission upload if you try to arm shortly after the
update.
Each mission item is 15 bytes, so with a 1200 item mission we need to
write 18000 bytes to storage. At 100Hz, with 8 bytes per storage line,
that takes over 22 seconds.
2021-07-07 17:32:21 +10:00
Andy Piper
e9f0c59e61
AP_HAL_ChibiOS: re-enable LEDs on MatekF405-bdshot
2021-07-06 10:10:04 +10:00
Andrew Tridgell
7ac895db77
HAL_ChibiOS: always send zero DShot when disarmed
...
this prevents a misconfigured system (for example SERVOn_REVERSED=1)
from running a motor while disarmed.
See https://discuss.ardupilot.org/t/plane-4-1-0-beta/72434/34?u=tridge
2021-07-03 11:37:28 +10:00
Siddharth Purohit
9b2359b34c
AP_HAL_ChibiOS: allow option to enable ChibiOS features in bootloader
2021-07-02 08:50:16 +10:00
Siddharth Purohit
1a1dd76a4c
AP_HAL_ChibiOS: add initial herepro hwdef
2021-07-02 08:50:16 +10:00
Andrew Tridgell
b4b02b4ffc
HAL_ChibiOS: use nargs='+' for chibios_hwdef.py
2021-07-01 09:33:16 +10:00
willpiper
ce1ee6334f
AP_HAL_ChibiOS: addressed reviewed comments
2021-07-01 09:33:16 +10:00
willpiper
fb4a4e609a
AP_HAL_ChibiOS: added --extra-hwdef option
2021-07-01 09:33:16 +10:00
Siddharth Purohit
245f9d21b3
AP_HAL_ChibiOS: update clock config for FDCAN and External Flash
2021-06-30 19:34:36 +10:00
Siddharth Purohit
28dbbc2bc4
AP_HAL_ChibiOS: do not even initialise empty qspi driver
2021-06-30 19:33:17 +10:00
Siddharth Purohit
d3e081c100
AP_HAL_ChibiOS: add support for entering XIP mode
2021-06-30 19:33:17 +10:00
Siddharth Purohit
263fbbbdb0
AP_HAL_ChibiOS: add echo safe debug flag bouncebuffer
2021-06-30 19:33:17 +10:00
Siddharth Purohit
3b3cc0b194
AP_FlashIface: add initial files for AP_FlashIface library
2021-06-30 19:33:17 +10:00
Siddharth Purohit
c962292bae
AP_HAL_ChibiOS: add support for H757I Evaluation board
2021-06-30 19:33:17 +10:00
Siddharth Purohit
abc26d1993
AP_HAL_ChibiOS: add QSPI Device Driver in HAL
2021-06-30 19:33:17 +10:00
Siddharth Purohit
4cb48da984
modules: update ChibiOS
2021-06-30 19:33:17 +10:00
Siddharth Purohit
0e4fbe7c46
AP_HAL_ChibiOS: allow using internal compasses onboard
2021-06-30 17:06:02 +10:00
Siddharth Purohit
882b01bae3
AP_HAL_ChibiOS: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS
2021-06-24 09:02:42 +10:00
bugobliterator
7e8f11b749
AP_HAL_ChibiOS: allow embedded bootloader to be excluded
...
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2021-06-24 08:36:30 +10:00
Andy Piper
9e99f724e5
AP_HAL_ChibiOS: add 1Hz update_channel_masks()
...
Send dshot commands in update function
2021-06-22 09:55:27 +10:00
Andrew Tridgell
ed93caadd5
HAL_ChibiOS: fixed build of VRUBrain-v51
...
overflowing flash
2021-06-21 16:48:10 -07:00
Andy Piper
3386cbb0df
AP_HAL_ChibiOS: add OREO support to CubeSolo.
...
add back RunCam and Spektrum support to MatekF405-Wing
remove gripper support from MatekF405-Wing
2021-06-16 20:25:58 +10:00
Samuel Tabor
3fc58de7ce
AP_HAL_ChibiOS: Restore soaring on F405-Wing board.
2021-06-16 09:15:03 +10:00
Andy Piper
d36b4bfa3f
AP_HAL_ChibiOS: make sure all MatekF405 bi-dir outputs get a DMA channel
...
only allow (b)dshot on M1-4 to get full DMA on USART3 and UART4
2021-06-15 09:49:02 +10:00
Peter Barker
f780a5c358
AP_HAL_ChibiOS: fix infinite loop for large SPI transfers
...
len is 32 bits; i may integer-wrap back to zero at 65535+1
2021-06-14 09:13:49 +10:00
Dr.-Ing. Amilcar do Carmo Lucas
d363cbadcc
AP_HAL_ChibiOS: Disable un-needed hardware drivers in SkyViper builds
...
these boards have integrated ESCs with no telemetry
2021-06-09 21:42:51 +10:00
Dr.-Ing. Amilcar do Carmo Lucas
8593672f4c
AP_HAL_ChibiOS: fix compilation when HAL_WITH_ESC_TELEM == 0
2021-06-09 21:42:51 +10:00
Tom Pittenger
7a004656a2
AP_HAL_ChibiOS: use HAL_ENABLE_LIBUAVCAN_DRIVERS instead of HAL_MAX_CAN_PROTOCOL_DRIVERS
2021-06-09 18:36:18 +10:00
Tom Pittenger
1feec460c4
AP_HAL_ChibiOS: enable BattMon MPPT PacketDigital to CubeOrange-periph
2021-06-09 18:36:18 +10:00
Tom Pittenger
f764bd6547
AP_HAL_ChibiOS: disable EventSource only when CH_CFG_USE_EVENTS is false
...
(cherry picked from commit 6e7542a70ca2343ab8d18470deaf5fc2d27390af) from bugobliterator
2021-06-09 18:36:18 +10:00
Andrew Tridgell
f09abc705b
HAL_ChibiOS: bring us to 18k free for MatekF405-Wing plane build
2021-06-09 18:07:00 +10:00
Peter Barker
09e82e52e1
AP_HAL_ChibiOS: disable AP_EFI on MatekF405-Wing and omnibusf4pro
2021-06-08 14:08:34 +10:00
Peter Barker
3ba57fed89
AP_HAL_ChibiOS: add support for AP_Logger into AP_Periph
2021-06-08 09:57:55 +10:00
Andrew Tridgell
67fea9f2f8
HAL_ChibiOS: fixed DMA disable on contention
...
this fixes a problem with the automatic DMA disable on DMA contention
in UARTs. This fixes issue #14581
the problem was that while tx_dma_enabled was correctly set to false,
it would keep looping inside write_pending_bytes_DMA() if the data
arrived in the write buffer at a faster rate than it could be sent
out, which did happen with a mavlink stream rate of 4Hz. This means it
kept using DMA even with tx_dma_enabled set to false. The result was
that the automatic flow control code never got a chance to run and we
didn't switch back to non-DMA for these low baudrate contended UARTs
2021-06-05 19:03:03 +10:00
Andrew Tridgell
3128d71aac
HAL_ChibiOS: display uart even when not initialised
...
don't rely on thread allocation for uart info display
2021-06-05 18:52:33 +10:00
Andrew Tridgell
c34d8e80e9
HAL_ChibiOS: fixed serial info indexing for EMPTY uarts
2021-06-05 18:52:33 +10:00
Andrew Tridgell
6fab8feeae
HAL_ChibiOS: implement uart_info per-uart
...
this allows for some UARTs to be of EMPTY type
2021-06-05 18:52:33 +10:00
Andrew Tridgell
135a4d2c83
HAL_ChibiOS: fixed order and labelling of @SYS/uarts.txt
2021-06-05 18:52:33 +10:00
Andrew Tridgell
a895bc1846
HAL_ChibiOS: reduce flash on VRBranin-v51
2021-06-05 13:05:30 +10:00
honglang
847ce3b311
AP_HAL_ChibiOS: CUAV X7/Nora: use icm42688 instead of bmi088
2021-06-03 13:57:27 +10:00
CUAVcaijie
0ff38e1379
HAL_ChibiOS: CUAV ICM20649 on SPI6 bus replaced by ICM20689
...
alternative IMUs for Nora and X7
2021-06-02 10:49:55 +10:00
Andrew Tridgell
8701932670
HAL_ChibiOS: return zeros in dma.txt on first fetch
2021-06-01 11:36:07 +09:00
Andrew Tridgell
5529ba36e2
HAL_ChibiOS: added HolybroGPS AP_Periph port
2021-06-01 09:19:51 +10:00
Andrew Tridgell
23c0f257b6
HAL_ChibiOS: default off serial protocols in AP_Periph
...
this allows for a GPS on high numbered ports
2021-06-01 09:19:51 +10:00
Andrew Tridgell
ac1e03e16a
HAL_ChibiOS: move heater gains on CubeOrange to hwdef.dat
...
this makes it easier for users using apjtool to override params
2021-06-01 08:07:49 +10:00
Andrew Tridgell
244d896bfb
HAL_ChibiOS: enable heater on Pix32v5
2021-06-01 08:07:49 +10:00
bugobliterator
ea1795d6fe
AP_HAL_ChibiOS: ensure ToneAlarm is not disabled when UAVCAN is available
2021-05-31 07:34:02 +10:00
Michael Oborne
126456742a
Hwdef: add Joey
2021-05-27 14:19:55 +10:00
Andrew Tridgell
91dce554d1
HAL_ChibiOS: removed unnecessary USB product IDs from boards
2021-05-27 09:30:30 +09:00
Andrew Tridgell
de3a3f7edf
HAL_ChibiOS: fixed case of Pix32v5 USB product string
2021-05-27 09:30:30 +09:00
Siddharth Purohit
ad9a8c8bd9
AP_HAL_ChibiOS: record error states in CANFDIface and CANIface
2021-05-26 18:25:01 +10:00
Michel Pastor
b083848ae7
AP_HAL_ChibiOS: fix comments
2021-05-26 17:59:04 +10:00
Michel Pastor
a148849ec3
AP_HAL_ChibiOS: RCOutput_serial: fix comment for set_reversible_mask()
2021-05-26 17:59:04 +10:00
Andrew Tridgell
fced5271af
HAL_ChibiOS: expand pin map of G474 to cover 64 pin parts
2021-05-25 09:35:25 +10:00
Andy Piper
a7a9fa93f0
AP_HAL_ChibiOS: correct enabled mask for motor channel output
2021-05-24 07:57:51 +09:00
Dr.-Ing. Amilcar do Carmo Lucas
fc7e242bae
AP_HAL_ChibiOS: Fix typo (NFC)
2021-05-21 09:43:10 +10:00
Peter Barker
79809b60aa
AP_HAL_ChibiOS: rename f103-periph/hwdef.dat to .inc (f303 too)
2021-05-20 17:23:17 +10:00
Siddharth Purohit
5bcc713985
AP_HAL_ChibiOS: add omnibusf4pro config with one compass and gps
2021-05-19 18:04:20 +10:00
Peter Barker
31ef6db937
AP_HAL_ChibiOS: remove redundant HAL_LOGGING_ENABLED from AP_Periph hwdefs
2021-05-19 17:38:47 +10:00
Andrew Tridgell
ebe858f762
HAL_ChibiOS: auto-set HAL_LOGGING_ENABLED for AP_Periph builds
2021-05-19 17:38:47 +10:00
Peter Barker
dbf5357592
AP_HAL_ChibiOS: base use of InternalError on build type not HAL_LOGGING_ENABLED
...
Really not sure why we were using HAL_LOGGING_ENABLED here
2021-05-19 17:38:47 +10:00
Peter Barker
7d8c5757d6
AP_HAL_ChibiOS: move from HAL_NO_LOGGING to HAL_LOGGING_ENABLED
2021-05-19 17:38:47 +10:00
Andy Piper
6a21446bac
AP_HAL_ChibiOS: correct KakuteF4Mini board id
2021-05-18 10:02:36 +10:00
Andy Piper
25be0cf4b4
AP_HAL_ChibiOS: pull the right pin for KakuteF4 buzzer
2021-05-18 10:02:36 +10:00
vierfuffzig
393ac386cc
AP_HAL_ChibiOS: add revo-mini-i2c alt configs
2021-05-18 09:53:38 +10:00
Andy Piper
f8a59a4a72
AP_HAL_ChibiOS: set inbound bitrate correctly for bi-directional dshot1200
2021-05-14 07:23:59 +10:00
Andy Piper
b33b07e43f
AP_HAL_ChibiOS: fixes for KakuteF4Mini
2021-05-12 17:26:35 +10:00
Andy Piper
387812bb01
AP_HAL_ChibiOS: avoid startup scream on KakuteF4 and variants
2021-05-12 17:26:35 +10:00
Andy Piper
f0ff4a2cd4
AP_HAL_ChibiOS: hwdef for KakuteF4Mini
2021-05-12 17:26:35 +10:00
Andy Piper
6447bd1cdd
AP_HAL_ChibiOS: use AP_ESC_Telem to record erpm data and error rate
...
don't output RPM data if bi-dir dshot is not enabled
2021-05-12 17:01:11 +10:00
Andrew Tridgell
e1a5d73504
HAL_ChibiOS: fixed DTCM comment for F732
2021-05-09 06:44:19 +10:00
Andrew Tridgell
b7fffe35f9
HAL_ChibiOS: added FreeflyRTK GPS build
...
a F732 based GPS peripheral
2021-05-09 06:44:19 +10:00
Andrew Tridgell
4d661911e5
HAL_ChibiOS: allow adjustment of F7 I2C timing
...
needed for F732
2021-05-09 06:44:19 +10:00
Andrew Tridgell
6b9e4161cb
HAL_ChibiOS: removed UDID_START from all MCU defs
...
use UID_BASE from ChibiOS headers
2021-05-09 06:44:19 +10:00
Andrew Tridgell
36d5c98e96
HAL_ChibiOS: default UDID_START to UID_BASE
2021-05-09 06:44:19 +10:00
Andrew Tridgell
2dc4c50953
HAL_ChibiOS: fixed default OTP address and size
2021-05-09 06:44:19 +10:00
Andrew Tridgell
22f7218acf
HAL_ChibiOS: support 512k F7 parts for flash
2021-05-09 06:44:19 +10:00
Andrew Tridgell
03cae60471
HAL_ChibiOS: added STM32F732 support
2021-05-09 06:44:19 +10:00
Andrew Tridgell
f1de0c7fe2
HAL_ChibiOS: added F732 16MHz CubeMX config
2021-05-09 06:44:19 +10:00
Andy Piper
f6b9479542
AP_HAL_ChibiOS: add accessor for UART DMA status
2021-05-05 17:50:42 +10:00
Andy Piper
dbd9b3a9ae
AP_HAL_ChibiOS: ESC telemetry is orthogonal to RPM telemetry
2021-05-05 17:41:24 +10:00
Andy Piper
384ecd4a5b
AP_HAL_ChibiOS: check command queue is empty before arming
2021-05-05 17:41:24 +10:00
Andy Piper
66fadf53a1
AP_HAL_ChibiOS: remove dshot calibration step
2021-05-05 17:41:24 +10:00
Andy Piper
f3f3056dba
AP_HAL_ChibiOS: add support for dshot commands to rcout
...
add support for dshot beepcodes through tonealarm
add support for dshot reversal and command queue
add support for dshot commands to all channels
correctly manage channel enablement in PWM groups
Correctly send dshot commands when using bi-dir dshot
allow reversible settings to be changed
ChibiOS: allow more than one type of ESC for dshot commands
Only execute reverse/reversible commands on BLHeli
add support for checking active ESCS
mark ESCs active when bdshot telemetry is returned
allow dshot alarm to be disabled
allow priroitized dshot commands
2021-05-05 17:41:24 +10:00
Andrew Tridgell
8764d69e2c
HAL_ChibiOS: default SDMMC clock to 12.5MHz max on H7
...
this makes microsd considerably more reliable
2021-05-02 13:04:42 +10:00
Andrew Tridgell
f9866dc27e
HAL_ChibiOS: fixed LED_SAFETY attached to FMU with recent DShot updates
2021-04-30 17:26:33 +10:00
QioTek
ca6102ed28
f103Qiotek_Periph
...
f103Qiotek_Periph
2021-04-24 07:48:40 +10:00
QioTek
1de3135d14
HAL_ChibiOS: added f103-QiotekPeriph hwdef ( #1 )
...
HAL_ChibiOS: added f103-QiotekPeriph
2021-04-24 07:48:40 +10:00
Andy Piper
42ebc13e6c
Revert "AP_HAL_ChibiOS: support 6 bi-directional dshot channels on the MatekH743"
...
This reverts commit f9d166edf6
.
2021-04-22 18:39:06 +10:00
Andrew Tridgell
6764f039ca
HAL_ChibiOS: added support for the new H7 luminousbee version 5
2021-04-21 20:41:34 +10:00
Andy Piper
f9d166edf6
AP_HAL_ChibiOS: support 6 bi-directional dshot channels on the MatekH743
2021-04-21 17:18:53 +10:00
Andy Piper
558631918c
AP_HAL_ChibiOS: add %age of total to thread statistics
...
don't display meaningless thread info
2021-04-21 17:14:11 +10:00
Andrew Tridgell
961e538cc0
HAL_ChibiOS: reduced flash usage on MatekF405
...
overflowing by 1k
2021-04-21 07:12:55 +10:00
Andy Piper
4bb4e2fb22
AP_HAL_ChibiOS: adjust GPIO settings for serial passthru
2021-04-20 10:35:22 +10:00
Andrew Tridgell
4118a3eb03
HAL_ChibiOS: check bus owner on all SPI transfers
2021-04-16 10:02:02 +10:00
Andrew Tridgell
9990404e64
HAL_ChibiOS: fixed G4 analog input build
...
use right resolution in ADC peripheral for ADCv3
2021-04-14 13:11:58 +10:00
Andrew Tridgell
eca8cf3414
HAL_ChibiOS: save flash on boards that are critically low
...
move to single OSD font on some boards
this saves about 12k on these boards. They were also extremely close
to overflowing flash, under 2k on some
Now that we support having an OSD font on the microSD card (where
available) we can reduce built in fonts without a large functionality
impact
This also disables some less used features on these boards:
- generator support
- object avoidance path planning
- precision landing
This will give us some breathing room on these boards
2021-04-13 09:58:59 +10:00
Andrew Tridgell
47a5d78397
HAL_ChibiOS: disable DMA on high contention UARTs
...
switch to interrupt driven when in high contention
2021-04-08 06:53:48 +10:00
anbello
77998fb5ba
revo-mini bdshot
2021-04-07 17:44:29 +10:00
anbello
dcb90c7bdb
revo-mini ext i2c
2021-04-07 17:26:56 +10:00
Andy Piper
be39e1f297
AP_HAL_ChibiOS: correct current scale for BeastH7 and BeastF7
2021-04-07 17:25:19 +10:00
Andy Piper
aa0ec0f091
AP_HAL_ChibiOS: optimize BeastH7 compilation
2021-04-07 17:25:19 +10:00
Iampete1
ec90ab13f4
AP_HAL_ChibiOS: RCOutput: print DMA alocation errors
2021-04-07 17:24:25 +10:00
Iampete1
15509f314c
AP_HAL_ChibiOS: RCOuput: LED setup re-work
2021-04-07 17:24:25 +10:00
Andrew Tridgell
61c829d624
HAL_ChibiOS: only use SRAM4 for DMA for now
...
we can enable others when we have an allocation interface that
specifies the peripheral type
2021-04-07 17:10:45 +10:00
Iampete1
2377d33417
AP_HAL_ChibiOS: H7 set SRAM4 to no cache and allow DMA
2021-04-07 17:10:45 +10:00
Andrew Tridgell
4cddb12508
HAL_ChibiOS: fixed DMA sent calculation on UART DMA timeout
2021-04-07 07:34:45 +10:00
Andy Piper
b3dbc21fa7
AP_HAL_ChibiOS: KakuteF7 bdshot configuration, tested by yaapu
2021-04-06 11:33:53 +10:00
Andy Piper
721850d00a
AP_HAL_ChibiOS: fix dshot150.
2021-04-06 10:24:04 +10:00
Andy Piper
f6b1e15b0e
AP_HAL_ChibiOS: optimize bdshot ISRs
2021-04-06 10:24:04 +10:00
Andy Piper
cb3b37d181
AP_HAL_ChibiOS: ensure that non-dshot modes get regular 1Khz updates
2021-04-06 10:24:04 +10:00
Andy Piper
ea3291520c
AP_HAL_ChibiOS: add fast cycle calibration step
2021-04-06 10:24:04 +10:00
Andy Piper
74d4af9ac9
AP_HAL_ChibiOS: reset bdshot IC correctly
...
don't allow dshot rates below 800Hz.
set pin speed to MID1 to avoid glitching
don't run receive pulses on a timer
2021-04-06 10:24:04 +10:00
Andy Piper
477ff72214
AP_HAL_ChibiOS: allow dshot rate to be set so as to both regularize the output as well as
...
allow faster rates synchronized to the loop rate
synchronize 1Khz and use Betaflight definition for prescaler
adjust dshot bitrates
don't allocate IC DMA if already allocated
cancel DMA pulses correctly
try really hard to align pulses with push() by making each dshot pulse event driven
2021-04-06 10:24:04 +10:00
Andrew Tridgell
45477f6063
HAL_ChibiOS: fixed default MSP port for f405-MatekGPS
2021-04-05 11:02:32 +10:00
Andrew Tridgell
ca948171fe
HAL_ChibiOS: fixed ADC error on revXY STM32H7 boards
...
with the new ChibiOS revision we were configuring for newer revisions
of the H7, which meant that we changed the ADC config. This broke ADC
readings on revX and revY H7 MCUs.
This PR fixes it in two ways:
1) change ChibiOS config to assume XY config chips
2) use 16 bit ADC for H7, which means the chip rev doesn't matter,
and also gives us 16x the resolution for ADC readinga, so we can
read smaller voltage and current values
2021-04-05 11:01:03 +10:00
willpiper
94bdca7f6f
AP_HAL_ChibiOS: tidy up beastF7 DMA channels
2021-04-04 16:51:19 +10:00
Andrew Tridgell
f0d6b79e8a
HAL_ChibiOS: fixed skyviper builds with BMM150
2021-03-30 13:31:50 +09:00
Peter Barker
cfacb5d34d
AP_HAL_ChibiOS: split out a calculate_thread_priority method
2021-03-30 10:49:06 +11:00
Iampete1
7c96522e44
AP_HAL_ChibiOS: add semaphore to AnalogIn::channel to make it thread safe
2021-03-30 10:44:43 +11:00
Andrew Tridgell
07313ae71d
HAL_ChibiOS: fixed 2nd CAN inferface on F4/F7
...
CAN1_TX_IRQn is an enum not a defined. This was broken by the recent
change to support different CAN ordering
2021-03-29 20:14:29 +11:00
Andrew Tridgell
88e277420f
AP_HAL_ChibiOS: removed assert calls
...
these waste flash space and do not do us any good
2021-03-25 14:03:40 +11:00
Andrew Tridgell
2d4dfe8a2a
HAL_ChibiOS: fixed (unused) FF_FS_TIMEOUT
...
this change was harmless as we don't define FF_FS_REENTRANT
2021-03-23 12:01:20 +11:00
Andrew Tridgell
ffb2876f58
HAL_ChibiOS: disable unused ChibiOS features
2021-03-23 12:01:20 +11:00
Andrew Tridgell
744a2fe535
HAL_ChibiOS: use uint32_t for bit timing in passthru
...
we should not use systime_t as it may be 16 bit
2021-03-23 12:01:20 +11:00
Andrew Tridgell
c3d16cf2e2
HAL_ChibiOS: use defines for G4 messageram
...
review fix
2021-03-23 12:01:20 +11:00
Andrew Tridgell
b4e4d48e52
HAL_ChibiOS: switch OMNIBUSF7V2 timer for RCIN
...
this avoids a conflict with shared interrupt on TIM1
2021-03-23 12:01:20 +11:00
Andrew Tridgell
ff31e10d9e
HAL_ChibiOS: ensure that RCIN DMA channel is not shared
...
RCIN DMA cannot be shared as it runs all the time
2021-03-23 12:01:20 +11:00
Andrew Tridgell
2842730868
HAL_ChibiOS: fixed F3 CAN build
2021-03-23 12:01:20 +11:00
Andrew Tridgell
2fc7ea1a8b
HAL_ChibiOS: added G4-ESC hwdef
2021-03-23 12:01:20 +11:00
Andrew Tridgell
353eca79b6
HAL_ChibiOS: fixed 32/64 micros bug in CAN select()
2021-03-23 12:01:20 +11:00
Andrew Tridgell
bac9b27a3f
HAL_ChibiOS: enable analogin on G4
2021-03-23 12:01:20 +11:00
Andrew Tridgell
ac9e6ba86d
HAL_ChibiOS: fix label for CCM on G4
2021-03-23 12:01:20 +11:00
Andrew Tridgell
7496b8bff5
HAL_ChibiOS: fixed DMAR register offset
...
use offsetof() instead of a magic value
2021-03-23 12:01:20 +11:00
Andrew Tridgell
4f10565f82
HAL_ChibiOS: fixed CANFD build on H7
2021-03-23 12:01:20 +11:00
Andrew Tridgell
f2ac61f6ba
HAL_ChibiOS: enable DShot on G4
2021-03-23 12:01:20 +11:00
Andrew Tridgell
f57b1b9c4b
HAL_ChibiOS: support logical/physical CAN bus mapping
...
allow for first CAN interface to be CAN2 or CAN3
2021-03-23 12:01:20 +11:00
Andrew Tridgell
2f7ff778be
HAL_ChibiOS: fixed bug in DMA resolver
...
idsets can be empty for a peripheral
2021-03-23 12:01:20 +11:00
Andrew Tridgell
439a944801
HAL_ChibiOS: added support for STM32G474 MCU
2021-03-23 12:01:20 +11:00
Andy Piper
e1d71486e4
AP_HAL_ChibiOS: build fixes for ChibiOS 20.3.x
2021-03-23 12:01:20 +11:00
Andrew Tridgell
5b59445471
AP_HAL_ChibiOS: fixes for build with 20.3.x ChibiOS
2021-03-23 12:01:20 +11:00
QioTek
fe30612bb0
AP_HAL_ChibiOS: release ICM20649 reserve sensor
...
BMI055 & BMI088 out of stock, release ICM20649 reserve sensor
2021-03-22 19:05:03 +11:00
Andrew Tridgell
bbd32844d1
HAL_ChibiOS: switch more boards to 32k FRAM
...
this enables the parameter backup/restore on those boards, as well as
more waypoints
This is in response to a report that CUAVv5 boards can suffer from the
parameter reset issue
2021-03-21 11:59:12 +11:00
Andy Piper
bb270014e7
AP_HAL_ChibiOS: make sure LEDs get a DMA channel on MatekH743-bdshot
2021-03-17 18:28:01 +11:00
Andy Piper
968d05a637
AP_HAL_ChibiOS: allow further LED channels to be allocated at the same length
2021-03-17 18:24:11 +11:00
Andrew Tridgell
8a8db85b9c
HAL_ChibiOS: fixed build of f103-trigger fw
2021-03-16 18:28:58 +11:00
Lava Chemist
4a52f945db
AP_HAL_ChibiOS: Add FlywooF745
2021-03-16 11:27:23 +11:00
Andy Piper
d6575fb6ad
AP_HAL_ChibiOS: bdshot configs for CubeYellow and mRoControlZeroH7
2021-03-03 18:02:26 +11:00
Andrew Tridgell
4fbdb59398
HAL_ChibiOS: prevent sharing the same DMA stream on TIMn_UP channels
...
this avoids an issue with DShot where we run the same DMA stream on
two timers at once
2021-03-02 11:58:38 +11:00
Andy Piper
6cb263056d
AP_HAL_ChibiOS: build fix for iomcu
2021-03-02 11:58:38 +11:00
Andy Piper
d0e4d510cf
AP_HAL_ChibiOS: order PWM timers by DMA UP stream id to prevent deadlocks in dshot
2021-03-02 11:58:38 +11:00
Andrew Tridgell
14791c335b
HAL_ChibiOS: fixed build of f3 boards without PWM out
2021-02-24 18:25:02 +11:00
Andrew Tridgell
243cf2199d
HAL_ChibiOS: disable shared DMA on IOMCU
...
this saves about 600 bytes of ram
2021-02-24 18:21:08 +11:00
Andrew Tridgell
c23f61b79a
HAL_ChibiOS: set internal error on panic
2021-02-24 18:18:37 +11:00
Andrew Tridgell
eec05c1f48
HAL_ChibiOS: fixed a race and null ptr deref in dshot
...
if a dshot is cancelled then the waiter can be nullptr
2021-02-24 15:39:10 +11:00
Andy Piper
b102391163
AP_HAL_ChibiOS: don't send rcout events without rcout thread
2021-02-24 08:55:12 +11:00
Mirko Denecke
edc2b0c94e
AP_HAL_ChibiOS: fix copy and paste typo
2021-02-23 08:15:50 +09:00
Andrew Tridgell
7af20e9ea3
HAL_ChibiOS: increase H7 serial buffer sizes
...
this takes better advantage of the new UART code. Log download over
USB gets to 730 kbyte/s. For comparison, with the 4.0 code on the same
H7 we get about 300 kbyte/s
2021-02-20 20:49:45 +11:00
Andrew Tridgell
3b88a3273b
HAL_ChibiOS: adjust up uart tx stack size
...
lowest was showing 80 bytes free, which is too close to the 64 byte
level where we trigger an internal error
2021-02-20 14:37:11 +11:00
Andrew Tridgell
5e0f175223
HAL_ChibiOS: adjust UART buffer sizes for new UART code
...
this gains about 20k of RAM, and has almost no impact on log download
speed at 921600 on a F427. The improved threading means we can afford
to have smaller buffers
2021-02-20 14:37:11 +11:00
Andy Piper
4e61ba2dc8
AP_HAL_ChibiOS: reduce stack sizes for rcout, uart_rx and storage.
2021-02-20 14:37:11 +11:00
Andy Piper
94de238751
AP_HAL_ChibiOS: disable RCOUT thread on iomcu and rebuild iomcu.
2021-02-20 14:37:11 +11:00
Andy Piper
f9c5f9be00
AP_HAL_ChibiOS: make dshot DMA unlock event driven in order to allow unlocking from rcout thread
...
refactor rcout into separate thread and process all dshot requests there
move uart DMA completion to event model
process dshot locks in strick reverse order when unlocking
convert Shared_DMA to use mutexes
move UART transmit to a thread-per-uart
do blocking UART DMA transactions
do blocking dshot DMA transactions
trim stack sizes
cancel dma transactions on dshot when timeout occurs
support contention stats on blocking locking
move thread supression into chibios_hwdef.py
invalidate DMA bounce buffer correctly
separate UART initialisation into two halves
cleanup UART transaction timeouts
add @SYS/uarts.txt
move half-duplex handling to TX thread
correct thread statistics after use of ExpandingString
set unbuffered TX thread priority owner + 1
correctly unlock serial_led_send()
don't share IMU RX on KakuteF7Mini
observe dshot pulse time more accurately.
set TRBUFF bit for UART DMA transfers
deal with UART DMA timeouts correctly
don't deadlock on reverse ordered DMA locks
change PORT_INT_REQUIRED_STACK to 128
2021-02-20 14:37:11 +11:00
mateksys
7eb4e9b370
AP_Periph: set PORT defaults for F405-MatekGPS
2021-02-18 11:51:50 +11:00
mateksys
97c2b7228e
AP_Periph: Matek F303 and F405 AP_Periph use DSP310 baro
2021-02-18 11:51:50 +11:00
Andy Piper
4c2cbdab8d
AP_HAL_ChibiOS: only setup half-duplex for receive when transmit is fully over
2021-02-17 20:09:48 +11:00
Andy Piper
5c32007cdf
AP_HAL_ChibiOS: ensure stop bits can be set before UART begin
2021-02-17 20:09:48 +11:00
Andy Piper
3a9107245c
AP_HAL_ChibiOS: allocate DMA and LED buffers correctly when the length changes
...
calculate DMAR pulse times correctly
ensure 50us pulse separation for LED
make sure the LEDs are signalled for output
only allow LED length to be set once
2021-02-17 18:36:36 +11:00
Michael du Breuil
c0da87c066
AP_HAL_ChibiOS: Update HitecMosaic to reflect changes to GPS config
2021-02-15 16:31:45 -07:00
Andrew Tridgell
9de1519928
HAL_ChibiOS: prevent hw flow control from hogging a DMA channel
...
When hw flow control is enabled check the CTS pin before we grab the
DMA channel to prevent a long timeout trying to send to a blocked port
from holding a DMA channel against another device
this fixes issue #16587
2021-02-15 07:23:56 +11:00
Andrew Tridgell
0cc4409845
HAL_ChibiOS: fixed handling of invalid channel for LED write
...
this prevents a null ptr dereference when an invalid channel (such as
one on IOMCU) is used for LEDs
2021-02-13 15:11:10 +11:00
Andrew Tridgell
098a17fe2e
HAL_ChibiOS: fixed CubeOrange ADSB param name
2021-02-13 13:06:20 +11:00
Andy Piper
20d8696a0a
AP_HAL_ChibiOS: BeastH7 has DPS310 baro
2021-02-10 18:33:59 +11:00
Andrew Tridgell
814393c9c2
HAL_ChibiOS: switch from DPS280 to DPS310 in boards that use the DPS310
2021-02-09 11:37:07 +11:00
Andrew Tridgell
86fda93781
HAL_ChibiOS: added heater correction of AK09916
...
this fixes a problem with the internal compass being impacted by the
magnetic field from the heater
2021-02-09 11:32:19 +11:00
Andrew Tridgell
2ab8ad0ef0
HAL_ChibiOS: added Durandal pinout details
2021-02-09 07:14:02 +11:00
Michael du Breuil
623951a262
AP_HAL_ChibiOS: Add some extra GPS SBF config
2021-02-05 11:52:29 -07:00
Tom Pittenger
d1e6b0befb
AP_HAL_ChibiOS: Add ADC1 support to STM32F3
...
This is useful for AP_Periph battery monitoring
2021-02-04 16:30:38 -08:00
Andrew Tridgell
b8e82a56f3
HAL_ChibiOS: don't start rout ticks till after full system init
...
this prevents an occasional boot hang on systems with DShot
enabled. We shouldn't be starting DShot output till after setup() is
complete as the outputs are still being configured
2021-02-05 07:17:57 +11:00
Andy Piper
2cdc202d19
AP_HAL_ChibiOS: use non-cachable SRAM3 for DMA on H743
...
Adjust SRAM1+SRAM2 to 256k as describe in the H743 reference manual
Provide access to mem_info() information
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2021-02-03 23:35:44 +11:00
Andy Piper
06a1500f98
AP_HAL_ChibiOS: ensure GPIO pins get undef'ed properly
...
minimise bi-directional dshot configs for:
CubeOrange
Durandal
MatekF405
MatekH743
OmnibusNanoV6
Pixracer
mRoPixracerPro
omnibusf4pro
CUAV-X7
2021-02-03 18:49:06 +11:00
Michel Pastor
41f7587637
ChibiOS: Add SWD pins to SuccexF4 bootloader
2021-02-03 18:37:46 +11:00
auturgy
24268cc6de
AP_HAL_ChibiOS: add MatekH743-periph hwdef
2021-02-03 18:17:44 +11:00
mateksys
b91c65b4a4
AP_HAL_ChibiOS: add f405-MatekGPS & MatekF405-CAN hwdef
2021-02-03 18:09:35 +11:00
huhen
9ba35580db
HAL_ChibiOS: Init kakutef7 motor pins for correct initialization of some ESCs
2021-02-03 13:13:32 +11:00
Andy Piper
6f5d5c2bf9
AAP_HAL_ChibiOS: allow asserts to be printed on a GPIO pin
2021-01-27 19:36:58 +11:00
Andy Piper
d41c92d317
AP_HAL_ChibiOS: don't overwrite fault handler data, register forced faults
2021-01-27 19:13:18 +11:00
Andy Piper
20d928a86a
AP_HAL_ChibiOS: don't share DMA on OmnibusNanoV6 for Flash SPI
2021-01-27 19:04:49 +11:00
Andy Piper
873d35acd9
AP_HAL_ChibiOS: bi-directional dshot for MatekH743
2021-01-27 18:58:38 +11:00
Andy Piper
877dde4736
AP_HAL_ChibiOS: on BeastF7 share TIM3 UP/CH and give flash SPI dedicated channel
2021-01-27 18:54:43 +11:00
Andy Piper
9249b73e8b
AP_HAL_ChibiOS: correctly allow mixing of bidir and non-bidir channels
2021-01-27 18:49:15 +11:00
Andy Piper
2823fa7245
AP_HAL_ChibiOS: never write bytes that have not been erased on H7
...
Be more careful about flash failure conditions on H7
2021-01-27 18:30:36 +11:00
Andy Piper
78735a946e
AP_HAL_ChibiOS: allow STM32_FLASH_DISABLE_ISR for H7
2021-01-27 18:30:36 +11:00
Andrew Tridgell
155de6d2bc
HAL_ChibiOS: fixed build of AP_Periph on H7
2021-01-27 18:24:03 +11:00
Andrew Tridgell
9861a02c60
HAL_ChibiOS: save INS_ACC*ID persistent parameters
...
this enables full factory accelerometer calibration, so the user is
not required to run an accelcal, even if they change vehicle type
2021-01-27 09:49:35 +11:00
Andrew Tridgell
5ed19c764e
HAL_ChibiOS: expose load_persistent_params for @SYS
2021-01-21 13:09:21 +11:00
Andrew Tridgell
5c823debc0
HAL_ChibiOS: support saving persistent parameters to bootloader sector
...
when we flash the bootloader we can save key peristent parameters to
the end of the bootloader sector, allowing them to persistent across
changes of firmware type
This allows for factory temperature calibration
2021-01-21 13:09:21 +11:00
Andrew Tridgell
d81c2ee407
HAL_ChibiOS: allow for some embedded parameters on AP_Periph builds
2021-01-21 06:19:46 +11:00
bugobliterator
8b90eb23e0
AP_HAL_ChibiOS: distcc doesn't like lst generation commands
2021-01-20 19:21:14 +11:00
Andy Piper
2fadcf6ba0
AP_HAL_ChibiOS: handle UP/CH channel sharing on H7 correctly
2021-01-20 18:15:17 +11:00
Andy Piper
9e641a32ad
AP_HAL_ChibiOS: don't share flash SPI on BeastH7 and compile with -Os
2021-01-20 18:12:57 +11:00
Andy Piper
2b885cd79f
AP_HAL_ChibiOS: ensure that serial LED setup goes via an intermediate buffer
...
protect serial LED buffer transfers with mutex
protect serial LED buffer size with mutex
prevent serial LED interactions before rcout is ready
allocate a serial led buffer per channel that needs it
setup clock mask when needed
2021-01-20 18:10:18 +11:00
bugobliterator
c02c546077
AP_HAL_ChibiOS: add support for inline comments in hwdef.dat
2021-01-18 09:37:11 +11:00
bugobliterator
41693403e2
AP_HAL_ChibiOS: retain memory of past conflicts in dma_resolver
2021-01-18 09:37:11 +11:00
Andrew Tridgell
f93e2f6717
HAL_ChibiOS: enable 32k FRAM on H7 boards
2021-01-16 06:47:10 +11:00
pkocmoud
7b61a4d8c2
HAL_ChibiOS: support F7 with no crystal
2021-01-15 15:48:01 +11:00
Andy Piper
cb5be4fcc1
AP_HAL_ChibiOS: don't share IMU DMA on MatekH743 to avoid SPI DMA contention
2021-01-15 14:32:39 +11:00
Andy Piper
e781572d53
AP_HAL_ChibiOS: support iFlight BeastF7
...
reduce DMA contention on BeastH7 and correct sharing
add README's for BeastF7 and BeastH7
2021-01-13 18:09:33 +11:00
Andy Piper
fdbf2d369a
AP_HAL_ChibiOS: do not take bi-dir path when in serial DMA
2021-01-13 18:03:41 +11:00
bugobliterator
4346264113
AP_HAL_ChibiOS: ensure UP and CH timer channels share DMA for H7
2021-01-12 10:45:03 +11:00
Andy Piper
e9ea360a99
AP_HAL_ChibiOS: don't timeout after 11 bits on serial irqs
2021-01-12 09:58:58 +11:00
Andrew Tridgell
14433c3ae3
HAL_ChibiOS: enable ICM-40609 on mRoNexus
2021-01-11 14:43:35 +11:00
Andrew Tridgell
afbdd69165
AP_HAL_ChibiOS: adjust stack sizes
2021-01-10 08:28:55 +11:00
Andy Piper
8fb403c569
AP_HAL_ChibiOS: make sure BDMA channels are not adjacent
2021-01-10 08:11:37 +11:00
Andrew Tridgell
42bc9adfb7
HAL_ChibiOS: use ExpandingString for @SYS buffers
2021-01-05 10:52:00 +11:00
Peter Barker
ca6c133042
AP_HAL_ChibiOS: do not reuse va_list after it has been ended
2021-01-05 10:04:25 +11:00
Andrew Tridgell
324ff178d8
HAL_ChibiOS: fixed CUAV_GPS defaults.parm
2021-01-03 16:24:12 -08:00
Tom Pittenger
113f792ad1
AP_HAL_ChibiOS: update periph targets who have buzzer/LEDs with notify
2021-01-03 16:24:12 -08:00
Andrew Tridgell
6f4bfed82d
HAL_ChibiOS: fixed build with alarm and no PWM channels
...
this fixes a build error due to conditional always being false when
NUM_GROUPS==0 by using a C++ iterator. It also makes the code neater
2021-01-04 09:04:06 +11:00
Hwurzburg
ce361e51bf
HAL_ChibiOS: Reinstate HAL_MINIMIZE_FEATURES for 1MB F7 boards
2021-01-02 08:57:47 +11:00
Andrew Tridgell
e260c7ad59
HAL_ChibiOS: update f303-MatekGPS to allow disable of MSP
...
and use DMA for MSP
2021-01-01 15:40:13 +11:00
David B. Bitton
8dbe0a71ba
AP_HAL_ChibiOS: add support for Toshiba LED
2020-12-31 11:02:10 -08:00
Andy Piper
401e5c2073
AP_HAL_ChibiOS: add support for bidir DShot support in RCOutput
...
add support for sampling GPIO pins using timer
don't restart pwm group when not doing bi-dir
fix hwdef generation preproc for TIM DMA
decode telemetry at the start of the dshot cycle
calculate dshot pulse separation correctly and ensure we output rapidly enough
calculate dshot min periods and timeouts correctly
refactor dshot_send() into dshot_send_groups()
use bi-dir dshot channel mask
selectively enable bi-dir RC Channels
process bi-dir mask correctly when allocating DMA channels
allow UP and CH DMA channel sharing
optionally enable bidir vars in hwdef.
enable bi-dir dshot in KakuteF7Mini
enable bi-dir dshot in OmnibusF4Pro
enable bi-dir dshot in OmnibusNanoV6
enable bi-dir dshot in MatekF405
enable bi-dir dshot in fmuv5
enable bi-dir dshot in fmuv3
enable bi-dir dshot in OmnibusF7V2
enable bi-dir dshot in OmnibusNanoV6
enable bi-dir dshot in CubeOrange
enable bi-dir dshot in Pixracer
enable bi-dir dshot in mRoPixracerPro
Co-authored-by: bugobliterator <siddharthbharatpurohit@gmail.com>
2020-12-30 19:14:16 +11:00
Andy Piper
07f199ea1a
AP_HAL_ChibiOS: rename system_initialized() and add is_system_initialized()
2020-12-30 18:16:59 +11:00
Andy Piper
83c8807b39
AP_HAL_ChibiOS: when HAL_ENABLE_THREAD_STATISTICS is defined add ChibiOS thread stats to threads.txt
...
define HAL_ENABLE_THREAD_STATISTICS in hwdef.h
2020-12-30 18:15:05 +11:00
Andy Piper
a4b2930223
AP_HAL_ChibiOS: iFlight Beast H7 AIO hwdef
2020-12-30 18:13:03 +11:00
ukmook
bf34041211
AP_HAL_ChibiOS: add support for Pixracer-periph
2020-12-29 07:52:39 -07:00
Tom Pittenger
5432c9957a
AP_HAL_ChibiOS: rename AP_PERIPH_<feature>_DEFAULT to HAL_PERIPH_<feature>_DEFAULT
2020-12-28 09:16:02 +11:00
Tom Pittenger
083088bfff
AP_HAL_ChibiOS: adjust defaults to use param instead of hardcoded defaults
2020-12-25 16:24:50 -07:00
Ari Krupnik
79e1f5e8bd
AP_HAL_ChibiOS: standard spelling of variant
2020-12-25 00:01:50 +11:00
Phillip Kocmoud
062c6cef41
HAL_ChibiOS: Fix typo relating to pin PB7:I2C4_SDA
2020-12-23 06:43:19 +11:00
Siddharth Purohit
5b58163c35
AP_HAL_ChibiOS: add HAL_PERIPH_ENABLE_RCOUT_TRANSLATOR to CubeBlack-periph and CubeOrange-periph
2020-12-21 18:27:07 -08:00
Tom Pittenger
da74d755d0
AP_HAL_ChibiOS: add new HAL_PWM_COUNT define
2020-12-21 18:27:07 -08:00
Tom Pittenger
f670f7a9b6
AP_HAL_ChibiOS: change ADSB to use param ADSB_PORT instead of define
2020-12-17 23:24:04 -08:00
Tom Pittenger
5c98e18236
AP_HAL_CubeORange-periph: enable HAL_PERIPH_ALLOW_MAVLINK_UART_OR_USB_REBOOT_CMD on USB
2020-12-18 06:59:09 +11:00
Andrew Tridgell
b4201436dd
HAL_ChibiOS: fixed flash space on 16k bl boards
...
this avoids the stm32_flash_recent_erase() function which added around
800 bytes to the bootloader. It is not needed
2020-12-17 12:51:25 +11:00