Commit Graph

76 Commits

Author SHA1 Message Date
Bob Long 2b903d20b4 AP_ESC_Telem: tidy old calls to _telem_data
When #27755 was first opened, #26252 had not been merged yet. #26252
refactored a bit, but the change was not applied to #27755. This commit
fixes that.

This should not change the behavior of the code.
2024-09-11 10:23:00 +10:00
Iampete1 d0d5dfddda AP_ESC_Telem: getters: check index is in range first 2024-08-20 09:14:11 +10:00
Iampete1 f9f8c2aa29 AP_ESC_Telem: add `telemdata.valid` method to simplify code 2024-08-20 09:14:11 +10:00
Iampete1 64c2a1070f AP_ESC_Telem: SITL: fill in extended status values 2024-08-20 09:14:11 +10:00
Iampete1 be80f83679 AP_ESC_Telem: add getters for extended status values 2024-08-20 09:14:11 +10:00
Iampete1 34549cf0cb AP_ESC_Telem: add logging of power percentage 2024-08-07 11:23:35 +01:00
Andy Piper f6984024c3 AP_ESC_Telem: use highest ESC temp rather than motor temp 2024-08-07 18:10:56 +10:00
Pradeep CK 0e53eb74df AP_ESC_Telem: addition of ESC extended status message
- Conditional compilation definition : AP_EXTENDED_ESC_TELEM_ENABLE
 - ESCX log structure
 - Update functionalities for ESCX status message
 - ESCX DroneCAN callback
2024-08-06 10:57:36 +10:00
rishabsingh3003 3ab3388752 AP_ESC_Telem: Add ifndef before defining ESC_TELEM_MAX_ESCS 2024-07-24 17:45:24 +10:00
Andy Piper 038735657a AP_ESC_Telem: add get_max_rpm_esc() 2024-06-26 17:36:54 +10:00
Maxim Buzdalov 0022c3aa72 AP_ESC_Telem: add support for Extended DShot Telemetry v2 2024-05-15 17:29:19 +10:00
aditya 9abcd6b7ca AP_ESC_TELEM: solved the logical error in grouping of escs into 4 2024-04-24 08:10:02 +09:00
Peter Barker d0a7b54e61 AP_ESC_Telem: move defaulting of HAL_WITH_ESC_TELEM for periph 2024-03-05 12:37:40 +11:00
Maxim Buzdalov 0ede7f5075 AP_ESC_Telem: replace selected repeated indexing with references 2024-02-25 10:15:39 +11:00
Maxim Buzdalov 58d82000db AP_ESC_Telem: split logging and invalidation, deduplicate micros64() 2024-02-25 10:15:39 +11:00
Maxim Buzdalov 8a576f884e AP_ESC_Telem: remove redundant initialization 2024-02-25 10:15:39 +11:00
Maxim Buzdalov 5329ab8d92 AP_ESC_Telem: cleanup whitespace 2024-02-25 10:15:39 +11:00
Maxim Buzdalov 4e280795b2 AP_ESC_Telem: for RPM, log NaN instead of 0 when there are no measurements 2024-02-25 10:15:39 +11:00
Peter Barker a7b658c260 AP_ESC_Telem: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
Maxim Buzdalov 30146affa5 AP_ESC_Telem: Log RPM and raw RPM values as floats 2024-01-14 12:43:18 -08:00
Peter Barker a2182f7c4b AP_ESC_Telem: add missing include 2024-01-11 15:29:54 +11:00
Andrew Tridgell 15d3ec3113 AP_ESC_Telem: allow IOMCU to work in example fw
example firmwares don't instantate AP_ESC_Telem
2024-01-02 08:12:37 +11:00
Andy Piper 6deff406e0 AP_ESC_Telem: don't set up parameters on iofirmware
add direct accessor for telemetry data to be used by iomcu
don't update telemetry data if no data
2023-12-18 19:02:52 +11:00
Andrew Tridgell 1bf7c9ee77 AP_ESC_Telem: added stale() method for ESC telem
prevents use of stale data when close to zero time
2023-11-03 08:08:31 +11:00
Mykhailo Kuznietsov c779d0b879 AP_ESC_Telem: Fix some typos
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Tatsuya Yamaguchi 30bb82a884 AP_ESC_Telem: fix fake value of SITL ESC 2023-09-11 09:48:34 +10:00
Andrew Tridgell 3a8fd367ad AP_ESC_Telem: use SIM_CAN_SRV_MSK and fixed throttle dependency
RPM should not depend on "throttle", it is per motor
2023-08-24 13:06:40 +10:00
Tom Pittenger dbe0aac73f AP_ESC_Telem: update_telem_data to be public 2023-08-22 16:14:36 -07:00
Michael du Breuil a0efcc7bdc AP_ESC_Telem: Correct a regression with calclulating active_esc_mask
Credit to @casrya on github for spotting this (#24665), and
investigating. The intent here was to bail out only if no data was
within the timeout, which I had messed up in a bad refactor.
2023-08-17 08:34:29 +10:00
Michael du Breuil 935fad54ad AP_ESC_Telem: Fix some time wrap issues that can lead to using stale data if a ESC stops responding 2023-08-08 09:53:48 +10:00
Michael du Breuil 84104331ec AP_ESC_Telem: Raise default timeout for the RPM spin check to 210ms
This copes better with 10Hz monitors, or losing a single packet
2023-06-20 09:30:03 +10:00
Michael du Breuil 3de912f2b8 AP_ESC_Telem: Add support for a max rpm check on the motors running check 2023-05-02 10:23:55 +10:00
Peter Barker b931617650 AP_ESC_Telem: add and use an AP_ESC_Telem_config.h 2023-03-10 08:48:24 +11:00
Tom Pittenger 9019fa2f8d AP_ESC_Telem: simplify AP_TemperatureSensor integration 2023-01-31 10:52:23 +11:00
Peter Barker bd91294337 AP_ESC_Telem: neaten definition of HAL_WITH_ESC_TELEM 2023-01-25 22:30:55 +11:00
Peter Barker f429aae09e AP_ESC_Telem: correct esc telem debug
wrong format specifier
2023-01-18 07:17:51 +11:00
James O'Shannessy dec9f486ed AP_ESC_Telem: Use SRV_Channel_config to extract the number of expected channels available
Removes duplication of definitions of available channels

Co-authored-by: Simon Maddison <81274690+Sypaq-MadMan@users.noreply.github.com>
2022-12-01 11:09:58 +11:00
Tom Pittenger 89bcd65603 AP_ESC_Telem: allow external libraries, like AP_TemperatureSensor, to override the temperature 2022-10-18 10:05:31 +11:00
Andrew Tridgell dc3f6fe69d AP_ESC_TELEM: allow for non-continguous ESC telem motor sets
this fixes ESC telem for quadplanes with motors at 5-8 or 9-12
2022-10-16 20:38:19 +11:00
jackhong12 4a4f361a17 all: use CLASS_NO_COPY() macro 2022-10-04 11:23:04 +11:00
Andy Piper 7510b68a8e AP_ESC_Telem: make sure active mask takes into account rpm updates 2022-09-20 09:45:03 +10:00
Andrew Tridgell 3512ea792f AP_ESC_Telem: support set_rpm_scale() call for scripting 2022-09-13 07:48:19 +10:00
Andy Piper 2de992dcf1 AP_ESC_Telem: avoid FPE on macos
use floats for rpm in API calls
2022-09-07 17:03:03 +01:00
Andy Piper b9280630f5 AP_ESC_Telem: add are_motors_running() based on rpm feedback
add spin armed rpm to SITL
use floats for rpm in API calls
implement is_telemetry_active()
simulate ESC telemetry in SITL
2022-09-07 17:03:03 +01:00
Andy Piper 28d0086a97 AP_ESC_Telem: don't provide zero udpates for ESCs that have never been used 2022-08-30 10:03:31 +10:00
Andrew Tridgell df56d8a8dd AP_ESC_Telem: don't default ESC telem on for AP_Periph
require it to be enabled specifically. Otherwise we end up with ESC
status msgs in GPS modules
2022-08-28 11:43:01 +10:00
Andy Piper d6ba508cb9 AP_ESC_Telem: keep RPM updates in the correct order 2022-08-09 11:13:11 +10:00
Andrew Tridgell 0b9c5d6dc1 AP_ESC_Telem: fixed race condition in update_rpm()
if another thread updates at the same time then we could get division
by zero
2022-07-13 17:33:00 +10:00
Andrew Tridgell ec31a13275 AP_ESC_Telem: expose update_rpm() for scripting 2022-07-13 17:33:00 +10:00
Andrew Tridgell 064b6c8a9d AP_ESC_Telem: use send_struct mavlink function
saves some flash, cpu and stack, but means we need a cast
2022-06-14 10:11:03 +10:00