Commit Graph

181 Commits

Author SHA1 Message Date
Michael du Breuil 81d7240bd9 AP_Periph: fix can mirroring 2024-04-05 10:53:38 +11:00
Peter Barker 7e1a3ae4dc Tools: allow forwards/backwards for DroneCAN type autoconfig
ArduPilot configures a connected DroneCAN GPS based on its GPS Type.

Given parameter name changes, ArduPilot must be able to configure both new and old AP_Periphs, and new AP_Periphs have to cope with being configured by old ArduPilots.
2024-03-19 19:50:12 +11:00
Andrew Tridgell 7790b1ec71 AP_Periph: map MAV_SEVERITY to DroneCAN debug levels 2024-02-22 15:03:01 +11:00
Andrew Tridgell 50332ab23f AP_Periph: check decode for DNA message 2024-02-11 16:48:52 +11:00
Gone4Dirt 26bfedb956 AP_Periph: Send generic equipment temperature data 2024-01-30 10:13:35 +11:00
Andrew Tridgell 9bb29aec36 AP_Periph: ensure no external flash in periph
bootloader protocol cannot support it in its current form
2024-01-21 12:30:08 +11:00
Andrew Tridgell b8e14c166f AP_Periph: fixed SITL build 2024-01-21 12:30:08 +11:00
Andrew Tridgell 38d7af450f AP_Periph: prevent wrap of free memory in VSSC 2024-01-21 12:30:08 +11:00
Andrew Tridgell 9904dca558 AP_Periph: added reboot link to web UI 2024-01-21 12:30:08 +11:00
Peter Barker a77df87b01 Tools: rename sim_periph_gps to sim_gps_universal, recreate sim_periph_gps 2024-01-16 12:16:35 +11:00
Iampete1 a5f2076d21 Tools: AP_Periph: add support for relay via incoming hardpoint command 2024-01-10 18:29:24 +11:00
Peter Barker 3bd8f1a3df AP_Periph: rename rx-protocol-stats ins local to avoid conflict with ins singleton 2024-01-03 11:43:43 +11:00
Andrew Tridgell cd72dcb73f AP_Periph: use a 1s deadline for packets
this fixes an issue with early discard of packets on MCUs with small
number of transmit slots and higher packet send count
2023-12-19 18:56:46 +11:00
Andy Piper 8718261f27 AP_Periph: add CAN_TERMINATE for software driven termination 2023-11-23 12:18:29 -08:00
bugobliterator ec2e92de30 AP_Periph: solve a potential case where last_transmit_us can change inside irqs 2023-11-02 15:55:21 +11:00
Michael du Breuil 6897dd08ef Tools: AP_Periph: Add CAN_MIRROR
This allows us to mirror CAN traffic between ports on demand.
2023-09-19 12:17:28 +10:00
Tom Pittenger ea207c4b4a AP_Periph: add AP_PERIPH_SAFTEY_SWITCH_ENABLED 2023-09-19 09:29:26 +10:00
Andrew Tridgell a732f846e6 AP_Periph: moved CAN_APP_NODE_NAME to AP_Periph.h
needed by battery driver
2023-09-05 06:56:51 +10:00
Andrew Tridgell 78faa5c6b0 AP_Periph: implement can inface masking per message
this prevents sending duplicate messages on an interface when a send
fails on a 2nd interface
2023-09-05 06:56:51 +10:00
Andrew Tridgell 5c8a29b47e AP_Periph: detect dead interfaces in CAN transmit logic
when an interface has not managed to send a packet for 2s then no
longer consider a failed send a reason to keep the packet in the
transmit queue
2023-09-05 06:56:51 +10:00
Andrew Tridgell 0c38dada6c AP_Periph: re-structure peripheral code
split into separate cpp files and avoid static functions
2023-09-01 13:04:59 +10:00
Tom Pittenger 4f2344f397 AP_Peirph: fix battery parameters 2023-08-28 09:14:33 -07:00
Andrew Tridgell 5566ed979d AP_Periph: fixed default CAN node name
use org.ardupilot.BOARD_NAME
2023-08-26 21:12:42 +10:00
Andrew Tridgell 698e38e849 AP_Periph: allow SITL periph with more devices 2023-08-24 13:06:40 +10:00
Andrew Tridgell c151d9bc3d Tools: removed native_millis/micros 2023-08-24 13:06:40 +10:00
Peter Barker ee0a49bb7c AP_Periph: add support for DroneCAN RCInput packets 2023-08-19 20:27:24 +10:00
Tom Pittenger 09de840c8e AP_Periph: add support for RawAirData.Pitot_temperature 2023-08-11 13:20:51 -07:00
Andrew Tridgell 1a4d87bc45 AP_Periph: fixed build with cAN term defines and single CAN 2023-08-01 11:38:03 +10:00
Peter Barker 3c46db5261 AP_Periph: rename ins locals to avoid conflict with ins member variable 2023-08-01 11:37:14 +10:00
Andrew Tridgell 946840cc99 AP_Periph: added targetted tunnel message for CAN serial passthru
this allows for remote control of serial devices over DroneCAN
2023-07-12 17:06:02 +10:00
bugobliterator b6605f5877 AP_Periph: add CAN and Protocol statistics send 2023-07-10 12:56:37 +10:00
Peter Barker 30dea46cc5 AP_Periph: make canard_broadcast non-static
so it can be used from other files in AP_Periph
2023-07-05 14:37:51 +10:00
Peter Barker 0f1de63d7c AP_Periph: move ADSB CAN handling into adsb.cpp 2023-07-05 14:37:51 +10:00
Andrew Tridgell a7d51898da AP_Periph: raise CAN priorty of MovingBaseline data
and raise CAN buffer size for lots of movingbaseline data
2023-06-27 10:32:43 +10:00
Peter Barker 5a33f870c0 Tools: use HAL_PROXIMITY_ENABLED in place of HAL_PERIPH_ENABLE_PRX
boolean truth rather than defines, and simplifies code
2023-06-08 11:53:01 +10:00
Michael du Breuil 3fd2865857 Tools: AP_Periph: fix building of hwesc telem
This was broken by the APD support
2023-05-31 15:08:01 +10:00
Michael du Breuil e2d0cc55d0 AP_Periph: Support APD ESC telemetry 2023-05-25 17:35:27 -07:00
Michael du Breuil 584a1f8c49 Tools: AP_Periph: Reduce the priority of outdoing ADS-B messages
We consume these at line rate from the transciever, don't allow this to
cause unnecessary congestion on the bus, as it may be used for flight
critical functions. A more proper solution would be to behave more like
the actual AP_ADSB library, and simple rate limit how often we send any
updates out to the host device, as well as filtering for distance, but
that requires more information then is currently readily available.
2023-05-25 16:59:32 -07:00
Peter Barker ddcfe5e734 Tools: move and rename CAN Driver_Type enumeration 2023-04-20 08:53:46 +10:00
Andrew Tridgell c7231240c8 Tools: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 7b4e4889c7 AP_Periph: use generated decoder for FW update and actuators 2023-04-10 14:46:54 +10:00
Andrew Tridgell 119b0b15f1 AP_Periph: cope with mixed bxCAN and CANFD packets
this allows for runtime switching of CANFD enable, while supporting
incoming bxCAN packets in CANFD mode
2023-04-10 14:46:54 +10:00
Peter Barker 7995bc5175 Tools: add and use option to compile SLCAN support out of code 2023-03-15 19:08:09 +11:00
Andrew Tridgell 2781f65d56 AP_Periph: limit peripheral mag to 25Hz by default
we only read mag on the vehicles at 10Hz. Some magnetometers were
reporting data at 500Hz (see MMC5xx3 driver)

by sampling more slowly the data is accumulated and averaged on the
node which saves a lot of bandwidth
2023-03-06 17:24:29 -08:00
Andrew Tridgell d3bf7fc946 AP_Periph: rename CAN_PROBE_CONTINUOUS to AP_PERIPH_PROBE_CONTINUOUS 2023-03-06 19:48:07 +11:00
Tom Pittenger 223b91f6b4 Periph: fix sending GPS Heading packet at correct interval 2023-02-25 03:23:07 -08:00
rishabsingh3003 32a0c8935e AP_Periph: Fix hwesc telem temp units 2023-02-22 07:12:47 +11:00
Iampete1 cb6891821e AP_Periph: always call airspeed init to allow param conversion 2023-01-03 10:17:56 +11:00
Andrew Tridgell 69cb6796f3 AP_Periph: send GNSS Heading message
if not sending RelPosHeading then send Heading message if we have yaw
2022-12-20 10:23:58 +11:00
Andrew Tridgell dcab2d2f2a AP_Periph: cope with GPS without yaw accuracy 2022-12-20 10:23:58 +11:00