Commit Graph

38 Commits

Author SHA1 Message Date
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
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 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 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
Andrew Tridgell e1f89c2c0d AP_PiccoloCAN: fixed build error on Linux
_thread_name too short
2019-12-31 11:38:30 +11:00
Oliver Walters 9229efbf81 AP_PiccoloCAN: Always use bulk ESC commands 2019-12-22 09:48:40 +11:00
Oliver Walters fadc968b38 AP_PiccoloCAN: Improve arm/disarm ESC behaviour
- When disarmed, broadcast a "software disable" command to all ESC on the bus
- This means that ESC will reject any PWM commands
- When armed, ensure each ESC is enabled before sending PWM commands
2019-12-22 09:48:40 +11:00
Andrew Tridgell 9821d52b72 AP_PiccoloCAN: added selective build of PiccoloCAN 2019-12-22 09:48:40 +11:00
Oliver Walters ace0006a4e AP_PiccoloCAN: added support for Piccolo CAN ESCs 2019-12-22 09:48:40 +11:00