Commit Graph

52 Commits

Author SHA1 Message Date
Iampete1
21ad679b61 AP_HAL_ChibiOS: GPIO: read: support virtual read of IOMCU pins 2024-07-31 18:13:01 +10:00
Iampete1
60d579dc88 AP_HAL_ChibiOS: GPIO: Check IOMCU after local pins for speed 2024-07-31 18:13:01 +10:00
Andrew Tridgell
8dbad82c8a AP_HAL_ChibiOS: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell
3a84f35593 HAL_ChibiOS: support building with no GPIOs 2024-01-21 12:30:08 +11:00
tsubashmail@gmail.com
ae9e15ade5 HAL_ChibiOS: port for STM32L4+ processor
Added support for stm32l4+ processor

- Added scripts for hwdef generation
- Tested in custom hardware prototype (stm32l4r5vit6)
- Tested all peripherals and auto pilot modes.
2023-04-14 07:48:56 +10:00
Iampete1
4934808ba8 AP_HAL_ChibiOS: GPIO: retry pins after ISR flood and add arming check 2023-03-22 09:27:35 +11:00
Randy Mackay
1ee01577f6 AP_HAL: add GPIO::pin_to_servo_channel method 2022-04-26 15:19:28 +09:00
Randy Mackay
588a75a883 AP_HAL_ChibiOS: GPIO comment removes mention of BRD_PWM_COUNT 2022-04-26 15:19:28 +09:00
Andrew Tridgell
5ef9c5aaa5 HAL_ChibiOS: constrain more timer timeouts 2022-04-05 17:46:52 +10:00
Andrew Tridgell
638e20a0b9 HAL_ChibiOS: bring in hal.h where it is needed 2022-02-22 12:13:19 +11:00
Peter Barker
e7f1a273e5 AP_HAL_ChibiOS: remove unused pin-related defines
Unused
2021-11-20 11:08:48 +11:00
Andrew Tridgell
6fa9768eab HAL_ChibiOS: support GPIO get_mode and set_mode 2021-10-12 15:47:51 +11:00
Iampete1
a96150a528 AP_HAL_ChibiOS: allow enabling GPIO as alt config 2021-09-29 19:55:21 +10:00
Iampete1
ade01f41d9 AP_HAL_ChibiOS: support digital write via IOMCU 2021-09-28 09:40:25 +10:00
Andrew Tridgell
0212e23cd3 HAL_ChibiOS: added support for STM32L496 MCUs
good MCU for AP_Periph
2021-09-24 18:08:00 +10:00
Andrew Tridgell
d8b8facdd0 HAL_ChibiOS: fixed off by 1 bug in GPIO check 2021-07-24 18:18:57 +10:00
Andrew Tridgell
d302d3c90a HAL_ChibiOS: implement valid_pin() 2021-07-22 07:48:12 +10:00
Andrew Tridgell
54e53ed71c HAL_ChibiOS: use is_GPIO() instead of BRD_PWM_COUNT 2021-07-22 07:48:12 +10:00
Andrew Tridgell
439a944801 HAL_ChibiOS: added support for STM32G474 MCU 2021-03-23 12:01:20 +11:00
Andrew Tridgell
46976c4358 HAL_ChibiOS: fixed remapping of ioline_t with BRD_ALT_CONFIG
when a peripheral is made available via BRD_ALT_CONFIG we need to
remap the existing ioline_t in the UART and I2C drivers to use the new
pin.

This fixes an issue with half-duplex, inverted, swapped UART pins for
protocols like FPort and FPort2
2020-10-28 19:51:45 +11:00
Andrew Tridgell
e471b23f58 HAL_ChibiOS: add a max quota of GPIO interrupts
This implements a max quota of GPIO interrupts per 100ms period to
prevent high interrupt counts from consuming all CPU and causing a
lockup. The limit is set as 10k interrupts per 0.1s period. That limit
should be high enough for all reasonable uses of GPIO interrupt
handlers while being below the level that causes significant CPU loads
and flight issues

This addresses issue #15384
2020-10-02 09:38:24 +10:00
Andrew Tridgell
7320cd3174 HAL_ChibiOS: fixed assert in wait_pin() 2020-04-27 14:01:04 +10:00
Andrew Tridgell
ffe773ff6f HAL_ChibiOS: use DRDY pin for ADIS16470 on mRoNexus 2020-04-23 07:28:13 +10:00
Andrew Tridgell
450871cde1 HAL_ChibiOS: added wait_pin() implementation 2020-04-23 07:28:13 +10:00
Andrew Tridgell
66dd5925cf HAL_ChibiOS: added support for alternative pin configs 2020-01-02 09:52:57 +11:00
Andrew Tridgell
0751756e91 HAL_ChibiOS: retain OPENDRAIN if set on a pin
this allows OPENDRAIN when set on a pin to be retained when set with a
pinMode(). This fixes a partially lit B/E LED on the Pixhawk4
2019-11-17 11:45:38 +11:00
Mirko Denecke
b84dcd483d AP_HAL_ChibiOS: remove unnecessary tabs and whitespaces 2019-10-21 08:01:56 +11:00
Andrew Tridgell
a9e29f7556 HAL_ChibiOS: added pullup/pulldown support on GPIO
using the convention of write() on an input pin to set pullup/pulldown
2018-09-06 07:20:46 +10:00
Peter Barker
2209e4a697 AP_HAL_ChibiOS: new HAL functor-based methods
AP_HAL_ChibiOS: adjust for irq-type enumeration change

AP_HAL_ChibiOS: implement attach-AP_HAL::Proc to interrupt interface
2018-08-21 20:34:01 +09:00
Lucas De Marchi
668c941717 Global: use new version of ARRAY_SIZE 2018-08-04 15:31:55 +10:00
Andrew Tridgell
64c8ca514c HAL_ChibiOS: fixed attach_interrupt check
we can't have two handlers on the same pad
2018-08-03 13:44:59 +10:00
Andrew Tridgell
7aba99e229 HAL_ChibiOS: fixes for ChibiOS version update 2018-08-03 13:44:59 +10:00
Siddharth Purohit
4e8d072d6d HAL_ChibiOS: move to using recent pal driver api for GPIO IRQ events 2018-08-03 13:44:59 +10:00
Michael du Breuil
6fba374069 AP_HAL_ChibiOS: Remove GPIO::analogPinToDigitalPin() 2018-07-11 23:09:52 -07:00
Andrew Tridgell
3292abaa19 HAL_ChibiOS: fixed F412 build 2018-07-10 11:48:06 +10:00
Andrew Tridgell
e4ce2f532b HAL_ChibiOS: make smaller builds possible
this allows for much smaller builds when you disable a lot of
options. This is part of an effort to create a bootloader of less than
16k using ChibiOS
2018-04-12 11:50:44 +10:00
Andrew Tridgell
96cc657bd0 HAL_ChibiOS: fixed GPIO interrupt port mapping 2018-04-09 15:32:04 +10:00
Andrew Tridgell
68293c9c11 HAL_ChibiOS: don't require GPIO() markers on PWM outputs
this fixes blheli pass-thru on MindPX-v2
2018-04-09 15:32:04 +10:00
Andrew Tridgell
9a29c6d3b5 HAL_ChibiOS: implement DigitalSource() 2018-04-07 09:10:29 +10:00
Andrew Tridgell
b350b07593 HAL_ChibiOS: allow internal GPIO fuctions to use disabled pins 2018-04-07 09:10:29 +10:00
Andrew Tridgell
382772d999 HAL_ChibiOS: initial support for ESC serial output 2018-04-07 09:10:29 +10:00
Andrew Tridgell
591e0c2249 HAL_ChibiOS: allow control of interrupt port
F412 has radio IRQ on port B
2018-02-08 17:36:33 +11:00
Andrew Tridgell
867e7ebf71 HAL_ChibiOS: auto-generate GPIO table from hwdef.dat 2018-01-15 11:46:02 +11:00
Andrew Tridgell
f14a847b97 HAL_ChibiOS: rename classes to remove 'Chibi'
it is redundent as all classes are in ChibiOS namespace, and makes the
code harder to read
2018-01-15 11:46:02 +11:00
Andrew Tridgell
d65ec2ada7 HAL_ChibiOS: moved more headers to common
allow customisation, but don't require every port to copy the defaults
2018-01-15 11:46:02 +11:00
Andrew Tridgell
f5c8754d75 HAL_ChibiOS: use ARRAY_SIZE_SIMPLE
this allows for boards without a device type (eg. no SPI bus)
2018-01-15 11:46:02 +11:00
Andrew Tridgell
280140bf25 HAL_ChibiOS: added support for MindPX-v2 2018-01-15 11:46:02 +11:00
Andrew Tridgell
41be81af34 HAL_Chibios: added hardware flow control for UARTs
implement RTS in software and CTS in hardware
2018-01-15 11:46:02 +11:00
Andrew Tridgell
c3435e45c5 HAL_ChibiOS: initial port to FMUv4 2018-01-15 11:46:02 +11:00
Andrew Tridgell
b57f8f01c6 HAL_Chibios: fixed return for read on invalid gpio pin 2018-01-15 11:46:02 +11:00