AP_CANManager: replace libuavcan with libcanard based driver

This commit is contained in:
bugobliterator 2023-01-10 00:37:50 +11:00 committed by Andrew Tridgell
parent 0e80802f69
commit 7e660c2e74
2 changed files with 7 additions and 2 deletions

View File

@ -36,9 +36,11 @@ const AP_Param::GroupInfo AP_CANManager::CANDriver_Params::var_info[] = {
// @RebootRequired: True
AP_GROUPINFO("PROTOCOL", 1, AP_CANManager::CANDriver_Params, _driver_type, AP_CANManager::Driver_Type_UAVCAN),
#if HAL_ENABLE_LIBUAVCAN_DRIVERS
// @Group: UC_
// @Path: ../AP_UAVCAN/AP_UAVCAN.cpp
AP_SUBGROUPPTR(_uavcan, "UC_", 2, AP_CANManager::CANDriver_Params, AP_UAVCAN),
#endif
#if (APM_BUILD_COPTER_OR_HELI || APM_BUILD_TYPE(APM_BUILD_ArduPlane) || APM_BUILD_TYPE(APM_BUILD_ArduSub))
// @Group: KDE_

View File

@ -202,8 +202,9 @@ void AP_CANManager::init()
}
// Allocate the set type of Driver
#if HAL_ENABLE_LIBUAVCAN_DRIVERS
if (drv_type[drv_num] == Driver_Type_UAVCAN) {
_drivers[drv_num] = _drv_param[drv_num]._uavcan = new AP_UAVCAN;
_drivers[drv_num] = _drv_param[drv_num]._uavcan = new AP_UAVCAN(drv_num);
if (_drivers[drv_num] == nullptr) {
AP_BoardConfig::allocation_error("uavcan %d", i + 1);
@ -211,7 +212,9 @@ void AP_CANManager::init()
}
AP_Param::load_object_from_eeprom((AP_UAVCAN*)_drivers[drv_num], AP_UAVCAN::var_info);
} else if (drv_type[drv_num] == Driver_Type_KDECAN) {
} else
#endif
if (drv_type[drv_num] == Driver_Type_KDECAN) {
#if (APM_BUILD_COPTER_OR_HELI || APM_BUILD_TYPE(APM_BUILD_ArduPlane) || APM_BUILD_TYPE(APM_BUILD_ArduSub))
// To be replaced with macro saying if KDECAN library is included
_drivers[drv_num] = _drv_param[drv_num]._kdecan = new AP_KDECAN;