Commit Graph

411 Commits

Author SHA1 Message Date
Andrew Tridgell 59fe2c9d4e AP_Periph: added reboot for scripting 2024-01-21 12:30:08 +11:00
Andrew Tridgell 46f65aec4e AP_Periph: moved web UI script to Tools/AP_Periph
for use in multiple boards
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
Peter Barker fb1209ff3c AP_Periph: add missing AP_AHRS include 2024-01-15 20:41:58 +11:00
Peter Barker 38a9960b31 AP_Periph: add missing include for AP_RTC
shouldn't be instantiating one of these without directly including the header.

Was being included transitively
2024-01-15 20:41:58 +11:00
Andrew Tridgell c59287bf9b AP_Periph: fixed version handling in periph 2024-01-12 19:06:49 -08:00
Andrew Tridgell 44bc523db8 AP_Periph: added support for PPP gatewate peripheral 2024-01-12 14:23:34 -08:00
Iampete1 a5f2076d21 Tools: AP_Periph: add support for relay via incoming hardpoint command 2024-01-10 18:29:24 +11:00
Peter Barker c22794d078 AP_Periph: add missing SITL includes
these are required for compilation when other things are introduced
2024-01-03 18:33:10 +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 83cfcd841b AP_Periph: added support for SERIAL_OPTIONS
allows for options and flow control per serial port
2023-12-27 05:13:14 -07: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
Peter Barker 576dc9d05f Tools: clamp empy to version 3
API and syntax hanges make 4 problematic
2023-12-03 17:08:00 +11:00
Andrew Tridgell 0a4eb251c6 AP_Periph: disable UART reboot check for non-debug builds
this was causing loss of bytes on GPS peripherals as the reboot check
swallowed data. The option is really only meant for debug builds to
make ./waf AP_Periph --upload work, so disable by default on non-debug
builds

we could just remove this option where it is in hwdef.dat files, but I
know quite a few peripherals are out-of-tree, so this catches the
error for those too

the symptoms were high GPS delta values
2023-11-29 12:53:01 +11:00
Tom Pittenger 7da434d1e0 AP_Periph: fix include order network build error 2023-11-29 12:29:19 +11:00
Tom Pittenger f870b63851 AP_Periph: move Network Passthrough to it's own file 2023-11-26 11:28:57 +11:00
Tom Pittenger 0b60777db6 AP_Periph: add Networking-UART passthrough 2023-11-26 11:28:57 +11:00
Andy Piper 8718261f27 AP_Periph: add CAN_TERMINATE for software driven termination 2023-11-23 12:18:29 -08:00
Peter Barker 47a18596db AP_Periph: correct parameter documentation 2023-11-22 21:43:53 -08:00
Andrew Tridgell 68f5c7b4dc AP_Periph: fixed reply for serial tunnel
add in serial index
2023-11-22 17:19:12 +11:00
Peter Barker b83fc15759 Tools: tidy MSG_MCU_STATUS defines 2023-11-21 13:21:13 +11:00
Tom Pittenger 2c23ae970f AP_Periph: allow showing SerialManager params without HAL_GCS 2023-11-16 10:58:50 -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 00a5c92635 AP_Periph: Rate limit EFI driver updates
Also remove the last update variables for features that were compiled
out.
2023-10-17 10:14:03 +11:00
Peter Barker 566371837c Tools: add and use HAP_PERIPH_ENABLE_RTC 2023-10-11 19:17:27 +11:00
Peter Barker 748dd22f4e AP_Periph: instantiate AP_AHRS even if not in SITL
Closes potential problem with HerePro if it calls AP_AHRS methods
2023-10-04 18:10:58 +11:00
Andrew Tridgell bb004c499f AP_Periph: fixed ADSB peripheral to send heartbeat
and remove duplicated mavlink bindings
2023-10-02 21:45:28 +11:00
Andrew Tridgell 8e7c70a0f2 AP_Periph: support mavlink based simulated devices in SITL periph 2023-10-02 21:45:28 +11:00
Andrew Tridgell 13765ec9ee AP_Periph: fixed array delete in batt_balance 2023-10-02 21:45:28 +11:00
Andrew Tridgell 50ae89ed8c AP_Periph: support per-cell info in periph battery monitoring
useful for SMBus batteries
2023-10-02 21:45:28 +11:00
Michael du Breuil 4381c17cb2 AP_Periph: Fix bad conversion of APD ESC telemetry
le16toh() returns an unsigned type, which keeps the number as positive
when cast to float. It needs to be explictly converted to a signed
number first.

Tested with real hardware.
2023-09-27 08:40:10 -07:00
Tom Pittenger ca7c410b8b AP_Periph: add CAN3 to param CAN_MIRROR_PORTS desc 2023-09-19 12:17:28 +10: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
Peter Barker 5ed1344115 Tools: handle MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN as INT or LONG 2023-09-19 11:16:10 +10:00
Tom Pittenger ea207c4b4a AP_Periph: add AP_PERIPH_SAFTEY_SWITCH_ENABLED 2023-09-19 09:29:26 +10:00
Henry Wurzburg 6d1fed9657 Tools:add qualifier for ADSB type in readme 2023-09-18 13:41:04 -07:00
Andrew Tridgell faad074abd AP_Periph: fixed debug bitmask docs 2023-09-14 17:08:10 +10:00
Tom Pittenger 2365f5ca1a AP_Periph: Update BATT_HIDE_MASK desc
Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>
2023-09-13 08:16:45 +10:00
Tom Pittenger 6fb94828fe AP_Periph: add param BATT_HIDE_MASK 2023-09-13 08:16:45 +10:00
Andrew Tridgell c76202d850 AP_Periph: prepare for 1.6.0 release 2023-09-08 06:58:57 +10:00
Andrew Tridgell e0030aef88 AP_Periph: mark master as 1.7.0-dev 2023-09-08 06:57:13 +10:00
Peter Barker d27bb9d606 Tools: allow more libraries to compile with no HAL_GCS_ENABLED 2023-09-05 22:23:51 +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
Peter Barker 5d1fbdf9d3 AP_Periph: define external hal symbol to correct compilation 2023-09-01 13:13:07 +10:00
Andrew Tridgell 789aab7fee Tools: update periph README.md 2023-09-01 13:04:59 +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
Andrew Tridgell c28fa15d52 AP_Periph: fixed macos build 2023-08-29 15:09:48 +10:00
Andrew Tridgell 69ad504762 AP_Periph: fixed handling of first uart for RC input 2023-08-29 08:00:20 +10:00
Tom Pittenger 4f2344f397 AP_Peirph: fix battery parameters 2023-08-28 09:14:33 -07:00
Andrew Tridgell bc825fb4c1 AP_Periph: added battery balance plug node
this supports a periph node attached to a LiPo battery balance plug,
reporting via BatteryInfoAux
2023-08-26 21:12:42 +10: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 54e4013d9f AP_Periph: link more RC output libs 2023-08-24 13:06:40 +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 9fb872cdd7 AP_Periph: move RC IN parameters to sub-object 2023-08-19 20:27:24 +10:00
Andrew Tridgell 312ca017a0 AP_Periph: added RC input serial port options 2023-08-19 20:27:24 +10:00
Peter Barker ee0a49bb7c AP_Periph: add support for DroneCAN RCInput packets 2023-08-19 20:27:24 +10:00
Tom Pittenger 1a67775c52 AP_Periph: add AP_RPM support
Co-authored-by: Samuel Tabor <samuel.tabor@krausaerospace.com>
2023-08-11 13:31:45 -07:00
Tom Pittenger 09de840c8e AP_Periph: add support for RawAirData.Pitot_temperature 2023-08-11 13:20:51 -07:00
Tom Pittenger 88cc72f0ee AP_Periph: add networking 2023-08-06 09:20:08 +10:00
Tom Pittenger 3bd1b3f7ed AP_Periph: add support for Networking 2023-08-06 09:20:08 +10: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 7e91de33a4 AP_Periph: update release notes for 1.5.1 2023-07-23 09:02:13 +10:00
Andrew Tridgell 1696464bac AP_Periph: make uCenter ublox fw update more reliable
ensure we have a big enough UART buffer and do locking
2023-07-18 11:38:27 +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 e8ada7f4ee Tools: add and use AP_AHRS_ENABLED 2023-06-21 22:28:48 +10:00
Peter Barker 77da6cf2b7 AP_Periph: supply buffer for decoding ADSB messages 2023-06-21 17:50:31 +10:00
bugobliterator f391445eaf AP_Periph: move sysid_my_gcs to be public 2023-06-17 14:49:22 +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 274379ea8a AP_Periph: include AP_ESC_Telem header
... since we insantiate one of these we should include its header
2023-05-09 10:56:13 +10:00
Peter Barker 6c29079a76 AP_Periph: correct includes
we instantiate SerialManager - best include its header!
2023-05-09 10:56:13 +10:00
Peter Barker ddcfe5e734 Tools: move and rename CAN Driver_Type enumeration 2023-04-20 08:53:46 +10:00
Peter Barker 95d8719465 Tools: remove CANTester 2023-04-18 11:43:58 +10:00
Peter Barker eb2a4a68c5 AP_Periph: use CopyFieldsFrom in CAN parameters 2023-04-18 11:43:58 +10:00
Tom Pittenger 34a990d2ff AP_Periph: add AP_KDECAN support 2023-04-17 11:52:52 +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
Andrew Tridgell e6d6848fb1 AP_Periph: prepare for 1.5.0 release 2023-03-27 07:36:19 +11:00
Andrew Tridgell 7f66e35459 AP_Periph: release notes for 1.5.0 2023-03-27 07:35:41 +11:00
Peter Barker ba3aa0c158 AP_Periph: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Iampete1 8b36fde0c1 AP_Periph: fix proximity parameter path 2023-03-21 11:41:18 +11: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 a4a52c3e8c AP_Periph: cope with peripherals with i2c only rangefinders
if no uart then still check for non-uart sensors
2023-03-06 19:48:07 +11: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
Henry Wurzburg 59a5babc06 AP_Periph:Add SLCAN feature note 2023-02-24 09:22:34 +11:00
rishabsingh3003 32a0c8935e AP_Periph: Fix hwesc telem temp units 2023-02-22 07:12:47 +11:00
Pierre Kancir b7b08c3487 AP_Periph: add patch rev into firmware version 2023-02-08 12:47:49 +11:00