bugobliterator
27b202e984
AP_Periph: make can broadcast threadsafe, like can_printf call from lua thread
2024-09-16 19:45:24 +10:00
Thomas Watson
dcd34dd39e
AP_Periph: clean up node ID parameter handling
...
Properly document the range and behavior.
Rename storage variable as it doesn't connect to the DNA preferred ID
feature.
2024-09-10 12:36:34 +10:00
Thomas Watson
ebcb753acc
AP_Periph: reject allocation of broadcast node ID
...
It is technically legal to receive an "allocation" of the broadcast node
ID. Fortunately, this was already ignored by `canardSetLocalNodeID`,
though it would trigger an assertion failure if those were enabled.
Fix by rejecting that ID. There is effectively no change in behavior
(except possibly fixes using moving baseline GPSes) but the code now
correctly ignores that ID and retries the allocation as it did before.
2024-09-10 12:31:19 +10:00
Iampete1
0b551ed7bc
AP_Periph: add support for sending extended ESC status
2024-08-20 09:14:11 +10:00
Thomas Watson
f2f1ac39cf
AP_Periph: remove redundant DroneCAN packet buffer initialization
...
The <msg>_encode method always zeros the buffer up to <msg>_MAX_SIZE
bytes so there is no need to do it before calling the function.
Saves at least 8 bytes per instance.
2024-08-03 19:02:39 +10:00
Andrew Tridgell
94841dd608
Tools: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Iampete1
6dcb0af697
AP_Periph: add support for streaming dedicated RPM message
2024-05-02 20:25:38 +10:00
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