Ardupilot2/libraries
Andrew Tridgell 8106291bfe AP_UAVCAN: added CAN_Dx_UC_ESC_OF parameter
this allows for an offset in ESC numbering for much more efficient CAN
bandwidth usage.

For example, on a coaxial OctoQuad quadplane the ESCs are typically
setup as outputs 5 to 12. An ideal setup is to split these over 2 CAN
buses, with one CAN bus for the top layer and the one bus for the
bottom layer (allowing for VTOL flight with one bus failed).

Without this offset parameter you would be sending RawCommand messages
like this:

bus1: [ 0, 0, 0, 0, ESC1, ESC2, ESC3, ESC4 ]
bus2: [ 0, 0, 0, 0, 0, 0, 0, 0, ESC1, ESC2, ESC3, ESC4 ]

this is very wasteful of bus bandwidth, with bus1 using 3x the
bandwidth it should and bus2 using 4x the bandwidth it should (the
above will take 3 can frames for bus1, and 4 can frames for bus 2)

With this patch you can set:

CAN_D1_UC_ESC_OF = 4
CAN_D2_UC_ESC_OF = 8

and you will get this on the bus:

bus1: [ ESC1, ESC2, ESC3, ESC4 ]
bus2: [ ESC1, ESC2, ESC3, ESC4 ]

that takes just 1 can frame per send on each bus
2022-05-18 21:23:30 +10:00
..
AC_AttitudeControl AC_AttitudeControl: Shorten survival time of automatic variables 2022-05-16 09:08:02 +09:00
AC_Autorotation AC_Autorotation: tidy includes 2022-05-03 09:14:58 +10:00
AC_AutoTune AC_AutoTune: tidy includes 2022-05-03 09:14:58 +10:00
AC_Avoidance AC_Avoidance: tidy includes 2022-05-03 09:14:58 +10:00
AC_Fence AC_Fence: Move {Plane} mark from Value to Param 2022-05-10 09:35:11 +10:00
AC_InputManager AC_InputManager: Change from division to multiplication 2022-03-16 18:41:52 +11:00
AC_PID AC_PID: stop libraries including AP_Logger.h in .h files 2022-04-08 19:18:38 +10:00
AC_PrecLand AC_PrecLand: stop libraries including AP_Logger.h in .h files 2022-04-08 19:18:38 +10:00
AC_Sprayer AC_Sprayer: use vector.xy().length() instead of norm(x,y) 2021-09-14 10:43:46 +10:00
AC_WPNav AC_WPNav: stop libraries including AP_Logger.h in .h files 2022-04-08 19:18:38 +10:00
AP_AccelCal AP_AccelCal: remove unused calc_mean_squared_residuals 2022-01-26 12:03:17 +09:00
AP_ADC AP_ADC: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_ADSB AP_ADSB: tidy includes 2022-05-03 09:14:58 +10:00
AP_AdvancedFailsafe AP_AdvancedFailsafe: add note to desc's on how to determine GPIO pin numbers 2022-04-24 08:21:01 +09:00
AP_AHRS AP_AHRS: fixed bug in blended EKF bias 2022-05-04 06:49:34 +10:00
AP_Airspeed AP_Airspeed: fixed airspeed cal on 2nd airspeed sensor 2022-05-17 19:34:32 +10:00
AP_AIS AP_AIS: rename AP_AHRS::get_position to get_location 2022-01-25 10:47:22 +11:00
AP_Arming AP_Arming: run prearm checks on all vehicles @1Hz, displaying @0.0333Hz 2022-05-18 12:25:26 +09:00
AP_Avoidance AP_Avoidance: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_Baro AP_Baro: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_BattMonitor AP_BattMonitor: tidy includes 2022-05-03 09:14:58 +10:00
AP_Beacon AP_Beacon: tidy includes 2022-05-03 09:14:58 +10:00
AP_BLHeli AP_BLHeli: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_BoardConfig AP_BoardConfig: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_Button AP_Button: pre-arm displays gpio vs servo_ch conflict 2022-04-26 15:19:28 +09:00
AP_Camera AP_Camera: add note to desc's on how to determine GPIO pin numbers 2022-04-24 08:21:01 +09:00
AP_CANManager AP_CANManager: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_Common AP_Common: tidy includes 2022-05-03 09:14:58 +10:00
AP_Compass AP_Compass: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_CustomRotations AP_CustomRotations: fix param refrencing 2022-04-20 18:25:57 +10:00
AP_DAL AP_DAL: prevent logical loop between AHRS and EKF 2022-02-07 14:13:49 +11:00
AP_Declination AP_Declination: ensure indexing into declination tables is always correct 2022-03-15 10:15:22 +11:00
AP_Devo_Telem AP_Devo_Telem: rename AP_AHRS::get_position to get_location 2022-01-25 10:47:22 +11:00
AP_EFI AP_EFI: added fuel usage integration for Lutan EFI 2022-05-17 10:35:24 +10:00
AP_ESC_Telem AP_ESC_Telem: remove misleading comment 2022-05-10 19:43:49 +10:00
AP_ExternalAHRS AP_ExternalAHRS: nuke clang warnings 2022-03-03 16:34:14 +11:00
AP_FETtecOneWire AP_FETtecOneWire: nuke clang warnings 2022-03-03 16:34:14 +11:00
AP_Filesystem AP_Filesystem: fixed warning with tmpnam 2022-05-06 06:55:16 +10:00
AP_FlashIface AP_FlashIface: make sure XIP flash is ready before returning 2022-04-12 09:19:45 +10:00
AP_FlashStorage AP_FlashStorage: support L496 MCUs 2021-09-24 18:08:00 +10:00
AP_Follow AP_Follow: added APIs for plane ship landing 2022-03-10 07:34:20 +11:00
AP_Frsky_Telem AP_Frsky_Telem: nuke clang warnings 2022-03-03 16:34:14 +11:00
AP_Generator AP_Generator: Change from division to multiplication 2022-03-16 18:41:52 +11:00
AP_GPS AP_GPS: tidy includes 2022-05-03 09:14:58 +10:00
AP_Gripper AP_Gripper: change UAVCAN to DroneCAN in param metadata 2021-12-15 09:53:21 +11:00
AP_GyroFFT AP_GyroFFT: add notch tuning functions 2022-05-04 17:05:51 +10:00
AP_HAL AP_HAL: use array for airspeed pin value 2022-05-17 19:34:32 +10:00
AP_HAL_ChibiOS AP_HAL_ChibiOS: allocate_heap_memory use single malloc 2022-05-18 08:20:32 +10:00
AP_HAL_Empty AP_HAL_Empty: add placeholder vector addition 2022-05-04 17:05:51 +10:00
AP_HAL_ESP32 AP_HAL_ESP32: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_HAL_Linux AP_HAL_Linux: tidy includes 2022-05-03 09:14:58 +10:00
AP_HAL_SITL HAL_SITL: cleanup SITL airspeed handling 2022-05-17 19:34:32 +10:00
AP_Hott_Telem AP_Hott_Telem: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_ICEngine AP_ICEngine: tidy includes 2022-05-03 09:14:58 +10:00
AP_InertialNav AP_InertialNav: nfc, fix to say relative to EKF origin 2022-02-03 12:05:12 +09:00
AP_InertialSensor AP_InertialSensor: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_InternalError AP_InternalError: change panic to return error code as string in SITL 2021-09-28 09:11:48 +10:00
AP_IOMCU AP_IOMCU: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_IRLock AP_IRLock: correct spelling mili -> milli 2022-01-31 08:55:29 +09:00
AP_JSButton
AP_KDECAN
AP_L1_Control AP_L1_Control: use AP_GROUPINFO instead of AP_GROUPINFO_FRAME 2022-05-10 09:35:11 +10:00
AP_Landing AP_Landing: stop libraries including AP_Logger.h in .h files 2022-04-08 19:18:38 +10:00
AP_LandingGear AP_LandingGear: add note to desc's on how to determine GPIO pin numbers 2022-04-24 08:21:01 +09:00
AP_LeakDetector AP_LeakDetector: check for valid analog pin 2021-10-06 18:42:51 +11:00
AP_Logger AP_Logger: log airspeed primary changes 2022-05-17 10:27:57 +10:00
AP_LTM_Telem AP_LTM_Telem: Change from division to multiplication 2022-03-16 18:41:52 +11:00
AP_Math AP_Math: tidy includes 2022-05-03 09:14:58 +10:00
AP_Menu
AP_Mission AP_Mission: allow NAV_VTOL_TAKEOFF in is_takoff_next() 2022-05-18 06:43:16 +10:00
AP_Module AP_Module: tidy includes 2022-05-03 09:14:58 +10:00
AP_Motors AP_Motors: correct initialised_ok state for HeliDual+Quad 2022-05-18 12:25:26 +09:00
AP_Mount AP_Mount: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_MSP AP_MSP: allow backends to be compiled out 2022-05-10 09:02:51 +10:00
AP_NavEKF AP_NavEKF: getYawData also provides number of clipping models 2022-05-11 17:45:47 +10:00
AP_NavEKF2 AP_NavEKF2: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_NavEKF3 AP_NavEKF3: replace AP_HAL::millis() with dal.millis() 2022-05-18 17:59:57 +10:00
AP_Navigation
AP_NMEA_Output AP_NMEA_Output: use a fixed maximum number of NMEA outputs 2022-02-23 12:36:59 +11:00
AP_Notify AP_Notify: tidy includes 2022-05-03 09:14:58 +10:00
AP_OLC AP_OLC: tidy includes 2022-05-03 09:14:58 +10:00
AP_ONVIF AP_ONVIF: tidy includes 2022-05-03 09:14:58 +10:00
AP_OpticalFlow AP_OpticalFlow: tidy includes 2022-05-03 09:14:58 +10:00
AP_OSD AP_OSD: correct compilation without OSD_ENABLED 2022-05-17 10:26:50 +10:00
AP_Parachute AP_Parachute: added arming check for chute released 2021-11-18 15:21:15 +11:00
AP_Param AP_Param: eedump_apparam fix accessing uninit var 2022-05-17 10:26:18 +10:00
AP_PiccoloCAN AP_PiccoloCAN: Change from division to multiplication 2022-03-16 18:41:52 +11:00
AP_Proximity AP_Proximity: fix misleading variable name for TerraRangerTower 2022-05-11 15:53:47 +09:00
AP_Radio AP_Radio: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_Rally AP_Rally: tidy includes 2022-05-03 09:14:58 +10:00
AP_RAMTRON AP_RAMTRON: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_RangeFinder AP_RangeFinder: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_RCMapper AP_RCMapper: Remove RCMAP_FORWARD and LATERAL from rover docs 2022-05-10 09:35:11 +10:00
AP_RCProtocol AP_RCProtocol: flush CRSF telemety writes 2022-04-20 17:38:08 +10:00
AP_RCTelemetry AP_RCTelemetry: tidy includes 2022-05-03 09:14:58 +10:00
AP_Relay AP_Relay:Prevent operation for sim-on-hardware,add logs 2022-05-02 10:54:02 +10:00
AP_RobotisServo AP_RobotisServo: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_ROMFS AP_ROMFS: tidy includes 2022-05-03 09:14:58 +10:00
AP_RPM AP_RPM: tidy includes 2022-05-03 09:14:58 +10:00
AP_RSSI AP_RSSI: convert floating point divides into multiplys 2022-03-18 15:26:44 +11:00
AP_RTC AP_RTC: fix oldest_acceptable_date to be in micros 2022-02-10 09:22:30 +11:00
AP_SBusOut
AP_Scheduler AP_Scheduler: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_Scripting AP_Scripting: always free the heap and remove scripts 2022-05-18 08:20:32 +10:00
AP_SerialLED AP_SerialLED: tidy includes 2022-05-03 09:14:58 +10:00
AP_SerialManager AP_SerialManager: Console output can be disabled 2022-05-17 09:53:06 +10:00
AP_ServoRelayEvents
AP_SmartRTL
AP_Soaring AP_Soaring: Change from division to multiplication 2022-03-16 18:41:52 +11:00
AP_Stats
AP_TECS AP_TECS: stop libraries including AP_Logger.h in .h files 2022-04-08 19:18:38 +10:00
AP_TempCalibration
AP_TemperatureSensor
AP_Terrain AP_Terrain: tidy includes 2022-05-03 09:14:58 +10:00
AP_Torqeedo AP_Torqeedo: Change from division to multiplication 2022-03-16 18:41:52 +11:00
AP_ToshibaCAN AP_ToshibaCAN: correct spelling mili -> milli 2022-01-31 08:55:29 +09:00
AP_Tuning AP_Tuning: tidy includes 2022-05-03 09:14:58 +10:00
AP_UAVCAN AP_UAVCAN: added CAN_Dx_UC_ESC_OF parameter 2022-05-18 21:23:30 +10:00
AP_Vehicle AP_Vehicle: run prearm checks on all vehicles @1Hz, displaying @0.0333Hz 2022-05-18 12:25:26 +09:00
AP_VideoTX AP_VideoTX: tidy includes 2022-05-03 09:14:58 +10:00
AP_VisualOdom AP_VisualOdom: tidy includes 2022-05-03 09:14:58 +10:00
AP_Volz_Protocol AP_Volz_Protocol: allow Volz protocol to be compiled out 2022-04-12 10:35:01 +10:00
AP_WheelEncoder AP_WheelEncoder: tidy includes 2022-05-03 09:14:58 +10:00
AP_Winch AP_Winch: stop libraries including AP_Logger.h in .h files 2022-04-08 19:18:38 +10:00
AP_WindVane AP_WindVane: tidy includes 2022-05-03 09:14:58 +10:00
APM_Control APM_Control: tidy includes 2022-05-03 09:14:58 +10:00
AR_Motors AR_Motors: stop libraries including AP_Logger.h in .h files 2022-04-08 19:18:38 +10:00
AR_WPNav AR_WPNav: stop libraries including AP_Logger.h in .h files 2022-04-08 19:18:38 +10:00
doc
Filter Filter: add mutators for notch filter parameters 2022-05-04 17:05:51 +10:00
GCS_MAVLink GCS_MAVLink: Console output can be disabled 2022-05-17 09:53:06 +10:00
PID PID: stop libraries including AP_Logger.h in .h files 2022-04-08 19:18:38 +10:00
RC_Channel RC_Channel: notify Airmode switch 2022-05-16 16:13:53 +09:00
SITL SITL: removed SIM_WIND_DELAY 2022-05-17 19:34:32 +10:00
SRV_Channel SRV_Channel: fix auxiliary typo 2022-05-02 10:55:08 +10:00
StorageManager StorageManager: fix write_block() comment 2021-12-17 09:53:47 +09:00