Commit Graph

51 Commits

Author SHA1 Message Date
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
Andrew Tridgell 3a1fc0f338 AP_ESC_Telem: disable ESC telem with zero channels
this prevents a build error and saves flash
2022-06-10 13:46:43 +10:00
Andrew Tridgell cd8ff2b37a AP_ESC_Telem: added ESC_TLM_MAV_OFS parameter
this allows for the ESC telemetry to be remapped to a lower range for
GCS displays. Users often want their quadplane ESCs to show up as ESCs
1 to 8 instead of the high numbers used internally
2022-06-10 13:46:43 +10:00
Andrew Tridgell aedf465049 AP_ESC_Telem: support ESC telem for ESCs 13 to 32
also fix a mavlink buffer starvation issue
2022-06-10 13:46:43 +10:00
Andrew Tridgell d33734ee85 AP_ESC_Telem: more changes for 32 bit servo mask 2022-05-22 12:07:37 +10:00
Peter Barker 82f4faec31 AP_ESC_Telem: remove misleading comment 2022-05-10 19:43:49 +10:00
murata fb8582e98e AP_ESC_Telem: correct spelling mili -> milli 2022-01-31 08:55:29 +09:00
VMsunghwan 5bf24cd54c AP_ESC_Telem : Update Telemetry
telemtry -> telemetry
2022-01-17 11:26:34 +09:00
Andrew Tridgell 9da03668ae AP_ESC_Telem: allow build with AP_Periph 2021-12-10 08:11:24 -08:00
Andy Piper e8d1326a6d AP_ESC_Telem: fix raw rpm
Co-authored-by: Amilcar Lucas <amilcar.lucas@iav.de>
2021-09-01 17:15:32 +10:00
Andy Piper 9281982b8f AP_ESC_Telem: log raw RPM information 2021-09-01 17:15:32 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 72a69ec274 AP_ESC_Telem: implement get_active_esc_mask()
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2021-08-13 16:22:37 +10:00
Pierre Kancir adf86357aa AP_ESC_Telem: prevent possible overrun 2021-08-12 11:20:24 +10:00
Pierre Kancir 7739ddefd0 AP_ESC_TELEM: prevent overrun, esc_index should be < to ESC_TELEM_MAX_ESCS 2021-08-12 11:20:24 +10:00
Pierre Kancir a0175441a0 AP_ESC_Telem: fix out of bound access 2021-08-12 11:20:24 +10:00
bugobliterator 3d6ef2106f AP_ESC_Telem: change class name from SITL::SITL to SITL::SIM 2021-08-05 07:25:31 +10:00
Andrew Tridgell b450b59acc AP_ESC_Telem: mark log messages as streaming 2021-08-03 10:23:36 +10:00
Michel Pastor 26c6224b2e AP_ESC_Telem: add method to get the temperature of the motor with highest temperature 2021-07-06 12:18:21 +10:00
Michel Pastor f9b149e793 AP_ESC_Telem: add method to get average motor RPM 2021-07-06 12:18:21 +10:00
yaapu b4d54cf565 AP_ESC_Telem: added methods to get average rpm data by motor mask 2021-07-02 15:35:05 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 13a97eecd4 AP_ESC_Telem: fix compilation when HAL_WITH_ESC_TELEM == 0 2021-06-09 21:42:51 +10:00
Dr.-Ing. Amilcar do Carmo Lucas bb9a81d32e AP_ESC_Telem: dummy empty class to be used when HAL_WITH_ESC_TELEM == 0 2021-06-09 21:42:51 +10:00
Andrew Tridgell ac2080ff93 AP_ESC_Telem: don't send mavlink msgs if we've never data any data 2021-06-08 12:30:30 +10:00
Andy Piper 8df4e0f127 AP_ESC_Telem: generalise ESC telemetry to allow harmonic notch handling with other ESCs
refactor to capture and output slewed rpm values
enable with HAL_WITH_ESC_TELEM
move notch calculation to front end
refactor telemetry data into frontend
cope with blended data
add mavlink send function
log telemetry data in frontend
add SITL ESC telemetry
record volts, amps and consumption as floats
report telemetry transmission errors
disable ESC Telemetry inclusion when there is no need for it
move ESC_Telem logging to the AP_ESC_Telem class (by amilcar.lucas@iav.de)
various cleanups (by amilcar.lucas@iav.de)
add support for raw ESC rpm
check RPM validity for mavlink output
Use const when applicable
2021-05-12 17:01:11 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 48ab08fb67 AP_ESC_Telem: Fix copy & paste typo 2021-02-24 12:49:05 +11:00
Siddharth Purohit e9430d7f80 AP_ESC_Telem: move to using CANManager library 2020-08-19 17:31:09 +10:00