Browse Source

AP_UAVCAN: use const unique id length variable

master
Siddharth Purohit 6 years ago committed by Andrew Tridgell
parent
commit
c37a9966c1
  1. 14
      libraries/AP_UAVCAN/AP_UAVCAN.cpp
  2. 8
      libraries/AP_UAVCAN/AP_UAVCAN_Servers.cpp

14
libraries/AP_UAVCAN/AP_UAVCAN.cpp

@ -180,15 +180,12 @@ void AP_UAVCAN::init(uint8_t driver_index) @@ -180,15 +180,12 @@ void AP_UAVCAN::init(uint8_t driver_index)
hw_version.major = AP_UAVCAN_HW_VERS_MAJOR;
hw_version.minor = AP_UAVCAN_HW_VERS_MINOR;
uint8_t len = hw_version.unique_id.capacity();
uint8_t *unique_id = new uint8_t[len];
const uint8_t uid_buf_len = hw_version.unique_id.capacity();
uint8_t uid_len = uid_buf_len;
uint8_t unique_id[uid_buf_len];
if (unique_id) {
hal.util->get_system_id_unformatted(unique_id, len);
uavcan::copy(unique_id, unique_id + len, hw_version.unique_id.begin());
} else {
AP_HAL::panic("UAVCAN: Failed to allocate Unique ID");
}
if (hal.util->get_system_id_unformatted(unique_id, uid_len)) {
uavcan::copy(unique_id, unique_id + uid_len, hw_version.unique_id.begin());
_node->setHardwareVersion(hw_version);
@ -202,6 +199,7 @@ void AP_UAVCAN::init(uint8_t driver_index) @@ -202,6 +199,7 @@ void AP_UAVCAN::init(uint8_t driver_index)
#ifdef HAS_UAVCAN_SERVERS
_servers.init(*_node);
#endif
}
// Roundup all subscribers from supported drivers
AP_GPS_UAVCAN::subscribe_msgs(this);
AP_Compass_UAVCAN::subscribe_msgs(this);

8
libraries/AP_UAVCAN/AP_UAVCAN_Servers.cpp

@ -83,13 +83,7 @@ class AP_UAVCAN_FileEventTracer : public uavcan::dynamic_node_id_server::IEventT @@ -83,13 +83,7 @@ class AP_UAVCAN_FileEventTracer : public uavcan::dynamic_node_id_server::IEventT
protected:
virtual void onEvent(uavcan::dynamic_node_id_server::TraceCode code, uavcan::int64_t argument)
{
struct log_UAVCAN_EVT pkt = {
LOG_PACKET_HEADER_INIT(LOG_UAVCAN_EVT_MSG),
time_us : AP_HAL::micros64(),
code : code,
argument : argument
};
DataFlash_Class::instance()->WriteBlock(&pkt, sizeof(pkt));
DataFlash_Class::instance()->Log_Write("UCEV", "TimeUS,code,arg", "s--", "F--", "Qhq", AP_HAL::micros64(), code, argument);
}
};

Loading…
Cancel
Save