David Sidrane
ebc8ecdee6
board_hw_rev_ve:ADC returns 32 bits
2022-03-22 21:15:03 -04:00
David Sidrane
1c224be8f6
stm32h7:ADC fix CCr Access
2022-03-22 21:15:03 -04:00
Jukka Laitinen
77f71e61d2
Add a generic hrt driver userspace interface
...
This adds a nuttx userspace interface for hrt driver, communicating with
the actual px4 hrt driver via BOARDCTL IOCTLs
This is be used when running PX4 in NuttX protected or kernel builds
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2022-02-25 13:35:14 +01:00
Jukka Laitinen
9f049b4dca
Inline ts_to_abstime and abstime_to_ts
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2022-02-25 13:35:14 +01:00
Charles Cross
f31f3370ef
Add support for Timer15 on H743 boards ( #19228 )
...
* Adds Timer15 to stm32_common, if the timer base is defined
* Adds Timer15 logic for DMA and AltFunc config on stm32h7 boards
* Adds TIM15 BDTR->MOE support in stm32_common timer init
* Adds support for TIM15 pwm channels on Matek H743 Slim
2022-02-21 16:52:38 -05:00
David Sidrane
cb06f82f0f
gnss-m9n-f4:Board support clean up
...
SD is on SPI3 - correct pin mapping
Fix DMA Mapping for all SPI and RX DMA on U[S]ART RX
Fix Memory MAP SRAM size
Removed unused GPIO
Used proper I2C definitions
Ensure Watchdog is configured for debugging
Fixed FLASH param definitions
Removed unedded SPI init
matek_gnss-m9n-f4:Correct Board ID and Size
Build order SJF
Added Support for F40x
2022-02-01 21:49:29 -05:00
Jukka Laitinen
d181fe0cee
nuttx/stm io_pins: link to drivers_board for timer_io_channels dependency
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2022-01-27 12:42:40 -05:00
Jukka Laitinen
76d4b6c7d0
arch_board_reset: link to nuttx_arch / nuttx_karch for up_systemreset dependency
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2022-01-27 12:42:40 -05:00
Jukka Laitinen
54f1e12684
Link arch_spi with drivers_board
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2022-01-27 12:42:40 -05:00
Beat Küng
92769bd2b2
dshot: remove BOARD_DSHOT_MOTOR_ASSIGNMENT & handle timer channel gaps
2022-01-21 20:41:15 -05:00
Daniel Agar
446729566d
platforms/nuttx: px4io_serial always cleanup DMA before next bus exchange
...
- this really shouldn't be necessary, but worst case it's harmless and
much better than potentially falling out of the sky
2022-01-19 18:00:18 -05:00
Beat Küng
cd2bb14f9b
stm32h7/micro_hal.h: add RCC_APB1ENR_TIM4EN
2022-01-17 10:41:33 -05:00
Daniel Agar
a4040f7afd
px4io_serial: always perform full abort DMA on error
...
- enable DMA error perf count
2021-12-23 12:48:42 -05:00
Igor Mišić
298a8c4637
boards/fmu-v5x: allocating PPS pin
...
- start pps_capture before pwm_out
2021-12-17 07:56:08 +01:00
Igor Mišić
60a212f717
px4_arch: add PX4_MAKE_GPIO_EXTI
2021-12-17 07:56:08 +01:00
Daniel Agar
7b7b7acd36
i2c_spi_buses: respect CONFIG_I2C and CONFIG_SPI
...
- bmp280, dps310, and ms5611 barometers support boards without I2C
2021-11-15 15:57:33 -05:00
Jukka Laitinen
9299a5c3f6
hrt: Add interface functions for latency counters
...
Add interface functions for fetching latency buckets and counters and use
those in perf_counter.cpp. This cleans up the usage of perf counters, when variables defined in hrt_drv are not referenced directly from perf.
This also enables implementing kernel-userspace interface for those for
nuttx protected/kernel build.
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-11-09 21:24:25 -05:00
Beat Küng
c0f75b1c79
dshot: add missing '#pragma GCC diagnostic push'
2021-10-20 08:11:07 +02:00
Beat Küng
da1df5352c
fix pwm: only update oneshot timers owned by the current pwm_out instance
...
This fixes the case where oneshot was enabled with multi-instance pwm_out,
triggering oneshot updates too close to each other and as a result could
lead to spinning motors while disarmed.
2021-10-18 18:45:19 -04:00
Beat Küng
d9bf03b2dc
holybro/durandal-v1: add capture pins to list of pwm pins
2021-10-18 18:45:19 -04:00
Beat Küng
0ab4a24de8
px4/fmu-v5: add capture pins to list of pwm pins
2021-10-18 18:45:19 -04:00
David Sidrane
7c9903f610
stm32h7:px4io_serial use TRBUFF
...
- includes NuttX with TRBUFF backports
2021-09-29 23:55:00 -04:00
Beat Küng
e73172b537
hrt: remove hrt_elapsed_time_atomic
...
There's no protection on posix
2021-09-23 09:23:08 +02:00
Beat Küng
c5c80e31b6
boards: remove DIRECT_INPUT_TIMER_CHANNELS from board_config.h
2021-09-08 16:10:24 -04:00
Beat Küng
062dd28f4d
camera_capture: use up_input_capture_set directly
...
It reserves the channel and pwm_out will not use it
2021-09-08 16:10:24 -04:00
Beat Küng
9a74c6f3c6
stm32: io_timer: lock around io_timer_allocate_channel and io_timer_get_channel_mode
...
This is to avoid potential race conditions during startup.
All startup code runs sequentially atm, so this is just for robustness
for later (e.g. concurrent pwm_out and dshot start).
2021-09-08 16:10:24 -04:00
Beat Küng
847bd120fa
io_timer: reserve pins & timers on first use
...
This allows modules to do a first-come-first-serve pin/timer reservation
on bootup.
E.g. camera trigger reserves any of the pins, and then PWM/DShot output
will just use the rest of the available pins.
2021-09-08 16:10:24 -04:00
Daniel Agar and David Sidrane
6be7926ed3
px4io: add watchdog
...
- F1 iwdg:Support optional configuable init
Co-authored-by: David Sidrane <David.Sidrane@NscDg.com >
2021-09-01 15:16:00 -04:00
Daniel Agar
7925787f62
px4io_serial: ensure TX DMA is stopped if exiting early on stream error
...
- otherwise the next retry can happen quickly enough that dma setup
hangs waiting for the stream
2021-08-31 23:11:07 +02:00
Beat Küng
f00f3d1a27
dshot: improve performance by removing extra motor_buffer array
...
Reduces CPU load by almost 1.5% @ 2khz on F4 and F7.
This changes the motor ordering on boards where the timer ordering does
not match the order of the timer usage in the channels defintion.
Only omnibus f4sd is affected.
2021-08-16 11:05:39 -04:00
Beat Küng
afed10618b
dshot: inline up_dshot_motor_data_set and up_dshot_motor_command
...
Slight performance improvement (~0.1% @1khz on F4)
2021-08-16 11:05:39 -04:00
Daniel Agar and Julian Oes
e900f2ea54
boards: Advanced Technology Labs (ATL) Mantis EDU support and airfarme (SYS_AUTOSTART 4061)
...
Co-authored-by: Julian Oes <julian@oes.ch >
Co-authored-by: Daniel Agar <daniel@agar.ca >
2021-08-04 17:15:24 -04:00
Beat Küng
c5aef9d512
i2c_spi_buses: add support for multiple instances of the same device on a bus
...
This also simplifies the API a bit, since we anyway have to change the
drivers to pass additional information (the bus device index).
The orientation flag is merged with the rotation.
2021-07-08 12:59:35 -04:00
David Sidrane
9377b02c58
Track NuttX Timer changes
2021-06-16 17:07:47 +02:00
David Sidrane
05bdef867d
Track NuttX syslog change
2021-06-16 17:07:47 +02:00
David Sidrane
6e5a86b6fe
dshot:Matched signature to drv_pwm_output.h
2021-06-16 17:07:47 +02:00
AlexKlimaj
dddd2c3297
drivers/distance_sensor: New Broadcom AFBR-S50LV85D distance sensor driver
...
* Basic Broadcom AFBR-S50 driver using vendor API and binary blob https://github.com/Broadcom/AFBR-S50-API
* fix ARK Flow paw3902 rotation
2021-06-15 12:12:24 -04:00
David Sidrane
32e92ba817
Revert:Pull downs - bad levels cause motor spins
2021-06-01 15:18:47 -04:00
Daniel Agar
ecf2cd3afb
CAN node STM32F7 support and Freefly RTK GPS CAN node
2021-05-16 13:10:02 -04:00
David Sidrane
69e0c2fc10
px4:platform support SPI configuration selection on HW REV
2021-05-10 09:11:50 +02:00
David Sidrane
3d166d3279
PWM:Add Channel mask to up_pwm_servo_arm & up_pwm_servo_deinit
2021-05-05 20:48:06 +02:00
David Sidrane
362db92515
Define PX4_MAKE_GPIO_INPUT_PULL_DOWN
2021-05-05 20:48:06 +02:00
David Sidrane
dcbfc9de2d
io_timer:Fixed imposible logic
2021-05-05 20:48:06 +02:00
David Sidrane
cd2aceb363
stm32_common:board_reset Fix reboot -b broke by canbootloader
2021-05-03 05:21:25 -07:00
David Sidrane
833501dee6
stm32h7:adc fix temperature sensing
2021-03-19 15:48:47 +01:00
dinomani and David Sidrane
4bf894a35d
Update platforms/nuttx/src/px4/stm/stm32h7/include/px4_arch/micro_hal.h
...
Co-authored-by: David Sidrane <David.Sidrane@Nscdg.com >
2021-03-18 06:13:24 -07:00
dino
44b2e0b729
As David request
2021-03-18 06:13:24 -07:00
dino
7c8b7fa44d
Fixed typo and added support for H7 temperature sense on ADC3
2021-03-18 06:13:24 -07:00
dino
6d04a67b02
Moving define to microhal.h files, for each ST architecture. Correct channels were verified with ST_CUBE header files. For the H7 its a simplification for the current used H7x3. Other devices in that family expect the temperarture on channel 18.
...
F1: channel 16
F3: channel 16
F4: channel 18
F7: channel 18
H7: channel 17, on STMf32Hx3
2021-03-18 06:13:24 -07:00
dino
528dc41822
changed #elif to #else, to build on all targets
2021-03-18 06:13:24 -07:00