Commit Graph

365 Commits

Author SHA1 Message Date
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
Tom Pittenger 95b4ded3e8 AP_Periph: add AP_NMEA_Output to Periph 2023-02-07 21:12:07 +11:00
rishabsingh3003 59bc3cff93 AP_Periph: Allow user to change serial port for HW Telem 2023-01-25 18:15:28 +11:00
Iampete1 43e5ea43b7 Tools: AP_Periph: use shared Param info defines 2023-01-11 18:41:34 +11:00
Peter Barker 65915441b6 Tools: make check_var_info void
Given all the callers die anyway, make it void
2023-01-10 10:48:15 +11:00
Iampete1 bba1d0b9d9 AP_Periph: rename airspeed param group to match vehicles 2023-01-03 10:17:56 +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
Peter Barker d438c8e127 AP_Periph: code-generate chan-fetching methods
A recent PR had to change every single one of these methods, which was kind of unfortunate.

So generate the methods using a #define so the duplication happens at preprocessor-time.
2022-12-15 08:31:54 +11:00
rishabsingh3003 27f55ae626 AP_Periph: Add proximity support 2022-12-15 07:20:05 +11:00
James O'Shannessy 11ab5e3f3d AP_Periph: Adds a parameter to allow for user configurable timeout
Timeout defaults to 200ms. Timeout can be disabled by setting parameter to 0. Timeout should be configured to be able to handle at small number of missed packets.
2022-12-03 13:55:01 +11:00
James O'Shannessy 4679cb4265 AP_Periph: Add timeout to ESC driving when CAN packets are lost
Fixes a periph continuing to drive an ESC to an output when the esc_rawcommand packets are lost
2022-12-03 13:55:01 +11:00
bugobliterator 3ec938fae6 waf: add dynamic source option to ap_stlib 2022-11-16 18:05:59 +11:00
bugobliterator e4ada09fc3 waf: use bld for dronecangen export headers for including 2022-11-16 18:05:59 +11:00
Tom Pittenger 4e94046a4a AP_Periph: can_printf() to send longer strings using multiple packets 2022-10-23 21:47:42 -07:00
Tom Pittenger 3f4755ea7b AP_Periph: add support for AP_TemperatureSensor 2022-10-18 10:05:31 +11:00
Tom Pittenger 53e0c4175e AP_Periph: add support for SLCAN 2022-10-11 11:26:40 +11:00
Tom Pittenger 0767640372 AP_Periph: fix periph-heavy build, wscript 2022-10-11 11:20:50 +11:00
Peter Barker 3cbd018877 AP_Periph: correct build for EFI can
no longer an array
2022-10-05 18:03:59 +11:00
Andrew Tridgell aa757501f4 AP_Periph: removed the old DroneCAN Fix message
only send/process Fix2 message, saving bus bandwidth and flash space
2022-09-28 17:27:32 +10:00
Andrew Tridgell 304d7472ff AP_Periph: update release notes for 1.4.1 2022-09-28 07:24:27 +10:00
Andy Piper 8ee5c8735d AP_Periph: delegate dshot configuration to BLHeli. Make esc telemetry output rate configurable
correct SRV_Channel initialization order to get ESC masks correct
2022-09-20 09:45:03 +10:00
Peter Barker 25c3665277 Tools: populate sysid/compid in reboot ACK 2022-09-14 20:16:38 +10:00
Andrew Tridgell 31cac4395f AP_Periph: support actuator type with PWM
this makes debugging much easier in CAN analyser
2022-09-13 16:23:44 +10:00
bugobliterator 939bd94796 AP_Periph: make constants used in bitshift unisigned 2022-09-08 13:37:55 +10:00
bugobliterator 3e8355638b AP_Periph: add support for redundant CAN bus 2022-09-08 13:37:55 +10:00
Andrew Tridgell 1fab01951a AP_Periph: build fix 2022-09-05 12:35:37 +10:00
Andrew Tridgell a92cb1017e AP_Periph: report unsigned bootloader flash attempt 2022-09-05 12:35:37 +10:00
Andrew Tridgell 4bed47cbb0 AP_Periph: raise master version to 1.5 dev 2022-09-04 15:15:22 +10:00
Andrew Tridgell c5fb666b0f AP_Periph: release notes for 1.4.0 2022-09-04 15:14:27 +10:00
Andrew Tridgell a4fa99c96c AP_Periph: fixed undulation in Fix2 pkt 2022-08-28 11:43:01 +10:00
Andrew Tridgell 2637f87409 AP_Periph: ensure we don't send inf in Fix and Fix2 for GPS 2022-08-28 11:43:01 +10:00
Andrew Tridgell 5fd9891880 AP_Periph: release notes for 1.4.0beta1 2022-08-27 15:55:55 +10:00
Andrew Tridgell 2f3fe19aca AP_Periph: use AP_CheckFirmware 2022-08-15 09:18:34 +10:00
Andrew Tridgell cc2589777f AP_Periph: pass correct WGS84 height on GPS peripherals 2022-08-10 05:04:18 +10:00
bugobliterator c4b182978a AP_Periph: add support for starting sitl periph in maintenance mode 2022-07-27 18:18:03 +10:00
bugobliterator cdb14bd75d AP_Periph: enlarge CANARD pool for CANFD messages 2022-07-27 18:18:03 +10:00
Iampete1 18351186db AP_Periph: set defualt format version 2022-07-20 17:59:59 +10:00
Peter Barker 4561e78dd5 AP_Periph: include GCS_MAVLink.h for firmware version type define 2022-07-16 17:15:52 +10:00
Andrew Tridgell 5a36d7cf0a AP_Periph: fixed non-contiguous mask for ESC telem output
this fixes the case where a peripheral node has an ESCs that are not
starting at the first channel. Reported here:

https://discuss.ardupilot.org/t/using-matekl431-adapters-for-pwm-and-dshot/85781/22

tested on MatekL431-Periph
2022-06-15 18:16:22 +10:00
Randy Mackay b9f4998fd8 AP_Periph: remove ToshibaCAN from param descriptions 2022-06-10 12:08:05 +09:00
Andrew Tridgell f728894eec AP_Periph: added EFI support 2022-06-09 21:10:37 +10:00
Andrew Tridgell 25d231187f AP_Periph: added RNGFND_MAX_RATE parameter
prevent duplicate samples and allow setting of maximum rate we sample
rangefinder
2022-06-09 16:51:56 +10:00
Pradeep 80e2533cf0 AP_Periph: node stats
- Added new config parameter object - STAT
 - init and update statistics
2022-06-07 09:57:32 +10:00
Pradeep 183352cdfe AP_Periph: choose node stats - build files
Added - AP_Stat library and AP_STATS_ENABLED build options
2022-06-07 09:57:32 +10:00
Andrew Tridgell 5e184e167c AP_Periph: allow peripherals to handle servos beyond 16 2022-05-22 12:07:37 +10:00