Commit Graph

3301 Commits

Author SHA1 Message Date
AlexandrShipovsky ace31e617e AP_HAL_ChibiOS: add CSKY405 board 2024-04-05 10:45:00 +11:00
Andy Piper fdce070f81 AP_HAL_ChibiOS: allow H7RF to build 2024-04-05 10:23:50 +11:00
Iampete1 edc12c2857 AP_HAL_ChibiOS: use new UART stats tracking helper moving history up to util 2024-04-03 13:10:06 +01:00
Andy Piper b045939f1d AP_HAL_ChibiOS: FoxeerF405v2 2024-04-03 18:50:52 +11:00
Peter Barker 47716e2338 hwdef: remove stray HAL_BUILD_AP_PERIPH defines
this is added by defaults_periph
2024-04-03 18:36:29 +11:00
Peter Barker 5fb4e1e285 hwdef: replace defined(HAL_DISABLE_LOOP_DELAY) with HAL_SCHEDULER_LOOP_DELAY_ENABLED 2024-04-03 18:36:29 +11:00
Peter Barker 764f6863ea hwdef: re-enable RCIN thread on some builds/boards
not because they need it, but to make a PR NFC
2024-04-03 18:36:29 +11:00
Peter Barker 994c268644 AP_HAL_ChibiOS: replace HAL_NO_RCIN_THREAD w/HAL_RCIN_THREAD_ENABLED 2024-04-03 18:36:29 +11:00
Henry Wurzburg 594c2466d8 HWDEF:revert copter only build on bds with integrated escs 2024-04-03 18:31:54 +11:00
Peter Barker a65e06e0a9 AP_HAL_ChibiOS: move GPIO ON/off defaults from AP_HAL_ChibiOS to AP_HAL
these can be reused across different vehicles
2024-04-03 11:00:24 +11:00
Peter Barker e1f3864349 hwdef: convert_betaflight_unified.py: don't set HAL_GPIO_LED_OFF
this value is the default value anyway, so don't make many copies..
2024-04-03 11:00:24 +11:00
Peter Barker 10627d296d hwdef: remove HAL_GPIO lines which are simply the default values
... or the _OFF entry, which is simply !HAL_GPIO_MED_ON
2024-04-03 11:00:24 +11:00
Peter Barker 99dd85d51c AP_HAL_ChibiOS: enforce HAL_GPIO_LED_OFF is not(HAL_GPIO_LED_ON)
the current "flexibility" allows for ON/OFF to be the same value.

Many hwdef files where only setting one of these, leaving the other at teh default, too....
2024-04-03 11:00:24 +11:00
mateksys b904ab27f8 AP_HAL_ChibiOS: add MatekH7A3 defaults.parm 2024-04-02 15:29:55 +11:00
mateksys 4c3800c462 AP_HAL_ChibiOS: modify MatekH7A3 hwdef 2024-04-02 15:29:55 +11:00
Peter Barker 33e5b20709 hwdef: re-add ESC control to AP_Periph units which lost it
I'm quite sure that several of these don't actually want it, but want NFC
2024-04-02 11:28:27 +11:00
Peter Barker 416f7d393a hwdef: remove DISABLE_SERIAL_ESC_COMM AP_Periph boilerplate
... use the defaults file instead
2024-04-02 11:28:27 +11:00
Peter Barker f28cfc9a3b hwdef: remove handling of FULL_CHIBIOS_BOOTLOADER directive
the string FULL_CHIBIOS_BOOTLOADER doesn't exist anywhere else in the source code
2024-04-02 11:20:48 +11:00
Henry Wurzburg b83a895d7b HWDEF: allow all build targets for non-integrated boarda 2024-04-02 10:17:21 +11:00
Peter Barker 8fc76e7455 hwdef: remove extraneous lines from hwdef files
these either come from includes are duplicated in these files
2024-03-26 11:09:03 +11:00
Peter Barker 395f438b42 chibios_hwdef.py: print error message if a define is re-defined at top level with same value 2024-03-26 11:09:03 +11:00
Peter Barker eca2fd92b2 chibios_hwdef.py: correct extraction of intdefines
another regex problem
2024-03-26 11:09:03 +11:00
Peter Barker 1f3b4c47a0 hwdef: make a skyviper.inc, use it on skyviper-journey 2024-03-26 11:07:42 +11:00
Peter Barker df19fed523 AP_HAL_ChibiOS: remove VRBrain board sub-types
these were only used to turn choose between AP_Notify LED backends, which can be done much more neatly with specific features defines.
2024-03-26 11:06:13 +11:00
Peter Barker d663f14e3e AP_HAL_ChibiOS: remove HAL_BOARD_SUBTYPE_CHIBIOS_FMUV4
this isn't used for anything
2024-03-26 10:59:23 +11:00
Peter Barker 813f0cf428 hwdef: remove save_some_flash.inc
all but one board was getting all of these includes from minimize_fpv_osd, and the remaining board had most lines foming from minimize_features.inc.

This file has served its purpose, its role now taken on by minimize_fpv_osd.inc
2024-03-24 20:15:53 +11:00
Peter Barker 85d25b205f hwdef: remove unused STM32_PWM_USE_ADVANCED defines 2024-03-23 22:04:34 +11:00
Peter Barker 5d369b2634 chibios_hwdef.py: correct extraction of intdefines from hwdef files
many of our hwdef files contain lines which look like this:

define STM32_PWM_USE_ADVANCED TRUE

The current regex does not allow for numbers in those define, so the regex ends up matching "STM" as a name....

the "intdefines" hash which is populated from these is only used internally to chibios_hwdey.py for logic purposes, not directly in hwdef output purposes, and none of the strings which it looks at contain numbers at the moment, so this is a non-functional change.
2024-03-23 15:23:08 +11:00
Andrew Tridgell 663a41a1f0 hwdef: probe external i2c compasses on MatekL431-GPS 2024-03-23 08:29:24 +11:00
Tim Tuxworth f4d19275fc Chibios: CubeRed - change NET_ENABLED to NET_ENABLE 2024-03-20 19:08:31 +11:00
Andy Piper d2b50edf12 AP_HAL_ChibiOS: Orqa F405 Pro 2024-03-20 19:04:21 +11:00
Andrew Tridgell d3a37d1357 HAL_ChibioOS: fixed FDCAN -> CAN labels
we use CAN1_RX not FDCAN1_RX in our MCU files
2024-03-20 14:26:23 +11:00
Alex P 4b082eb579 hwdef: added JHEMCUGF16F405 2024-03-19 19:53:03 +11:00
Wu 3fbf3368fc AP_HAL_ChibiOS: added RadiolinkPIX6 support 2024-03-19 19:50:42 +11:00
Peter Barker 1d4e0a784c AP_HAL_ChibiOS: rename GPS_ to GPS1_ 2024-03-19 19:50:12 +11:00
Peter Barker 1ee7ef37ab AP_HAL_ChibiOS: adjust for GPS parameter renames 2024-03-19 19:50:12 +11:00
Peter Barker 7ea2928e52 AP_HAL_ChibiOS: allow IOMCU to be turned off in includes 2024-03-18 09:57:12 +11:00
Andrew Tridgell e983738c38 HAL_ChibiOS: fixed a cache corruption issue on H7
This fixes a bug introduced in this PR:

https://github.com/ArduPilot/ardupilot/pull/25900

the bug is that when we don't go via the bouncebuffer on H7 we were
also skipping the cache invalidate/flush ops. This caused data
corruption for filesystem operations, particularly noticible as lua
scripts failing to load with parse errors or log corruption
2024-03-16 21:57:33 +11:00
Andrew Tridgell d1deb1c53b hwdef: added MatekL431-HiRes build 2024-03-16 20:10:35 +11:00
Michelle Rossouw 533eb73622 hwdef: Make Crazyflie2 board only autobuild for Copter 2024-03-15 21:11:40 +11:00
Minderring b316b3ab46 hwdef: added MicoAir405v2 2024-03-15 13:04:29 +11:00
Andy Piper 1e0d271fef AP_HAL_ChibiOS: always normalize ESC channel when using iomcu 2024-03-14 06:40:04 +11:00
Tom Pittenger 9feccd6671 AP_HAL_Chibios hwdef script: remove h747 adc duplicate pin definitions 2024-03-13 18:52:05 +11:00
Randy Mackay 9b981cc7f3 AP_HAL_ChibiOS: CubeRedSecondary IMU orientation fix
Also remove duplicate RC_IN serial protocol
2024-03-13 18:51:18 +11:00
Patrick José Pereira ce9fa18800 AP_HAL_ChibiOS: Use new default for reboot
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2024-03-12 21:13:41 +11:00
Andy Piper 3f681e4626 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-12 09:26:58 +11:00
Peter Barker 96ee586eaa AP_HAL_ChibiOS: move AC_Avoidance defines into libraries 2024-03-11 18:07:18 +11:00
jfbblue0922 7ba9030129 AP_HAL_ChibiOS/hwdef: add LED_SAFETY for JFB100 board definition 2024-03-06 18:52:35 +11:00
Peter Barker b09dd7b866 AP_HAL_ChibiOS: move defaulting of HAL_WITH_ESC_TELEM for periph 2024-03-05 12:37:40 +11:00
subashchandar 7db7f95a3b AP_HAL_ChibiOS: hwdef: Add new hardware pixflamingo f7 2024-03-04 23:26:50 +00:00
Peter Barker 077dd82bdc AP_HAL_ChibiOS: add and use AP_CUSTOMROTATIONS_ENABLED
also add to build_options.py
2024-03-03 08:22:46 +11:00
Andy Piper b248ba5f1b AP_HAL_ChibiOS: provide start time and timeout to all dshot APIs that require it
correct timeout checking for dshot across timer wrap boundaries
fix trigger_groups timeout checks
use rcout_timer_t instead of uint32_t or uint64_t
2024-02-28 22:25:48 +11:00
Randy Mackay fb5df80932 AP_HAL_ChibiOS: AP_Periph does not use AP_VisualOdom 2024-02-28 18:52:37 +11:00
Andy Piper b359ec89a5 AP_HAL_ChibiOS: use standard FPV config for SpeedyBeeF405WING 2024-02-28 18:48:14 +11:00
jfbblue0922 dac1b2e99c AP_HAL_ChibiOS/hwdef: update JFB110 board definition 2024-02-28 15:55:29 +09:00
Andy Piper 242f679206 AP_HAL_ChibiOS: remove iomcu dshot from Pixhawk1-1M and add to Pixhawk1-bdshot
add support for removing ROMFS from hwdef
2024-02-27 12:06:57 +11:00
Iampete1 d4daa990f8 AP_HAL_ChibiOS: hwdef.py: define `HAL_HAVE_AP_ROMFS_EMBEDDED_LUA` if lua files in ROMFS 2024-02-27 11:09:08 +11:00
Peter Barker 2e2b1c9fac AP_HAL_ChibiOS: allow AP_TERRAIN_ENABLED to be turned off in hwdef
adds the ifndef, and changes things to the path defines are undefined if it is false
2024-02-27 11:04:02 +11:00
Peter Barker df3267c9ba waf: remove SKETCH and SKETCHNAME from build sysmte
... renaming one of them to AP_BUILD_TARGET
2024-02-26 15:42:25 +11:00
Peter Barker 3a38aeda59 AP_HAL_ChibiOS: set scheduler task to -4 when running callback tasks 2024-02-21 18:56:50 +11:00
Peter Barker 4113290153 AP_HAL_ChibiOS: remove HerePro
to be replaced by a HereProAP
2024-02-15 13:42:14 +11:00
Peter Barker 5d421e8ee3 AP_HAL_ChibiOS: allow AP_Periph to use mavlink library 2024-02-15 12:17:07 +11:00
Peter Barker 1862b5dc27 chibios_hwdef.py: allow re-use of bootloader from other boards 2024-02-10 21:41:30 +11:00
Andrew Tridgell e8b4010899 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-02-09 18:55:08 +11:00
bugobliterator 9919af69bc AP_HAL_ChibiOS: add config to enable sccripting on CANMod 2024-02-07 18:31:02 +11:00
Henry Wurzburg 2729b11b2f hwdef: add ASP5033 airspeed in minimal builds 2024-02-06 11:27:18 +11:00
Peter Barker 4c272d21ee AP_HAL_ChibiOS: make compass.mag_cal_fixed_yaw return boolean
this method could be used from a transmitter without GCS enabled, for example
2024-02-06 11:11:27 +11:00
Peter Barker 9961e8c49d hwdef: remove bad hwdef lines
these have no effect
2024-02-06 10:58:44 +11:00
Peter Barker 0d26118b12 hwdef: tidy AP_Radio includes 2024-02-05 09:26:14 +11:00
Andrew Tridgell 85439360d7 HAL_ChibiOS: fixed I2C4 on STM32G4 2024-02-05 07:36:14 +11:00
Andrew Tridgell 1e4f597e02 HAL_ChibiOS: fixed support for STM32H7A3
need to tell ChibiOS this is a newer H7
2024-02-03 08:36:18 +11:00
Peter Barker a82b7f20c9 AP_HAL_ChibiOS: use HAL_LOGGING_ENABLED in place of HAL_BOOTLOADER_BUILD
bootloader already disables GCS, so we can rely on HAL_GCS_ENABLED in place of HAL_BOOTLOADER_BUILD
2024-02-02 19:21:58 +11:00
David O'Connor 078697c825 hwdef: add AnyLeaf H7 board 2024-02-01 11:43:57 +11:00
Leonardo Garcia 5749bd5074 AP_HAL_ChibiOS: mRo KitCAN revC board fix
Add RM3100 reversal mask to deal with M10025C board changes.
2024-02-01 11:43:35 +11:00
Andrew Tridgell 33f6a1d87e hwdef: added MatekH7A3 support 2024-02-01 11:43:24 +11:00
Andrew Tridgell 054fb94e9a HAL_ChibiOS: added support for STM32H7A3
interesting MCU as it is the first H7 we support that doesn't have a
128k flash sector size
2024-02-01 11:43:24 +11:00
Andrew Tridgell 3171b5321a HAL_ChibiOS: support flash storage with 8k sectors
this allows for doubling up sectors to give an effective sector size
of 16k, allowing for flash storage with a useful storage size
2024-02-01 11:43:24 +11:00
Andrew Tridgell 07d0418cf9 HAL_ChibiOS: fixed flash support on H7 with 8k page size
the STM32H7A3xx has 8k pages
2024-02-01 11:43:24 +11:00
yjuav 8e71cf83cd hwdef: add YJUAV_A6Ultra board support 2024-02-01 11:29:11 +11:00
Andrew Tridgell 30497244d9 HAL_ChibiOS: whitespace fixes 2024-01-30 12:32:23 +11:00
Andrew Tridgell 0a6057f2b3 HAL_ChibiOS: adjust clocks for H723 and H730
FDCAN clock must be 80MHz, and also align no-crystal clocks with
clocks for boards with crystals
2024-01-30 12:32:23 +11:00
Andrew Tridgell aea2863141 hwdef: Added BotBloxSwitch 2024-01-30 12:32:23 +11:00
Andrew Tridgell 967af533b9 HAL_ChibiOS: fixed flash page count on H723
single bank H7 has 8 pages
2024-01-30 12:32:23 +11:00
Andrew Tridgell 4eaf5ef247 HAL_ChibiOS: support STM32H723 boards 2024-01-30 12:32:23 +11:00
Andrew Tridgell e772012e01 HAL_ChibiOS: raise SDMMC clock limit on H7
this allows for faster log download on ethernet
2024-01-29 06:51:11 +11:00
Andrew Tridgell a2707b48c5 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:02 +11:00
Andrew Tridgell 2d031a4d20 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:02 +11:00
Andrew Tridgell 1c8048df8f 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:02 +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
Peter Barker 7cf66d917c hwdef: correct compilation of revo-mini-sd
this isn't built on the firmware server, so we won't notice when it dies

In this case the SMBUS batter define was being set differently

Also remove some redundant defines which come from includes anyway
2024-01-15 20:24:37 +11:00
Peter Barker d4f59cbe5f hwdef: remove HAL_NO_LOGGING from Here4FC-bl.dat
this was removed from master a long time ago
2024-01-15 09:40:35 +11:00
Peter Barker ad90e37f21 hwdef: remove bad AP_PERIPH_HAVE_LED lines from bootloaders
this define is only used within the AP_Periph directory
2024-01-15 09:40:35 +11:00
Andrew Tridgell 60c69d052b hwdef: added scripting to CubePilot-PPPGW 2024-01-12 19:06:49 -08:00
Andrew Tridgell faea203af6 hwdef: added web UI to PPPGW example 2024-01-12 19:06:49 -08:00
Andrew Tridgell 2c946b92e9 hwdef: added Pixhawk6X-PPPGW 2024-01-12 14:23:34 -08:00
Andrew Tridgell 280d7c6d15 hwdef: added CubePilot-PPPGW 2024-01-12 14:23:34 -08:00
Davide_Lentini 5fdcd876ee AP_HAL_ChibiOS: Update defaults.parm of luminousbee5 board 2024-01-12 20:45:11 +09:00
Andy Piper 3caf336b0f AP_HAL_ChibiOS: switch BetaFPV-F405, BeastF7 and BeastF7v2 to minimize_fpv 2024-01-10 18:32:53 +11:00
Iampete1 416a41e756 AP_HAL_ChibiOS: Only test SPI clock if SPI is enabled 2024-01-10 13:46:40 +11:00
Maxim Buzdalov 809e15acf4 hwdef: Add pinout for Flywoo GOKU F745 AIO v1.2 2024-01-09 10:57:29 +11:00
bugobliterator 57ccac308d AP_HAL_ChibiOS: Add readme file to Here4 FC 2024-01-08 07:05:34 +11:00
bugobliterator ec15951b06 AP_HAL_ChibiOS: add hwdef for Here4FC 2024-01-08 07:05:34 +11:00
bugobliterator bea8b25c5d AP_HAL_ChibiOS: add support for early initialisation of WATCHDOG
This is needed for Ardupilot Vehicle builds running on AP_Periph bootloaders
2024-01-08 07:05:34 +11:00
Andrew Tridgell 6ea2c28a4d HAL_ChibiOS: fixed DMA on SPI on H743
this fixes DMA failures affecting IMUs on H743. The reason for the
failure is not yet clear, but this reverts back to our old stragegy of
always using the bouncebuffer on H7 as a quick workaround
2024-01-07 19:10:25 +11:00
Andrew Tridgell c54aa0241a HAL_ChibiOS: added mem_is_dma_safe() function
used for bouncebuffer code and in FATFS code
2024-01-05 06:52:11 -08:00
Peter Barker c557e67aff chibios_hwdef.py: populate intdefines as part of parsing, not output 2024-01-04 20:29:14 +11:00
jamming 6fe7a1408e hwdef: Add support for BMI088 on Pixhawk6c 2024-01-04 07:17:24 +11:00
Peter Barker ed1ae3b5f1 chibios_hwdef.py: add quiet option to remove parsing debug output 2024-01-03 18:04:37 +11:00
Andrew Tridgell cc8c671cb7 HAL_ChibiOS: don't link evtimer in chibios_board.mk 2024-01-03 12:14:47 +11:00
Andrew Tridgell 418897c443 HAL_ChibiOS: removed old lwip options 2024-01-03 12:14:47 +11:00
Andrew Tridgell 936bbeda88 AP_HAL_ChibiOS: added PRIORITY_NET 2024-01-03 12:14:47 +11:00
Andrew Tridgell 9456b585fa HAL_ChibiOS: don't link lwip bindings from ChibiOS 2024-01-03 12:14:47 +11:00
Andrew Tridgell 5748adbf44 HAL_ChibiOS: allow for networking without ethernet 2024-01-03 12:14:47 +11:00
Peter Barker d5ddbad27f HAL_ChibiOS_Class: adjust for dsp disappearing from HAL constructor 2024-01-03 11:45:31 +11:00
Andrew Tridgell c0d0aeee86 HAL_ChibiOS: reimplement CAN with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell 8a027eddb0 HAL_ChibiOS: implement BinarySemaphore
and removed event handles
2024-01-03 07:37:05 +11:00
Andrew Tridgell c2011570f7 HAL_ChibiOS: use chSysLock for CAN critical section
this avoids an assert in some code paths that combine with hrt
functions
2024-01-03 07:37:05 +11:00
Peter Barker 467daeb4a6 hwdef: tidy checking of is-bootloader-build 2024-01-02 13:00:15 +11:00
alexklimaj c53d3ae09b hwdef: ARK_CANNODE add rangefinder 2024-01-02 11:58:35 +11:00
Andrew Tridgell 0a8faa83d9 HAL_ChibiOS: allow for up to 12.5MBps on H7 UARTs
use 8x oversampling instead of 16x oversampling
2024-01-02 08:12:37 +11:00
alexklimaj e9f51a96cb hwdef: ARKV6X add USART6 to serial list 2024-01-01 13:17:06 +11:00
Andrew Tridgell 1e626a70cb hwdef: added MatekL431-Serial 2023-12-27 05:13:14 -07:00
Andrew Tridgell 46171a7c79 hwdef: give a more useful error message on no bootloader 2023-12-27 21:45:13 +11:00
Andrew Tridgell d2d2067f1c HAL_ChibiOS: fixed micros and millis on boards without 1MHz clock 2023-12-24 10:10:14 +11:00
Andrew Tridgell 4a59097b5e HAL_ChibiOS: use C implemention of div1000 2023-12-21 09:09:11 +11:00
bugobliterator cf481a8952 AP_HAL_ChibiOS: allow option to enable scripting on CubeRedSecondary 2023-12-21 07:30:25 +11:00
Andrew Tridgell 65cae116a2 hwdef: fixed build of CarbonixL496 2023-12-20 20:07:35 +11:00
Andrew Tridgell a94484d770 HAL_ChibiOS: fixed SPI build on F1xx
F1 does not have palReadLineMode()
2023-12-20 19:33:12 +11:00
Andrew Tridgell 6dbc3b6a70 HAL_ChibiOS: speed up millis(), micros64() etc
these use faster primitives and an assembly division by 1000 to get
between 2x and 3x speedup on these critical calls
2023-12-19 11:47:24 +11:00
Thomas Watson 2aa4ee8ba7 AP_HAL_ChibiOS: remove references to legacy UART order from hwdefs 2023-12-19 06:53:15 +11:00
Thomas Watson dc4438d0e3 AP_HAL_ChibiOS: eliminate legacy UART ordering/references
SERIAL_ORDER has been around for a few years now and UART_ORDER is
rejected by the hwdef script, so support for UART_ORDER and associated
processing in the hwdef script is removed, along with the order
conversion script.
2023-12-19 06:53:15 +11:00
Thomas Watson 507ab623b2 AP_HAL_ChibiOS: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00
Andy Piper ea76c0bd01 AP_HAL_ChibiOS: ensure dshot commands are send to all FMU channels when IOMCU is present 2023-12-18 19:02:52 +11:00
Andy Piper d2a48148dd AP_HAL_ChibiOS: allow bdshot iomcu on non-bdshot fmu 2023-12-18 19:02:52 +11:00
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