Commit Graph

55 Commits

Author SHA1 Message Date
Peter Barker ba96789b70 AP_PiccoloCAN: allow more libraries to compile with no HAL_GCS_ENABLED 2023-09-05 22:23:51 +10:00
Peter Barker 15dc15df3f AP_PiccoloCAN: remove double-definition of HAL_PICCOLOCAN_ENABLED
also trust minimize_features.inc to remove this feature where not desired
2023-06-09 08:00:46 +10:00
Oliver Walters 5e68e473c9 AP_PiccoloCAN: Add precompiler checks
- Only compile if HAL_PICCOLO_CAN_ENABLE flag is set
2023-06-09 08:00:46 +10:00
Oliver Walters e6f1437ccf AP_PiccoloCAN: Remove unnecessary files 2023-06-09 08:00:46 +10:00
Oliver 97e58d9df9 AP_PiccoloCAN: Remove old ESC structure
- No longer needed
- Now replaced with class-based implementation
2023-06-09 08:00:46 +10:00
Oliver a246cf71f3 AP_PiccoloCAN: Split device functionality into separate files 2023-06-09 08:00:46 +10:00
Oliver b3d82bdd57 AP_PiccoloCAN: Add protocol files for transmuter
(cherry picked from commit 25d118c468ab04c179152d43356074a68286514b)
2023-06-09 08:00:46 +10:00
Peter Barker f17dfbc584 AP_HAL_ChibiOS: correct heavy periph compilation
canmanager isn't enabled, so no piccolocan
2023-06-07 18:24:05 +10:00
Peter Barker 179b79a00c AP_PiccoloCAN: use minimize_features.inc for more features 2023-06-06 10:14:02 +10:00
Andrew Tridgell 7963ee8a13 AP_PiccoloCAN: expand servo status logging 2023-05-09 09:40:53 +10:00
Peter Barker 34a02fcda9 AP_PiccoloCAN: move and rename CAN Driver_Type enumeration 2023-04-20 08:53:46 +10:00
Peter Barker 1e38200293 AP_PiccoloCAN: tidy AP_EFI defines 2023-03-21 09:01:13 +11:00
Reilly Callaway 9097f51698 AP_PiccoloCAN: Fix ESC voltage and current telem scaling 2023-02-22 18:40:12 +11:00
jackhong12 4a4f361a17 all: use CLASS_NO_COPY() macro 2022-10-04 11:23:04 +11:00
Andrew Tridgell e4a0ea65b8 AP_PiccoloCAN: fix for new param set 2022-09-20 15:24:48 +10:00
Reilly Callaway 19f135b1b6 AP_PiccoloCAN: SendECU throttle commands over CAN 2022-09-20 15:24:48 +10:00
Reilly Callaway 080c0a77e8 AP_PiccoloCAN: Add Currawong ECU message handling 2022-09-20 15:24:48 +10:00
Reilly Callaway 813c21ffc0 AP_PiccoloCAN: Add Currawong ECU piccolo protocol 2022-09-20 15:24:48 +10:00
Iampete1 63e58e4fa1 AP_PiccoloCAN: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 51a631b523 AP_PiccoloCAN: update ESC_BM Bitmask 2022-05-22 12:07:37 +10:00
murata af3fbac118 AP_PiccoloCAN: Change from division to multiplication 2022-03-16 18:41:52 +11:00
Iampete1 515db96858 AP_PiccoloCAN: GPIO servo does not count as active 2022-03-08 11:16:42 +11:00
VMsunghwan e3c116c9fb AP_PiccoloCAN : Update Telemetry
telemtry -> telemetry
2022-01-17 11:26:34 +09:00
Oliver 80c7c9f16a AP_PiccoloCAN: Bug fix for ESC temperature data
- Fixes issues with temperature data in telemetry and logs
- Use the maximum of available temperature values for the ESC (where available)
2021-12-19 10:50:37 +11:00
Siddharth Purohit 43bb543aff AP_PiccoloCAN: fix missing _telem_sem 2021-06-24 17:15:08 +10:00
Oliver 9aba85dadc AP_PiccoloCAN: Explicit initialization of AP_HAL::CANFrame instances 2021-06-24 15:51:21 +10:00
Oliver dade859ff9 AP_PiccoloCAN: Remove unncessary floating point operations 2021-06-24 15:51:21 +10:00
Oliver 06eb844ede AP_PiccoloCAN: Update code to match new esc telemetry / logging architecture 2021-06-24 15:51:21 +10:00
Oliver Walters de3c4cc9da AP_PiccoloCAN: Increase number of supported channels from 12 -> 16 2021-06-24 15:51:21 +10:00
Oliver Walters fb16b085c0 AP_PiccoloCAN: Record servo telemetry information to log
- Servo position
- Servo speed
- Servo force / torque
- Servo duty cycle

Updated servo protocol file to accommodate extra variable data
2021-06-24 15:51:21 +10:00
Oliver Walters 115c1224de AP_PiccoloCAN: Send servo commands for active channels
- For each channel, check if a non-motor function is assigned
- If so, send the function value out to the servo
2021-06-24 15:51:21 +10:00
Oliver Walters 7b0da02a18 AP_PiccoloCAN: Framework for CAN servo outputs 2021-06-24 15:51:21 +10:00
Oliver Walters 43b7b4eb3b AP_PiccoloCAN: Add support for CBS servo protocol
- Adds protocol files for the servo protocol
- Generated using Protogen tool
2021-06-24 15:51:21 +10:00
Siddharth Purohit 6d8972e63b AP_PiccoloCAN: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-24 09:02:42 +10:00
Dr.-Ing. Amilcar do Carmo Lucas d15042d7c0 AP_PiccoloCAN: fix compilation when HAL_WITH_ESC_TELEM == 0 2021-06-09 21:42:51 +10:00
Tom Pittenger 96055e877b AP_PiccoloCAN: AP::can().log_text() needs HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-09 18:36:18 +10:00
Andy Piper 70fae36a89 AP_PiccoloCAN: add ESC telemetry support
remove send_esc_telemetry_mavlink()
log telemetry data in frontend
record volts, amps and consumption as floats
2021-05-12 17:01:11 +10:00
Oliver Walters 917f7d8797 AP_PiccoloCAN: Update timeout values to use 64-bit calls
- Prevent premature overflow due to 32-bit variables
2020-10-28 18:25:45 +11:00
Oliver Walters 491499ad16 AP_PiccoloCAN: Fixed license text in auto-generated files
- License file had been replaced due to re-generation of protocol files
- Original license file and header text reverted
2020-10-28 18:25:45 +11:00
Oliver Walters 479df2e20b AP_PiccoloCAN: Prevent thread from getting stuck in an infinite loop
- Previous code would get stuck in the CAN Tx loop
- New approach is to simply increase the timeout on frame transmission
2020-10-28 18:25:45 +11:00
Oliver Walters 6786e832a1 AP_PiccoloCAN: Provide compatibility for "Gen 2" Velociy ESC ICD
- The "Gen 2" Velocity ESC provides much more telemetry data
- The new ICD changes are compatible (i.e. legacy and modern ESCs can be on the CAN bus at the same time)
- Decode legacy packets and convert them to modern data structures
- Supports decoding of newer telemetry packets
- Supports decoding of new warning / error packets
2020-10-28 18:25:45 +11:00
Oliver Walters 8aeec6c4d1 AP_PiccoloCAN: Constrain ESC command message rate
Use constain_int16 rather than using primitive checks
2020-09-09 15:31:21 +10:00
Oliver Walters 09d38f8729 AP_PiccoloCAN: Fix logic to improve readability 2020-09-09 15:31:21 +10:00
Oliver Walters 818e7f2cdf AP_PiccoloCAN: ESC message rate is now in Hz 2020-09-09 15:31:21 +10:00
Oliver Walters 5c53c17076 Remove parameters related to CAN servo operation 2020-09-09 15:31:21 +10:00
Oliver Walters 66812c72da AP_PiccoloCAN: Specify which ESC channels are used
- Uses the CAN_Dx_PC_ESC_BM bitmask to determine which ESC (motor) channels are controlled over PiccoloCAN
- Only transmits messages relevent to the selected motor channels
2020-09-09 15:31:21 +10:00
Oliver Walters 17932e3d1d AP_PiccoloCAN: ESC command rate now configurable
Uses CAN_Dx_PC_ESC_MS parameter to set the ESC data rate (in ms)
2020-09-09 15:31:21 +10:00
Oliver Walters a98babc02c AP_PiccoloCAN: Add user configurable operations to adjust Piccolo CAN ESC behaviour 2020-09-09 15:31:21 +10:00
Siddharth Purohit 0fcf0b4564 AP_PiccoloCAN: modify to use uavcan agnostic CAN drivers and manager 2020-08-19 17:31:09 +10:00
Peter Barker 245b962d92 AP_PiccoloCAN: regularise CAN pre-arm failure messages
AP_Arming tacks on the sub-system bit.

Remove PiccoloCAN's silly nullptr check

Require the library to supply the failure message (no default message)

Remove default cases so authors know to think about places they should
add things.
2020-05-05 11:27:53 +10:00