Commit Graph

350 Commits

Author SHA1 Message Date
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
Tom Pittenger 71859c9893 AP_Periph: rename AP_PERIPH_<feature>_DEFAULT to HAL_PERIPH_<feature>_DEFAULT 2020-12-28 09:16:02 +11:00
Tom Pittenger 7af731fbda AP_Periph: change GPS and Rangefinder to use port stored in param 2020-12-25 16:24:50 -07:00
Tom Pittenger 4c484c8577 AP_Periph: compile-error fix for for hwdef with HAL_NO_ROMFS_SUPPORT 2020-12-25 16:24:50 -07:00
Tom Pittenger eb3da385dd AP_Periph: gracefully handle PWM and Params during reboot and bot up as PWM safety on 2020-12-21 18:27:07 -08:00
Siddharth Purohit 4d91071e7e AP_Periph: ignore unused-function error for helper fix_float16() 2020-12-21 18:27:07 -08:00
Tom Pittenger 07aeab5c44 AP_Periph: add Servo OUT support 2020-12-21 18:27:07 -08:00
giacomo892 c8d874676f AP_Periph: MSP fix last baro ms 2020-12-22 10:08:34 +11:00
Andrew Tridgell 0bf0fbe687 AP_Periph: prepare for 1.2beta2 2020-12-19 11:46:56 +11:00
Tom Pittenger 2a4fef73dd AP_Periph: change ADSB to use param ADSB_PORT instead of define 2020-12-17 23:24:04 -08:00
Tom Pittenger 5238f85091 AP_Periph: add BRD_SERIAL_NUM and append CAN_APP_NODE_NAME 2020-12-17 21:28:10 -08:00
Tom Pittenger a285a741df AP_Periph: implement HAL_PERIPH_ALLOW_MAVLINK_UART_OR_USB_REBOOT_CMD 2020-12-18 06:59:09 +11:00
Andrew Tridgell 23a9a14d64 Tools: convert to using hal.serial() instead of hal.uartX 2020-12-15 10:32:46 +11:00
Andrew Tridgell 3cf71d11a9 AP_Periph: mark version as 1.3dev 2020-12-13 10:32:30 +11:00
Andrew Tridgell 52f66f3654 AP_Periph: updated release notes for 1.2.0beta1 2020-12-13 10:31:35 +11:00
Tom Pittenger 4b47ddf556 AP_Periph: add battery monitor to AP_Periph README 2020-12-13 09:35:28 +11:00
Phillip Kocmoud ce87b62dcc AP_Periph: Add alternate ordering of NCP5623 LED colors 2020-12-12 14:57:35 +11:00
Tom Pittenger 0c5cc16d7b AP_Periph: populate more fields in batteryinfo 2020-12-09 07:52:15 -08:00