Commit Graph

3025 Commits

Author SHA1 Message Date
Randy Mackay
f6de0f19bb AP_HAL_ChibiOS: CubeRedSecondary IMU orientation fix
Also remove duplicate RC_IN serial protocol
2024-03-14 11:42:44 +11:00
Andrew Tridgell
8cd8d7b6e5 AP_HAL_ChibiOS: remove iomcu dshot from Pixhawk1-1M and add to Pixhawk1-bdshot
add support for removing ROMFS from hwdef
2024-03-14 11:42:44 +11:00
Andrew Tridgell
5deb2b07f4 hwdef: fixed Pixhawk1-1M build 2024-03-14 11:42:44 +11:00
subashchandar
5fa8bfb187 AP_HAL_ChibiOS: hwdef: Add new hardware pixflamingo f7 2024-03-14 11:42:44 +11:00
Randy Mackay
6ae7b3385f AP_HAL_ChibiOS: AP_Periph does not use AP_VisualOdom 2024-03-14 11:42:44 +11:00
Andy Piper
5a6a19560c AP_HAL_ChibiOS: BlitzF745AIO update to ICM-42688
enable OSD
use minimal FPV config
enable compass probing
pull uart pins high in bootloader for ELRS
2024-03-14 11:42:43 +11:00
Andrew Tridgell
3047c1ed92 HAL_ChibiOS: fixed CANFD timings (again!)
the timing table was not correct, thanks to APD for pointing this out.

This is recalculated from
https://www.kvaser.com/support/calculators/can-fd-bit-timing-calculator,
with transmitter timing delay compensation added and tested with Salae
captures to ensure we are getting the right bit rates
2024-03-14 11:42:42 +11:00
yjuav
7f98c7f737 hwdef: add YJUAV_A6Ultra board support 2024-03-14 11:42:42 +11:00
David O'Connor
8621495480 hwdef: add AnyLeaf H7 board 2024-03-14 11:42:42 +11:00
Andrew Tridgell
6e3369611e HAL_ChibiOS: enable clock management on G4
this allows for a different clock tree in the main fw from the
bootloader
2024-01-25 11:44:52 +11:00
Andrew Tridgell
06a8aef998 HAL_ChibiOS: switched G4 FDCAN clock to 80MHz
this requires main CPU clock at 160 MHz instead of 168 MHz
2024-01-25 11:44:44 +11:00
Andrew Tridgell
2d965684f6 HAL_ChibiOS: fixed CANFD timings
our CANFD timings were resulting in a lot of busoff errors. Here is an
example of master at 1Mbit/5MBit:

Getting @SYS/can0_stats.txt as -
------- Clock Config -------
CAN_CLK_FREQ:   80MHz
Std Timings: bitrate=1000000 presc=7
sjw=0 bs1=7 bs2=0 sample_point=90.00000%
FD Timings:  bitrate=5000000 presc=1
sjw=0 bs1=5 bs2=0 sample_point=90.00000%
------- CAN Interface Stats -------
tx_requests:    2689
tx_rejected:    0
tx_overflow:    443
tx_success:     7
tx_timedout:    2232
tx_abort:       0
rx_received:    18470
rx_overflow:    0
rx_errors:      0
num_busoff_err: 34439
num_events:     18477
ECR:            F8
fdf_rx:         18467
fdf_tx_req:     2182
fdf_tx:         0

here is an example with the new timings:

------- Clock Config -------
CAN_CLK_FREQ:   80MHz
Std Timings: bitrate=1000000 presc=8
sjw=1 bs1=8 bs2=1 sample_point=90.00000%
FD Timings:  bitrate=8000000 presc=2
sjw=3 bs1=8 bs2=3 sample_point=80.00000%
------- CAN Interface Stats -------
tx_requests:    3023
tx_rejected:    0
tx_overflow:    0
tx_success:     3023
tx_timedout:    0
tx_abort:       0
rx_received:    27865
rx_overflow:    0
rx_errors:      0
num_busoff_err: 0
num_events:     30888
ECR:            0
fdf_rx:         27862
fdf_tx_req:     3016
fdf_tx:         3016

I am testing between a CubeOrange and a Pixhawk6X. I tested 1, 2, 4, 5
and 8 MBit (which are the only valid FD bitrates in our parameters)

Many thanks to Kai from Salient Motion for finding this issue and
providing the corrected timing table
2024-01-25 11:44:32 +11:00
Hayden Donald
a81f2785aa AP_HAL_ChibiOS: Use correct pin config for ADC2 and ADC3 2024-01-24 08:03:24 +11:00
MallikarjunSE
873e2eac7d AP_HAL_ChibiOS: update truenav hwdef 2024-01-24 07:58:09 +11:00
Andrew Tridgell
e714f0a7a3 AP_HAL_ChibiOS: fixed name of pitch limit parameters 2024-01-23 15:00:30 +11:00
Andrew Tridgell
a6bceccd82 AP_HAL_ChibiOS: convert param files LIM_ROLL_CD -> ROLL_LIMIT_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell
862b0ed8d6 AP_HAL_ChibiOS: convert param files for pitch limits 2024-01-23 15:00:30 +11:00
Andrew Tridgell
e5199a71d6 AP_HAL_ChibiOS: convert ALT_HOLD_RTL to RTL_ALTITUDE 2024-01-23 15:00:30 +11:00
Andrew Tridgell
f935cbaead AP_HAL_ChibiOS: convert ARSPD_FBW_MIN/MAX to AIRSPEED_MIN and AIRSPEED_MAX 2024-01-23 15:00:30 +11:00
Andrew Tridgell
98d40d0e58 AP_HAL_ChibiOS: converted TRIM_ARSPD_CM to AIRSPEED_CRUISE 2024-01-23 15:00:30 +11:00
Andy Piper
6c634ebc00 AP_HAL_ChibiOS: allow dshot beeps to play on all dshot ESC types 2024-01-23 11:58:55 +11:00
Peter Barker
331110639e AP_HAL_ChibiOS: rename COMPASS_TYPEMASK to COMPASS_DISBLMSK
this is a very confusingly named parameter.  I've seen several instances of people treating this as an enable mask rather than a disable mask
2024-01-23 11:54:49 +11:00
Andrew Tridgell
140518da3c hwdef: added support for Holybro6X-45686 2024-01-23 11:49:14 +11:00
bugobliterator
9de1b6164b AP_HAL_ChibiOS: add more pins to STM32H757 ADC channel map 2024-01-22 20:35:16 +11:00
bugobliterator
b17d864d1a AP_HAL_ChibiOS: fix set_pin and _pin_scalar methods for ADC2 and ADC3 2024-01-22 20:35:16 +11:00
MallikarjunSE
f71fc58767 AP_HAL_ChibiOS: Add hwdef for TrueNavPro-G4 2024-01-21 13:10:10 +11:00
MallikarjunSE
6231a5edfd AP_HAL_ChibiOS: add TrueNavIC hwdef 2024-01-21 13:10:10 +11:00
Andrew Tridgell
f7c7ee00e9 HAL_ChibiOS: added a delete_next thread field for cleanup
allows for cleanup of web server threads in bootloader
2024-01-21 12:30:08 +11:00
Andrew Tridgell
5e7b211b79 HAL_ChibiOS: moved M4 disable into H757 script
this fixes assert checking in the bootloader and for boards other than
CubeRedPrimary
2024-01-21 12:30:08 +11:00
Andrew Tridgell
b49a7da32a hwdef: disable use of external flash in PPPGW
we cannot upload new firmware on CAN or network with external flash
2024-01-21 12:30:08 +11:00
Andrew Tridgell
855a5d28c0 hwdef: use a common PPPGW include
and fixed missing RTC bindings in web server
2024-01-21 12:30:08 +11:00
Andrew Tridgell
3a84f35593 HAL_ChibiOS: support building with no GPIOs 2024-01-21 12:30:08 +11:00
Andrew Tridgell
f225d797d2 hwdef: use common include for network bootloader 2024-01-21 12:30:08 +11:00
Andrew Tridgell
4e49481d3a hwdef: enable USB for bootloader on Pixhawk6X-PPPGW 2024-01-21 12:30:08 +11:00
Andrew Tridgell
91cc0d7dba HAL_ChibiOS: ensure periph uses same RAM0 address as bootloader
this fixes passing of addresses for boards that use an ALT_RAM_MAP
2024-01-21 12:30:08 +11:00
Andrew Tridgell
82dea9c037 HAL_ChibiOS: ensure our reserved ram is not in available ram regions
this prevents a fault when the ram0 region is filled in by the periph
code on boards that do dynamic memory allocation
2024-01-21 12:30:08 +11:00
Andrew Tridgell
a155f592a4 hwdef: added CubePilot PPPGW builds 2024-01-21 12:30:08 +11:00
Andrew Tridgell
2fee9e69db HAL_ChibiOS: support ROMFS_DIRECTORY in hwdef.dat 2024-01-21 12:30:08 +11:00
Andrew Tridgell
46f65aec4e AP_Periph: moved web UI script to Tools/AP_Periph
for use in multiple boards
2024-01-21 12:30:08 +11:00
Andrew Tridgell
69f23edd4a hwdef: added bootloader web server for Pixhawk6X-PPPGW 2024-01-21 12:30:08 +11:00
Andrew Tridgell
654b70da67 HAL_ChibiOS: allow HAL_Semaphore in the bootloader 2024-01-21 12:30:08 +11:00
Peter Barker
8e2a634c72 hwdef: don't enable filesystem-romfs just because we have a defaults file 2024-01-18 21:44:15 +11:00
Peter Barker
e958e7b720 hwdef: enable ROMFS if we have a defaults filepath to embed 2024-01-18 21:44:15 +11:00
Peter Barker
3aab3bac52 Tools/AP_HAL_ChibiOS: move defaults from tools to hwdef directory
Tools: move defaults from tools to hwdef directory
2024-01-17 18:28:48 +11:00
Peter Barker
c4a342f0af AP_HAL_ChibiOS: use @ROMFS/defaults.parm rather than apj_tool for defaul parms 2024-01-17 18:28:48 +11:00
Peter Barker
29f1953ad7 AP_HAL_ChibiOS: remove bad default from kha_eth hwdef
off is the default, but you have to use 0 not FALSE or it's a redefinition error
2024-01-17 18:25:55 +11:00
Peter Barker
2e23fa7612 hwdef: remove ghost telemetry from peripherals 2024-01-16 09:46:57 +11:00
Peter Barker
f7365556d0 AP_HAL_ChibiOS: tidy disabling of GHST on iomcu 2024-01-16 09:46:57 +11:00
Thomas Watson
5f5673b58f AP_HAL_ChibiOS: match thread stack pointer types to ChibiOS
`__main_thread_stack_base__` and `__main_thread_stack_end__` are
variables whose address is defined to be the corresponding part of the
stack. These are declared as `extern stkalign_t` in ChibiOS code, and
being declared as `extern uint32_t` in ArduPilot code creates a warning
at link time when using LTO. Correct the declaration to eliminate this
warning.

Also update `__main_stack_base__` and `__main_stack_end__` which don't
currently trigger this warning but serve similar purposes and so might
in the future.

The hardware expects an alignment of `stkalign_t` (which is 8 bytes) and
the linker script defines the variable values with this alignment as
well, so this is safe.

No code size or functional change.
2024-01-16 09:24:34 +11:00
Peter Barker
d0e7039b68 hwdef: remove un-needed AP_PARAM_MAX_EMBEDDED_PARAM default
these boards have <= 1024, and we have code in place which defaults this value tto 1024
2024-01-15 20:25:59 +11:00