Commit Graph

367 Commits

Author SHA1 Message Date
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
Andrew Tridgell 10d7a559d2 AP_Periph: 32 servo conversion 2022-05-22 12:07:37 +10:00
Andrew Tridgell 406de11fe9 AP_Periph: mark ESC DShot channels as digital
this allows them to get the right default MIN and MAX values on the
channels
2022-04-28 13:56:41 +10:00
Andrew Tridgell 227e82053a AP_Periph: fixed GPS dropout on F4 and L4 GPS nodes
we need more time for other threads on these nodes or we will end up dropping GPS frames
2022-04-18 14:40:53 +10:00
Andrew Tridgell fbc9b771d1 AP_Periph: updated release nodes for 1.3.1 2022-04-15 13:48:31 +10:00
bugobliterator 7f5dc33e7e AP_Periph: allow can_printf as periph member method as well 2022-03-23 18:59:43 +11:00
Andrew Tridgell 994e1e0c0a AP_Periph: mark version as 1.4.0dev 2022-03-18 21:16:13 +11:00
Andrew Tridgell 59456b4f82 AP_Periph: updated release notes for 1.3.0 2022-03-18 21:14:07 +11:00
Andrew Tridgell 116c692e2b AP_Periph: rename ReleaseNotes.txt
be consistent with plane and copter
2022-03-18 21:14:04 +11:00
bugobliterator 29673de4f3 AP_Periph: add parameters for setting up FD Bitrates 2022-03-11 18:13:54 +11:00
Siddharth Purohit 8a8de73d89 AP_Periph: add support for CANFD trx 2022-03-11 18:13:54 +11:00
bugobliterator 068208e4d7 AP_Periph: add debug option for hold in bootloader after 15s 2022-03-11 18:13:54 +11:00
Andrew Tridgell 0853accea1 AP_Periph: fixed moving baseline yaw for single CAN peripherals
the AP_GPS_UAVCAN driver requires this param for auto-config of MB yaw
on DroneCAN GPS
2022-03-09 07:52:42 +11:00
Andrew Tridgell 335ab3aac1 AP_Periph: fixed build 2022-02-22 12:13:19 +11:00
Andrew Tridgell 94d02faf37 AP_Periph: fixed build for include changes 2022-02-22 12:13:19 +11:00
Nathan Costa a867e04116 AP_Periph: airspeed add support for CAN/I2C switch and LED 2022-02-16 13:25:58 +11:00
Peter Barker a81a1fb19f Tools: build ArduPilot against all.xml not ardupilotmega.xml 2022-02-08 11:00:41 +11:00
Peter Barker b7df2bce5f Tools: provide default implemenation of handle_change_alt_request
The TODO items to actually implement these are almost 6 years old.
Since then these methods have been burning space.

This doesn't even make sense for several vehicles, so a default
implementation which does nothing seems OK.
2022-02-08 10:59:13 +11:00
Joshua Henderson 2ea33324a0 AP_Periph: add define for BARO_ENABLE 2022-02-08 10:41:02 +11:00
Joshua Henderson 0339f09b07 AP_Periph: use AP_PERIPH_RANGEFINDER_PORT_DEFAULT 2022-02-02 18:45:59 +11:00
Andrew Tridgell c2dd7f4c9e AP_Periph: fixed LED setup call 2022-01-27 08:26:47 +11:00
bugobliterator 9469817e03 AP_Periph: send epoch time for both message and GNSS timestamp 2022-01-20 17:26:35 +11:00
Joshua Henderson 92aff3bded AP_Periph: use airspeed.set_log_bit() 2022-01-19 18:21:32 +11:00
Peter Barker ef11400e13 Tools: make C_TO_KELVIN a function macro; create KELVIN_TO_C
These are in celsius
2022-01-13 18:31:46 +11:00
Andrew Tridgell d62e946d48 AP_Periph: fixed temperature reporting
more common to have ESC temp than motor temp, so report ESC
temperature
2021-12-28 16:30:14 +11:00
Shiv Tyagi d1eedcb4c3 AP_Periph: remove PacketDitial from AP_CANManager parameter description
We have removed the class AP_BattMonitor_MPPT_PacketDigital, we should also remove these
2021-12-17 20:24:25 +09:00
Peter Barker 1d4b13af08 AP_Periph: correct compilation when both periph-adsb and GCS enabled
Get lots of these otherwise:

/home/pbarker/gcc/gcc-arm-none-eabi-10.3-2021.07/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/ld: lib/libAP_Periph_libs.a(GCS_MAVLink.cpp.0.o): in function `mavlink_parse_char':
GCS_MAVLink.cpp:(.text.mavlink_parse_char+0x0): multiple definition of `mavlink_parse_char'; Tools/AP_Periph/adsb.cpp.41.o:adsb.cpp:(.text.mavlink_parse_char+0x0): first defined here
/home/pbarker/gcc/gcc-arm-none-eabi-10.3-2021.07/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/ld: lib/libAP_Periph_libs.a(GCS_MAVLink.cpp.0.o): in function `put_bitfield_n_by_index':
GCS_MAVLink.cpp:(.text.put_bitfield_n_by_index+0x0): multiple definition of `put_bitfield_n_by_index'; Tools/AP_Periph/adsb.cpp.41.o:adsb.cpp:(.text.put_bitfield_n_by_index+0x0): first defined here
2021-12-14 10:35:06 +11:00
Andrew Tridgell 75959450ca AP_Periph: cope with GCS enabled for ESC telem
thanks Tom!
2021-12-10 08:11:24 -08:00
Andrew Tridgell d239bf99bd AP_Periph: enable use of AP_ESC_Telem in peripheral nodes
give ESC status packets back for RPM, voltage, current etc
2021-12-10 08:11:24 -08:00
Andrew Tridgell 91424c1f03 AP_Periph: enable DShot ESC telemetry 2021-12-10 08:11:24 -08:00
Andrew Tridgell d34579c275 AP_Periph: allow build with ESC telemetry and BLHeli support 2021-12-10 08:11:24 -08:00
Andrew Tridgell 62b03bd1f1 AP_Periph: removed PWM count check for servos
actuator IDs are tied to OUTn_FUNCTION, not to physical output IDs, so
it is perfectly possible for an actuator ID to be larger than the
number of PWM outputs on the board
2021-12-07 10:23:54 +11:00
Andrew Tridgell b916e8cceb AP_Periph: fixed param docs for ESC_PWM_TYPE 2021-12-07 10:23:54 +11:00
Andrew Tridgell 9ee140cbbf Tools: revert compass parameter changes 2021-12-04 16:51:53 +11:00
Iampete1 7c116c84c6 Periph: remove compass params underscore 2021-11-30 08:14:43 +09:00
bugobliterator f74690af49 AP_Periph:libcanard moved to modules/DroneCAN 2021-11-24 18:30:47 +11:00
bugobliterator 4e067a68e2 AP_Periph: move to using dronecan instead of uavcan 2021-11-24 18:30:47 +11:00
Peter Barker 8ae1a58eae Tools: move from ENABLE_SCRIPTING to AP_SCRIPTING_ENABLED 2021-11-15 20:27:40 +11:00
Peter Barker 32374d1614 Tools: ensure ENABLE_SCRIPTING is always defined 2021-11-15 20:27:40 +11:00
Andrew Tridgell bebb722d02 waf: improve error messages for lack of dsdlc and empy 2021-10-20 19:05:01 +11:00
bugobliterator f74550bce5 AP_Periph: update notify state decode to use current dsdlc code 2021-10-14 20:13:06 +11:00
bugobliterator 6b44bc3e4c AP_Periph: use methods from new canard dsdl generator 2021-10-14 20:13:06 +11:00
Tom Pittenger a7686de92b AP_Periph: fix GCS/mavlink for additional serialports 2021-09-30 14:55:01 +10:00
bugobliterator 8a4b9c2b36 AP_Periph: add support for handling Notify State message 2021-09-30 08:52:27 +10:00
Pierre Kancir 6e9ea663e5 AP_Periph: temp fix for -Wcast-align until we fix the generator 2021-09-29 17:27:29 +10:00
Peter Barker 76e2db952b Tools: move from HAL_NO_GCS to HAL_GCS_ENABLED 2021-09-22 21:37:00 +10:00
Willian Galvani 901164a317 AP_Periph: update to use capacity_remaining_pct() as a bool 2021-09-08 17:17:41 +10:00
Andrew Tridgell 6e33910c25 AP_Periph: use a longer loop delay on non-H7
the short delay broke the F412 based CUAV_GPS
2021-09-02 21:56:03 +10:00
Andrew Tridgell 4169656176 Tools: added MCU_STATUS message 2021-08-25 07:11:31 +10:00
bugobliterator 90c9fb7804 AP_Periph: manage separate transfer ids for different transfer desc 2021-08-19 14:20:58 +10:00
bugobliterator bb65ab83be AP_Periph: reduce Rx latency by reading while sitting in delay 2021-08-19 14:20:58 +10:00
bugobliterator aa9a40acf5 AP_Periph: add a way to transmit MovingBaseline Data on another port 2021-08-19 14:20:58 +10:00
bugobliterator 54f03b9b64 AP_Periph: add support for moving baseline heading 2021-08-19 14:20:58 +10:00
bugobliterator acab1478a2 AP_Periph: fix build error 2021-08-12 07:57:12 +10:00
bugobliterator 1d81eb5c47 AP_Periph: fix checking compass available before init 2021-08-11 07:47:56 +10:00
Andrew Tridgell 0ea26b4d3a AP_Periph: fixed float16 conversions for scalars
libcanard does already convert scalars, but doesn't convert arrays. By
calling fix_float16 on scalers we were double converting, which
reduced resolution.
2021-08-05 19:04:41 +10:00
Andrew Tridgell 37935262ff AP_Periph: fixed formatting errors 2021-08-05 09:43:35 +10:00
Andrew Tridgell 751b901ed9 Tools: fixed printf format errors 2021-08-05 09:43:35 +10:00
Peter Barker d40587062e AP_Periph: use AP::compass().available in place of enabled() 2021-07-30 12:19:42 +10:00
bugobliterator 6f3e3a913a AP_Periph: fix dna wait blink 2021-07-28 17:09:41 +10:00
bugobliterator 35d94b17eb AP_Periph: add support for MAVLink for HerePro 2021-07-26 13:45:43 +10:00
Andrew Tridgell 299b3ef200 AP_Periph: fixed msp gps yaw
build failed with 10.2 compiler, but is a real bug
2021-07-25 21:00:09 +10:00
bugobliterator ef48d706ed AP_Periph: do not wait for DNA to finish before starting AP_Periph 2021-07-14 15:18:42 +10:00
bugobliterator a9fda29d42 AP_Periph: remove return res from canard_broadcast 2021-07-14 15:18:42 +10:00
bugobliterator 64c41e51ba AP_Periph: use range for loop instead of indexed for loops 2021-07-14 15:18:42 +10:00
Siddharth Purohit 3ed53c58e9 AP_Periph: provide separate instances of canard objects per iface 2021-07-14 15:18:42 +10:00
Siddharth Purohit 637ccf13df AP_Periph: add MAVLink support for AP_Periph modules 2021-07-02 08:50:16 +10:00
Siddharth Purohit f9a50e8e47 AP_Periph: allow building InertialSensor and related libraries 2021-06-30 17:06:02 +10:00
Tom Pittenger 4d0f5a1db6 AP_Periph: add support for multiple protocols on AP_Periph 2021-06-09 18:36:18 +10:00
Tom Pittenger 8ada37edb8 AP_Periph: add support for MPPT Battery driver 2021-06-09 18:36:18 +10:00
Peter Barker 31c345fc4b Tools: add support for AP_Logger into AP_Periph 2021-06-08 09:57:55 +10:00
James O'Shannessy 819bb2938b AP_Periph: Correctly report Temperature to UAVCAN 2021-06-01 12:35:24 +10:00
Hwurzburg 4335951c42 Tools: remove % as units on params that are unitless 2021-05-30 22:38:27 -07:00
bugobliterator 3390167753 AP_Periph: use AP_Notify enum for ToneAlarm types 2021-05-31 07:34:02 +10:00
Andrew Tridgell a23e821f94 AP_Periph: allow safety LED as backup main LED for DNA 2021-05-09 06:44:19 +10:00
Andrew Tridgell efe8042fbe AP_Periph: allow for reboot while in DNA 2021-05-09 06:44:19 +10:00
Andrew Tridgell 724cea2b0d AP_Periph: allow build with no PWM to allow for notify 2021-05-09 06:44:19 +10:00
Andy Piper 2b327af79b AP_Periph: use tone alarm types 2021-05-05 17:41:24 +10:00
Hwurzburg 6235f7f8f4 AP_Periph: fix metadata error preventing emitting to wiki 2021-04-21 17:31:43 -07:00
Tom Pittenger e0cfac902d AP_Periph: populate the param meta data for the wiki 2021-04-19 09:19:04 -07:00
Andrew Tridgell 6a12b612b1 AP_Periph: fixed DShot in AP_Periph 2021-04-16 07:11:50 +10:00
Peter Barker 725e36b381 AP_Periph: correct paths to libraries
These were a mixture.  This allows param_parse.py to function
appropriately.
2021-04-11 11:31:41 +10:00
Andrew Tridgell 22c936140e Tools: removed assert calls
these waste flash space and do not do us any good
2021-03-25 14:03:40 +11:00
Andrew Tridgell ef16eb56bb AP_Periph: support CAN redundancy
send and recv on multiple CAN interfaces
2021-03-23 12:01:20 +11:00
Andrew Tridgell 50d5fced54 AP_Periph: fixed ESC output
should be range, not angle
2021-03-23 12:01:20 +11:00
Andrew Tridgell dda69bfcb0 AP_Periph: added ESC_PWM_TYPE
this allows for oneshot and dshot on AP_Periph ESCs
2021-03-23 12:01:20 +11:00
Michael du Breuil 9abf91c86e AP_Periph: Allow skipping the BatteryInfo model_name
This saves a shocking amount of bandwidth. On a CubeOrange-periph
build sending just baro data and 2 battery info's this results in 25%
less bandwidth being used. (Also given that we still have a instance id,
and can get the CAN node's descriptor in the general case this is not
costing us any information).
2021-03-19 17:35:54 +11:00
Siddharth Purohit a1a41bb47a AP_Periph: move underscore one layer down for GPS 2021-03-12 16:32:36 +09:00
Michael du Breuil 06a40da355 AP_Periph: Send ardupilot.gnss.Status 2021-03-12 09:39:55 +11:00
Michael du Breuil 50d80e9dc4 AP_Periph: Remove debug printf 2021-02-12 14:51:09 +11:00
Michael du Breuil 15ce4fb034 AP_Periph: Use the ArmingStatus broadcast to set the soft_armed state
This allows things like GPS_RAW_DATA 2 to start to work for SBF GPS's
2021-02-02 10:57:57 +11:00
Andrew Tridgell 49e2a0caed Tools: fixed valgrind errors with AP_Param::ParamToken 2021-01-26 10:43:09 +11:00
Siddharth Purohit c54a597571 AP_Periph: pull out supported targets from wscript into a separate file 2021-01-22 05:42:12 +11:00
Mirko Denecke d08487b8ae AP_Periph: fix command to build bootloader 2021-01-11 12:27:44 -08:00
Andrew Tridgell ae6569ab67 AP_Periph: updated release notes for 1.2.0 2021-01-06 07:59:33 +11:00
Tom Pittenger ee573a0275 AP_Periph: add NTF (Notify) full library and it's params 2021-01-03 16:24:12 -08:00
Andrew Tridgell 19e597ec3f AP_Periph: check for null uart in msp 2021-01-01 15:40:13 +11:00
Andrew Tridgell 37506c2f3a AP_Periph: added MSP_PORT parameter
allows MSP to be enabled/disabled
2021-01-01 15:40:13 +11:00
David B. Bitton 8b2e69162d AP_Periph: add support for Toshiba LED 2020-12-31 11:02:10 -08:00