Commit Graph

166 Commits

Author SHA1 Message Date
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
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
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
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
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
Andrew Tridgell 94d02faf37 AP_Periph: fixed build for include changes 2022-02-22 12:13:19 +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
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
bugobliterator 4e067a68e2 AP_Periph: move to using dronecan instead of uavcan 2021-11-24 18:30:47 +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
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
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
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
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
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 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
Tom Pittenger 4d0f5a1db6 AP_Periph: add support for multiple protocols on AP_Periph 2021-06-09 18:36:18 +10:00
James O'Shannessy 819bb2938b AP_Periph: Correctly report Temperature to UAVCAN 2021-06-01 12:35:24 +10: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
Andy Piper 2b327af79b AP_Periph: use tone alarm types 2021-05-05 17:41:24 +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
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
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
Tom Pittenger ee573a0275 AP_Periph: add NTF (Notify) full library and it's params 2021-01-03 16:24:12 -08:00
David B. Bitton 8b2e69162d AP_Periph: add support for Toshiba LED 2020-12-31 11:02:10 -08: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
Tom Pittenger 5238f85091 AP_Periph: add BRD_SERIAL_NUM and append CAN_APP_NODE_NAME 2020-12-17 21:28:10 -08: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
Andrew Tridgell 39c21e662d AP_Periph: check compass and baro health before using 2020-12-08 20:41:12 +11:00
Andrew Tridgell d0c1fd701f AP_Periph: prevent loop stuck internal error in AP_Periph bootloader flash 2020-12-08 13:22:36 +11:00
Andrew Tridgell 9fa60be1ba AP_Periph: break out node status send 2020-12-06 16:48:08 +11:00
Andrew Tridgell d586a2d853 AP_Periph: added magic FLASH_BOOTLOADER=42/43 values
when FLASH_BOOTLOADER=42 we will enter into a lockup loop, which will
trigger a watchdog. This is useful for testing watchdog support
2020-12-01 11:14:50 +11:00
Tom Pittenger cf2b3d9bc6 AP_Periph: add AP_BattMonitor support 2020-11-25 14:20:53 +11:00
bugobliterator f502af99b2 AP_Periph: fix uninitialised buffer arrays 2020-11-11 19:52:37 +11:00
bugobliterator ed3683fce3 AP_Periph: use native_millis for use in SITL 2020-11-04 19:59:40 +11:00
bugobliterator e4c5d7b697 AP_Periph: get AP_Periph ready for SITL build 2020-11-04 19:59:40 +11:00
Mateusz Mróz 2e85ba6f51 AP_Periph: Restore setting node_id from CAN_NODE parameter
Reverts part of commit: 584bcbac0d
2020-10-20 14:32:43 +11:00
Siddharth Purohit 5ab6916a41 AP_Periph: use HAL CAN Drivers instead of ChibiOS's 2020-09-24 12:32:19 +10:00
Andrew Tridgell 9c24415f86 AP_Periph: support output of MSP sensor data 2020-09-09 06:35:50 +10:00
Andrew Tridgell 4c1418f325 AP_Periph: added LED blinking while waiting for DNA 2020-05-11 18:36:46 +10:00
Andrew Tridgell d789c618a2 AP_Periph: use rangefinder get_address() 2020-05-11 18:36:46 +10:00
Andrew Tridgell 01e77d6f5b AP_Periph: don't send a zero timestamp marked as UTC time
this fixes a problem with bad SYSTEM_TIME when using an AP_Periph
GPS. Many thanks to Phillip Kocmoud for reporting
2020-04-29 12:20:19 +10:00
Andrew Tridgell e2d6e70895 AP_Periph: fixed HWESC temperature decoding
now have protocol docs
2020-04-02 11:43:37 +11:00
Andrew Tridgell 318d467ecc AP_Periph: fixed airspeed to use corrected pressure
this prevents the AP_Periph node from doing the fabs()
2020-03-25 20:37:00 +11:00
Peter Hall 9ae6633a08 AP_Periph: update to new NeoPixel API 2020-03-17 14:50:34 +11:00
Andrew Tridgell 998f93c7c9 AP_Periph: fixed HWESC RPM and current readings 2020-03-10 09:36:59 +11:00
Andrew Tridgell 44bf05ab29 AP_Periph: added Hobbywing ESC telemetry support
useful to add UAVCAN ESC status for UART based telemetry for Hobbywing
ESCs
2020-03-04 16:21:06 +11:00
Andrew Tridgell d83f380521 AP_Periph: adjust for updated LED API 2020-02-27 13:12:26 +11:00
Andrew Tridgell 84ac1ac41d AP_Periph: don't probe rangefinder continuously 2020-02-22 12:28:16 +11:00
Andrew Tridgell c9c4167888 AP_Periph: fixed watchdog during DNA wait
thix fixes an issue with multiple AP_Periph nodes booting at the same
time
2020-02-22 09:35:39 +11:00
Peter Barker 2401afd496 AP_Periph: fix up firmware version includes 2020-01-28 11:34:51 +11:00
Andrew Tridgell 1734541eb7 AP_Periph: added enable mechanisms for all sensor types 2020-01-26 09:12:55 +11:00
Andrew Tridgell 2180a21441 AP_Periph: support HAL_SAFE_BUTTON_ON for polarity of safety button 2020-01-18 15:44:17 +11:00
Andrew Tridgell 924e012fa7 AP_Periph: fixed thread safety of push_force 2020-01-10 19:43:36 +11:00
Andrew Tridgell cebd8cf9db AP_Periph: removed float random code 2020-01-07 12:37:35 +11:00
CUAVcaijie 39c87f473a AP_Periph: add BARO_ENABLE option 2019-12-26 15:51:44 +11:00
Andrew Tridgell d249f870b9 AP_Periph: added HARDPOINT_RATE
and send highest pwm from last sample
2019-12-20 16:50:48 +11:00
Andrew Tridgell 9ed2f1d5e2 AP_Periph: support a PWM -> UAVCAN Hardpoint adapter
capture PWM input and map onto a hardpoint command
2019-12-20 16:50:48 +11:00
Andrew Tridgell 0362353087 AP_Periph: added gnss::Fix2 support 2019-11-09 17:11:32 +11:00
Andrew Tridgell 9843b6085d AP_Periph: adjust buffer sizes 2019-11-09 17:11:32 +11:00
Andrew Tridgell 71b2315d78 AP_Periph: switch to callback based CAN receive
this is much more reliable
2019-11-09 17:11:32 +11:00
Andrew Tridgell cc0f6451ab AP_Periph: support RTCMStream for RTK injection 2019-11-09 17:11:32 +11:00
Peter Barker c51eed1f2a AP_Periph: use enum-class for RangeFinder Status 2019-11-09 08:01:53 +11:00
Andrew Tridgell 482e0d4787 AP_Periph: implement 30s mark of good firmware 2019-10-26 15:32:10 +11:00
Andrew Tridgell dc6948f336 AP_Periph: added delay on bl flash
and expand can pool a bit
2019-10-25 21:36:55 +11:00
Andrew Tridgell dba6d71fc6 AP_Periph: use new flash_bootloader() API 2019-10-25 21:36:55 +11:00
Andrew Tridgell 1352557ebb AP_Periph: use ArduPilot version system
this will allow build_binaries to find the version
2019-10-25 13:52:43 +11:00
Andrew Tridgell 46cb585af2 AP_Periph: use APJ_BOARD_ID in hw major/minor 2019-10-25 09:35:27 +11:00
Andrew Tridgell 0c00bb935a AP_Periph: support updating bootloader with FLASH_BOOTLOADER option 2019-10-24 22:03:43 +11:00
Andrew Tridgell c6a372bfdd AP_Periph: fixed handling of 16 char param names 2019-10-24 22:03:43 +11:00
Andrew Tridgell 1c61ab165c AP_Periph: support CAN app comms area 2019-10-21 19:12:01 +11:00
Andrew Tridgell 30195ea6b5 AP_Periph: added application descriptor
this is used by MissionPlanner to see if correct fw is already loaded
2019-10-21 19:12:01 +11:00
Andrew Tridgell 6a413babe0 AP_Periph: pat watchdog in param getset 2019-10-21 19:12:01 +11:00