Commit Graph

5805 Commits

Author SHA1 Message Date
Daniel Agar 9b1cf98474 drivers/pwm_out: fix launch for non-multi case
- skip _objects[1] access if only 1 possible instance
 - command line request new mode via atomic
2021-03-23 10:40:22 -04:00
Lorenz Meier 6e9f745809 PWM out: Robustify initialization
This ensures that all PWM outputs get correctly inialized on targets that only support one.
2021-03-21 00:21:10 +01:00
Morten Fyhn Amundsen 19533377b3 drv_hrt: Fix hrt_abstime literal argument names
The user-defined literals for milli- and microseconds
should have argument names matching their units. The
current argument names 'seconds' is probably an oversight.
2021-03-19 16:36:36 +01:00
Daniel Agar 8f242ec444 cmake: add jlink_flash_uavcan_bin helper 2021-03-18 19:33:19 -04:00
David Sidrane 395519ac66 uavcan_stm32h7:can driver preserve ordering
Refering to the refernece manual:

     Tx queue operation is configured by programming FDCAN_TXBC.TFQM to 1. Messages
     stored in the Tx queue are transmitted starting with the message with the lowest message
     ID (highest priority). **In case that multiple queue buffers are configured with the same
     message ID, the queue buffer with the lowest buffer number is transmitted first**

    Tx FIFO operation is configured by programming FDCAN_TXBC.TFQM to 0. Messages
    stored in the Tx FIFO are transmitted starting with the message referenced by the get index
    FDCAN_TXFQS.TFGI. After each transmission the get index is incremented cyclically until
    the Tx FIFO is empty. The Tx FIFO enables transmission of messages with the same
    message ID from different Tx buffers in the order these messages have been written to the
    Tx FIFO

    The issue will be cancelation:

    The FDCAN supports transmit cancellation. To cancel a requested transmission from a
    dedicated Tx buffer or a Tx queue buffer the Host has to write a 1 to the corresponding bit
    position (= number of Tx buffer) of register FDCAN_TXBCR. Transmit cancellation is not
    intended for Tx FIFO operation.

    But there is nothing preventing it. This seems to indicate it will
    work. When a transmission request for the Tx buffer referenced by the get index is canceled, the
    get index is incremented to the next Tx buffer with pending transmission request and the Tx
    FIFO free level is recalculated. When transmission cancellation is applied to any other Tx
    buffer, the get index and the FIFO free level remain unchanged.
2021-03-18 18:31:05 +01:00
David Sidrane 52a29ac6cf uavcan_stm32h7:can driver add proper timeouts 2021-03-18 18:31:05 +01:00
Dima Ponomarev e660b50021 uavcan: add IMU sensor support 2021-03-17 18:04:12 -04:00
Lorenz Meier d35ce21594 PWM out: Ensure correct loading on single-bank targets 2021-03-17 22:03:18 +01:00
Lorenz Meier 9490c64ad4 PWM out: provide running state
Important to know if the app is running.
2021-03-17 22:03:18 +01:00
Lorenz Meier dc1e7335a3 UAVCAN: Lower debug print level 2021-03-17 22:03:18 +01:00
Daniel Agar e7722b11eb pwm_out multi-instance support
PX4 uses banks of 8 outputs as a logical structure. Boards that have
more outputs than 8 get multiple instances. This is an arbitrary choice
that helps with overall structure and enables the mixing of different
device classes (like FMU, IO or UAVCAN).
2021-03-17 22:03:18 +01:00
Daniel Agar c1c0a62be5 drivers/gps: log automatic gain control (AGC) monitor 2021-03-17 15:11:43 -04:00
PX4 BuildBot 5ad8ed6994 Update submodule devices to latest Wed Mar 17 00:38:33 UTC 2021
- devices in PX4/Firmware (dd479f9cca): https://github.com/PX4/PX4-GPSDrivers/commit/d7100ddc3dfdbe9702d0d21542a9ca3f4ea42652
    - devices current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/0acaf6185245382389f7f6019cee6537d8f5a8e6
    - Changes: https://github.com/PX4/PX4-GPSDrivers/compare/d7100ddc3dfdbe9702d0d21542a9ca3f4ea42652...0acaf6185245382389f7f6019cee6537d8f5a8e6

    0acaf61 2021-02-26 Beat Küng - output mode: add GPS+RTCM output for PPK
2021-03-17 05:21:20 +01:00
Daniel Agar dd479f9cca drivers/imu/analog_devices/adis16470: Analog Devices ADIS16470 IMU driver for CUAV x7pro 2021-03-16 18:00:06 -04:00
Daniel Agar 4092f87390 paw3902: fixes and improvements
- fully respect datasheet quality and shutter metrics for mode changes
 - use MOTION pin for scheduling if available
 - log light mode
 - refactor common enable LED code
 - respect read and write time delays
2021-03-16 15:52:03 -04:00
Daniel Agar 5d63306427 Update submodule GPS drivers to latest Tue Mar 16 00:40:31 UTC 2021 2021-03-16 00:50:13 -04:00
Daniel Agar 6cdc034f08 camera_trigger: cleanup
- add copyright headers and update year
 - move initializers to header
 - add PX4_DEBUG messages
2021-03-15 12:35:41 -04:00
jciberlin 6f5efbeab5 ghst_telemetry: send battery status
Send battery status (ghst_telemetry). Apply factors to show correct values of volts, amps and mAh. Change ghost protocol code to follow more MISRA C++ guidelines.
2021-03-15 09:42:53 +01:00
Daniel Agar eef304110d uavcan: uavcan_servers only acknowledge supported commands 2021-03-11 15:04:53 -05:00
Daniel Agar bb12fce66c delete RATTITUDE flight mode 2021-03-09 10:47:00 -05:00
Peter van der Perk c4ab2797eb Added the notion of BaseSubscriber which allows to
subsscription for services responses and request and helps the usage of fixed
port subscribers Furthermore move register autconfigure logic from Uavcan.cpp
to NodeManager
2021-03-09 14:35:50 +01:00
CUAVcaijie 9f9b01504d Modify the way to clear Data 2021-03-09 11:00:03 +01:00
Peter van der Perk 18a8d89fa4 PNP fixed allocation scheme
Fixed register scheme
Incrased wq:uavcan stack since it overflowed when sending register response
2021-03-07 21:49:05 +01:00
Peter van der Perk 28c76663cd UAVCANv1 Move PNP from UAVCAN.cpp to NodeManager.cpp 2021-03-07 21:49:05 +01:00
Daniel Agar c9a2d0ed34 IMU_GYRO_RATEMAX set system default to 400 Hz
- MC default is still 800 Hz
2021-03-02 10:08:49 -05:00
Daniel Agar 6b1e7ffdb8 rc_input: fix possible string truncation (-Werror=stringop-truncation) 2021-02-26 17:56:14 -05:00
Daniel Agar e0ade94d25 platforms: add px4_udelay and px4_mdelay
- NuttX: up_udelay and up_mdelay
 - Linux: usleep and msleep
2021-02-26 17:56:14 -05:00
Igor Mišić 5f9a98e316 drivers/gps: update RTC only if time drift for 5s
Add interrupt pause comment to help future code archeologists
2021-02-26 08:36:41 +01:00
斯东Stone e5b689e33c Add TCBP001TA Barometer Driver (#14774) 2021-02-25 07:11:58 -08:00
Beat Küng 0e8c73f4af drivers: remove snapdragon_pwm_out
- it would need to be refactored to use mixer_module
- rather than having a separate driver it should use linux_pwm_out
2021-02-25 09:28:37 -05:00
Beat Küng 3fa825bf88 boards: remove intel/aerofc-v1
it's discontinued
2021-02-25 09:28:37 -05:00
Beat Küng 7e33d03470 drivers: remove tap_esc
- it's not used anymore
- it would need a refactoring to use mixer_module
2021-02-25 09:28:37 -05:00
Beat Küng f0cc8a344b linux_pwm_out: refactor to run on a work queue and use mixer_module 2021-02-25 09:28:37 -05:00
Beat Küng 439fb00aed linux_pwm_out: move protocols to board-specific directories
This also removes the pca9685 output, which was unused, and there's also
pca9685_pwm_out.
2021-02-25 09:28:37 -05:00
斯东Stone b0a5d431d3 optical_flow/thoneflow: update the data timespan 2021-02-24 21:28:29 -05:00
Jacob Crabill 4cca86b5d6 uavcan_v1: Apply feedback from Pavel Kirienko
Co-authored-by: Pavel Kirienko <pavel.kirienko@gmail.com>
2021-02-24 19:22:11 +01:00
JacobCrabill a7a7e33614 uavcan_v1: Rename Subscription --> Subscriber 2021-02-24 19:22:11 +01:00
JacobCrabill b5ac6f1eb8 uavcan_v1: Refactor Pub/Sub class constrctors
Each class now sets the 'subject name', and the base class looks for a
parameter following the format uavcan.pub/sub.SUBJECT_NAME.INSTANCE.id
2021-02-24 19:22:11 +01:00
JacobCrabill c8e66a2f5c uavcan_v1: Rename Publication --> Publisher 2021-02-24 19:22:11 +01:00
JacobCrabill e654fe71f5 uavcan_v1: Fix 'unset' port ID (use 65535) 2021-02-24 19:22:11 +01:00
JacobCrabill 935bf75b61 uavcan_v1: Fix bugs in MixingOutput / EscClient
Also add commented-out code for use with PR-16808
(MixingOutput + output_control)
Bench-tested PWM output on a Pixracer via UAVCANv1 ESC commands from a
Pixhawk 4.
2021-02-24 19:22:11 +01:00
JacobCrabill 04ea1cf5c6 uavcan_v1: Add to EscClient implementation
Add outline of EscServer implementation
Add some comments and cleanup
2021-02-24 19:22:11 +01:00
JacobCrabill 4b73566b76 uavcan_v1: Add Publisher base; Gnss Publisher 2021-02-24 19:22:11 +01:00
JacobCrabill 216a66b535 uavcan_v1: Remove unused vars 2021-02-24 19:22:11 +01:00
JacobCrabill 35f822fca6 uavcan_v1: Working ESC setpoint pub/sub 2021-02-24 19:22:11 +01:00
JacobCrabill 170345040a uavcan_v1: Add rough ESC Client; Reorg Subscribers 2021-02-24 19:22:11 +01:00
JacobCrabill 00814815f4 uavcan_v1: Reorganize uavcan params and Subscriber 2021-02-24 19:22:11 +01:00
JacobCrabill 088014c2e1 uavcan_v1: Basic subscriber working 2021-02-24 19:22:11 +01:00
JacobCrabill b88e8b6684 uavcan_v1: Increase stack size
Also increases stack frame size limit, which was what the compiler was
throwing an error on.
2021-02-24 19:22:11 +01:00
JacobCrabill 70ff6703b7 uavcan_v1: More work on subscribers and reg access
Now running into issues with running out of stack frame memory
For now I'm going to leave the relevant code in so it's at least
readable, but in its current state it will not compile
2021-02-24 19:22:11 +01:00