Commit Graph

188 Commits

Author SHA1 Message Date
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 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
rishabsingh3003 32a0c8935e AP_Periph: Fix hwesc telem temp units 2023-02-22 07:12:47 +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
rishabsingh3003 27f55ae626 AP_Periph: Add proximity support 2022-12-15 07:20:05 +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
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
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 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 a92cb1017e AP_Periph: report unsigned bootloader flash attempt 2022-09-05 12:35:37 +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 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
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