Commit Graph

73 Commits

Author SHA1 Message Date
Thomas Watson 8328368164 AP_EFI: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Bob Long 72a013952c AP_EFI: Hirth: fix sensor health bitmask 2024-09-13 18:52:48 +10:00
Bob Long e32d3ceaf7 AP_EFI: Hirth: remove crankshaft sensor status
There is no crankshaft sensor status reported by this EFI. This line is
misleading and should be removed. The sensor health bitmask is already
logged elsewhere.
2024-09-13 18:52:48 +10:00
Bob Long 2c14176f6a AP_EFI: fix ECYL log message
- Convert temperatures Celsius to match the docs
- Fix format specifier for CHT2
2024-09-12 14:22:39 +10:00
Lokesh-Ramina 54ec26a80a AP_EFI: Adding EFIS log for Hirth
- Added EFIS log for Hirth engine
- Added ThM to help understand the engine logs better
- Updated the field names to keep the total length 64-characters long.
- Added Bitfield for the EFIS log to log all errors.
2024-08-19 07:11:50 +10:00
Valentin Berman 4938a6bb42 AP_EFI: DroneCAN: set the last_updated_ms field of efi_state
The last_update_ms variable was never set in the DroneCAN implementation of the Electronic Fuel Injector sensor. This causes the function bool AP_EFI::is_healthy to always return false. Solved by adding one line of code to set the variable to the correct value.
2024-07-14 20:19:31 +10:00
Andrew Tridgell b07e0bf06b AP_EFI: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Randy Mackay 1da3c24850 AP_EFI: TYPE param renamed to MAVLink 2024-05-21 08:38:59 +10:00
Peter Barker 8ccf51b0ed AP_EFI: add missing include
for is_equal
2024-01-11 15:29:54 +11:00
Pradeep CK 71141080a1 AP_EFI : Hirth Driver Addition
Implementation for Hirth.
 - Base class - AP_EFI
 - polynomial functional throttle linearization
 - AP_EFI_State parameter addition and changes for hirth logging
 - to fix autotest errors
 - updated comments
 - Hirth CI/CD autotest fail fixes
 - logging
 - fix CI issues
2023-11-17 13:09:02 +11:00
Peter Barker 1f47856fbb AP_EFI: remove unused definitions 2023-11-09 09:37:13 +11:00
Mykhailo Kuznietsov acda439a40 AP_EFI: Fix some typos
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Michael du Breuil e41cc42e10 AP_EFI: Rate limit the megasquirt driver
This fixes it up so that the driver actually works on things like
AP_Periph that poll at a high rate. This was never a problem with the
main firmware as EFI was run at a lower rate, but on AP_Periph this was
much to fast. This lead to spamming fresh requests and keeping the
buffer completly stuffed with requests. To compound it, the EFI device
would start over when there was a fresh request, and eventually our
buffer writes become corrupted leading to bad checksums, and a complete
failure of the comms. This prevents that situation from happening.
2023-10-03 11:32:07 +11:00
Max-001 afc019e1ea EFI: added efi MavLink class 2023-07-11 12:32:19 +10:00
Peter Barker 7a7e44ae3c AP_EFI: move case labels inside ifdefs 2023-07-04 10:26:26 +10:00
Peter Barker 82c1af78d1 AP_EFI: allow AP_SCRIPTING_ENABLED to come from hwdef files 2023-06-09 16:10:52 +10:00
Oliver Walters 687489f858 AP_EFI: Update EGT for Currawong ECU
- Currawong ECU does not report EGT
- Change to report this value as NAN
2023-06-09 07:58:07 +10:00
Pradeep e7c78f8cd4 AP_EFI : Hirth type id is reserved
Hirth type-id = 8
WIP
2023-04-24 19:23:19 +10:00
Peter Barker b6cb47d3cd AP_EFI: move and rename CAN Driver_Type enumeration 2023-04-20 08:53:46 +10:00
Peter Barker 25ec1730b4 AP_EFI: poll MS at 10Hz not 5Hz 2023-04-15 09:39:39 +10:00
Peter Barker fb1b2e870e AP_EFI: MS: avoid requesting data too often
Similar to 4585c9fdc1
2023-04-15 09:39:39 +10:00
Peter Barker 4c5220eb9e AP_EFI: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Andrew Tridgell 9fe63ca2d4 AP_EFI: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 5e52175399 AP_EFI: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 7e74fde24c AP_EFI: rename AP_UAVCAN to AP_DroneCAN 2023-04-08 07:11:23 +10:00
bugobliterator 1c2a464be0 AP_EFI: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
Peter Barker 1cd3e7327d AP_EFI: add defines for Lutan and MegaSquirt 2023-03-21 09:01:13 +11:00
Peter Barker 593983df7a AP_EFI: tidy AP_EFI defines 2023-03-21 09:01:13 +11:00
Peter Barker 3bc42b888f AP_EFI: use uint16_t to store offset
prevents infinite loop if there are exactly 255 bytes ready to read
2023-03-15 13:34:17 -07:00
Peter Barker 3eb9515aaf AP_EF: correct builds when AP_EFI_ENABLED is false
dronecan backend was not checking for HAL_EFI_ENABLED
2023-03-14 12:09:26 +11:00
Bob Long 3616b41afc AP_EFI: use is_zero for fuel pressure
This is clearer than pragma shenanigans, and makes this consistent with
the the newly-added ignition_voltage handling above.
2023-03-07 20:35:13 +09:00
Bob Long 8c335be045 AP_EFI: added fuel pressure 2023-03-07 20:35:13 +09:00
Peter Barker 9b8a61c048 AP_EFI: correct EFI ignition_voltage flag values 2023-02-07 10:40:50 +11:00
Peter Barker ff0d1659d2 AP_EFI: remove GCS.h from library header files 2022-11-16 18:29:07 +11:00
Andrew Tridgell 78c7bcf132 AP_EFI: fixed units of exhaust gas temperature 2022-10-25 11:44:45 +11:00
Andrew Tridgell fed4909dd1 AP_EFI: convert to using ap_object approach 2022-10-02 08:15:06 +11:00
Andrew Tridgell 698c25a060 AP_EFI: added more fields
fill in 3 remaining fields available in MAVLink
2022-10-02 08:15:06 +11:00
Andrew Tridgell fd52ff923d AP_EFI: removed array from cylinder_status
this array was never used and just makes doing drivers harder. Removed
to reduce complexity
2022-10-02 08:15:06 +11:00
Joshua Henderson f74ad276a9 AP_EFI: add EFI scripting driver 2022-10-02 08:15:06 +11:00
Peter Barker 62c0038771 AP_EFI: correct compilation for header changes 2022-09-27 09:26:45 +10:00
Reilly Callaway 1cff0125ae AP_EFI: Add Currawong ECU packet decoding 2022-09-20 15:24:48 +10:00
Reilly Callaway 21ac8d801c AP_EFI: Add ECU density parameter for Currawong fuel flow calculations 2022-09-20 15:24:48 +10:00
Reilly Callaway ad808cb25b AP_EFI: Add Currawong ECU to known types 2022-09-20 15:24:48 +10:00
Reilly Callaway 9a71da2742 AP_EFI: Add currawong ECU EFI backend 2022-09-20 15:24:48 +10:00
Peter Barker ed38aadc72 AP_EFI: add and use AP_EFI_config.h 2022-09-20 09:28:27 +10:00
Andrew Tridgell 4585c9fdc1 AP_EFI: prevent flood of Lutan serial port
send request at max 5Hz
2022-08-03 08:27:12 +10:00
Andrew Tridgell d85fe81537 AP_EFI: fixed bug in Lutan driver
we need to send an initial request pkt if no data from Lutan
2022-06-09 21:10:37 +10:00
Andrew Tridgell 9ddd1afb34 AP_EFI: added DroneCAN EFI driver 2022-06-09 21:10:37 +10:00
Andrew Tridgell 0fad35112f AP_EFI: allow EFI to be used in AP_Periph 2022-06-09 21:10:37 +10:00
Peter Barker ea7f71a1a7 AP_EFI: emit ignition voltage as unknown in EFI_STATUS 2022-06-08 08:15:15 +09:00