Commit Graph

6022 Commits

Author SHA1 Message Date
Jukka Laitinen 8497dbb2b5 Add a generic nuttx hrt driver userspace interface
This adds a nuttx userspace interface for hrt driver, communicating with
the actual hrt driver upper half 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>
2021-09-23 13:57:31 +03:00
Jukka Laitinen 8bb6cc07de 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 and
enables implementing kernel-userspace interface for those for
nuttx protected/kernel build.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-23 13:57:31 +03:00
Thomas Debrunner 43ece74fa0 ina238: Do not expose raw adc config to user, make specific to ina238 2021-09-22 10:02:17 +02:00
Thomas Debrunner b8d0bb44c4 ina23X: Support for ina23X power monitors 2021-09-22 10:02:17 +02:00
Julian Oes faca2b17d0 camera_trigger: only get param if available 2021-09-17 12:23:30 +02:00
Daniel Agar e6552370ab imu/invensense: adjust scheduling dynamically if not using data ready interrupt 2021-09-12 17:34:35 -04:00
Claudio Micheli fa4fc5f347 esc_report: change esc_temperature field to allow negative values
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-09-11 15:14:49 -04:00
Beat Küng ae8733c2d4 pwm_input: remove 'test' command and use 'status' instead 2021-09-08 16:10:24 -04:00
Beat Küng f1aafe83b3 pwm_out: cleanup, remove _output_mask & only update owned channels
_pwm_mask reflects the actually owned channels.
2021-09-08 16:10:24 -04:00
Beat Küng a8e75d174c boards: remove BOARD_HAS_PWM and use DIRECT_PWM_OUTPUT_CHANNELS 2021-09-08 16:10:24 -04:00
Beat Küng 1ee423e3c8 pwm_out, dshot: remove mode_* handling and capture ioctl's
They now use all unused pins, whereas camera_capture, camera_trigger and
pwm_input modules start before to reserve their pins.
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 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
ShiauweiZhao 686bcff8a7 new TDK ICM42670p IMU driver support (#18141)
Co-authored-by: zhaoxiaowei <zhaoxiaowei@efy-tech.com>
2021-09-08 10:24:22 -04:00
Daniel Agar 5c7882b787 icm42688p: properly disable anti-aliasing and notch filter 2021-09-08 10:20:57 -04:00
Daniel Agar 4b5a91bf7d experimental driver for the Tattu 12S 16000mAh Smart Battery on /dev/can0 (#18164)
-  This driver is highly specific to this model of Tattu battery and cannot work with other models without code changes. 
 - The driver simply reads CAN frames using the NuttX CAN character device interface and converts the data into the proper format as specified in the Tattu datasheet

Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
2021-09-08 10:20:14 -04:00
Daniel Agar 40e5477edb NuttX boards fix mkfatfs and rcS logic 2021-09-01 15:16:00 -04:00
Daniel Agar 70831a8e2c px4io: checkcrc warn on mismatch 2021-09-01 15:16:00 -04:00
Daniel Agar 8434da6f79 px4io: reduce upload retries 5 -> 2 2021-09-01 15:16:00 -04:00
Daniel Agar 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 ca685490a9 drivers/rc_input: only print vrssi if analog stable 2021-08-30 12:45:56 -07:00
Daniel Agar 15c01a9732 drivers/rc_input: flush buffers when beginning new scan state 2021-08-30 12:45:56 -07:00
Daniel Agar a305fc9c34 drivers/rc_input: only invert RC when starting/ending SBUS 2021-08-30 12:45:56 -07:00
Daniel Agar 79703c9c7a drivers/rc_input: don't resume scanning if armed 2021-08-30 12:45:56 -07:00
Daniel Agar 98f89aae9b drivers/rc_input: always report new lock 2021-08-30 12:45:56 -07:00
Daniel Agar c6a6403ce2 px4io: increase stack 1500 -> 1536 bytes 2021-08-25 21:32:05 +02:00
Jacob Crabill 1ee5f75aa5 uavcan_v1: Add PublicationManager and uORB Publisher (#17863) 2021-08-25 14:56:23 -04:00
Jukka Laitinen 29248cb6b8 Increase gps stack for 64 bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Andrew Brahim 04adf6c9be drivers/distance_sensor/vl53l1x: added multiple region of interest settings (#18073)
Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2021-08-23 14:15:41 -04:00
David Sidrane bf89771710 ina22x:Enabled by paramaters 2021-08-22 14:48:01 -04:00
David Sidrane f819be2075 Support INA228 2021-08-22 14:48:01 -04:00
Beat Küng fdb92d4746 protocol_splitter: check available bytes before read()
This is to avoid blocking in any case.
If we don't do that, ioctl() may signal data available while the other
protocol does a read(), and when the first protocol tries to do a read(),
it would not have data anymore and would block (so this avoids a race
condition).
2021-08-22 10:42:13 -04:00
Beat Küng 5d1e78befb protocol_splitter: return correct FIONSPACE
This is now possible since we don't parse the protocol.
2021-08-22 10:42:13 -04:00
Beat Küng 6edb55c874 protocol_splitter: simplify write()
With the protocol header we don't need to parse the protocol anymore.
2021-08-22 10:42:13 -04:00
Beat Küng 868f9cebb0 protocol_splitter: return 0 when no data to read instead of -1
This avoids mavlink adding another usleep() due to read error
2021-08-22 10:42:13 -04:00
Beat Küng 375b014444 protocol_splitter: reduce poll timeout from 100ms to 10ms
This matches the timeout in mavlink_receiver.
With the higher timeout sending of e.g. mavlink logging was done at a lower
rate.
2021-08-22 10:42:13 -04:00
David Sidrane 376b1c9987 rgbled_ncp5623c:Add comand line mapping of PWM to color 2021-08-20 10:15:57 -04:00
David Sidrane 8e04985940 rgbled_ncp5623c:Needs 2 retries 2021-08-20 10:15:57 -04:00
David Sidrane 74903cf215 rgbled_ncp5623c:Can change address, return actual 2021-08-20 10:15:57 -04:00
David Sidrane cba78081af rgbled_ncp5623c:Document support for ncp5623[c|b] parts 2021-08-20 10:15:57 -04:00
David Sidrane 075cb39c34 vcm1193l:Bug Fix set default address 2021-08-20 10:15:57 -04:00
Daniel Agar 69d1a73f85 Update submodule GPSDrivers to latest Fri Aug 20 12:39:20 UTC 2021 (#18111)
- GPSDrivers in PX4/Firmware (1cbb007b95d375ababeae79f753cfafae9a9a4de): https://github.com/PX4/PX4-GPSDrivers/commit/8af5336d3f112278fd321e2c512453f23a350540
    - GPSDrivers current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/6fcf06894973240d45dc49d3b31565917dc8f2f6
    - Changes: https://github.com/PX4/PX4-GPSDrivers/compare/8af5336d3f112278fd321e2c512453f23a350540...6fcf06894973240d45dc49d3b31565917dc8f2f6

6fcf068 2021-08-18 Femtomes - Femto_gps_driver: change UNLOGALL command
c51adac 2021-08-18 Oleg Evseev - nmea: add rtcm parsing and add debug ouput
2021-08-20 10:14:47 -04:00
Daniel Agar 507cce78d5 boards: px4_fmu-v6{u,x} fix test variant flash overflow and sync defaults 2021-08-19 11:25:21 -04:00
Daniel Agar c4499aa7bb uavcan: save parameter after successful set 2021-08-19 02:06:02 -07:00
Beat Küng 7b9d16d2f8 fix gps: remove Wno-cast-align & fix it 2021-08-18 12:24:17 -04:00
Beat Küng 4b49f9261e gps: add generic nmea driver 2021-08-18 12:24:17 -04:00
Beat Küng 22e2fc9465 gps: add missing case & arguments for femtomes driver 2021-08-18 12:24:17 -04:00
alexklimaj 810dbbd25b AFBR mode switching, rate switching, and test 2021-08-17 19:38:33 -04:00
Daniel Agar cb610caf1e drivers: minimize additional I2C retries 2021-08-17 09:54:50 -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