Commit Graph

56 Commits

Author SHA1 Message Date
Andrew Tridgell 9c1e145c8f AP_PiccoloCAN: reimplement with BinarySemaphore 2024-01-03 07:37:05 +11:00
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