|
|
|
@ -19,6 +19,7 @@
@@ -19,6 +19,7 @@
|
|
|
|
|
#include <AP_Math/AP_Math.h> |
|
|
|
|
#include <RC_Channel/RC_Channel.h> |
|
|
|
|
#include <AP_Vehicle/AP_Vehicle_Type.h> |
|
|
|
|
#include <AP_Logger/AP_Logger.h> |
|
|
|
|
|
|
|
|
|
AP_RCProtocol_Backend::AP_RCProtocol_Backend(AP_RCProtocol &_frontend) : |
|
|
|
|
frontend(_frontend), |
|
|
|
@ -73,3 +74,26 @@ void AP_RCProtocol_Backend::add_input(uint8_t num_values, uint16_t *values, bool
@@ -73,3 +74,26 @@ void AP_RCProtocol_Backend::add_input(uint8_t num_values, uint16_t *values, bool
|
|
|
|
|
} |
|
|
|
|
rssi = _rssi; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
optionally log RC input data |
|
|
|
|
*/ |
|
|
|
|
void AP_RCProtocol_Backend::log_data(AP_RCProtocol::rcprotocol_t prot, uint32_t timestamp, const uint8_t *data, uint8_t len) const |
|
|
|
|
{ |
|
|
|
|
#if !APM_BUILD_TYPE(APM_BUILD_iofirmware) |
|
|
|
|
if (rc().log_raw_data()) { |
|
|
|
|
uint32_t u32[10] {}; |
|
|
|
|
if (len > sizeof(u32)) { |
|
|
|
|
len = sizeof(u32); |
|
|
|
|
} |
|
|
|
|
memcpy(u32, data, len); |
|
|
|
|
AP::logger().Write("RCDA", "TimeUS,TS,Prot,Len,U0,U1,U2,U3,U4,U5,U6,U7,U8,U9", "QIBBIIIIIIIIII", |
|
|
|
|
AP_HAL::micros64(), |
|
|
|
|
timestamp, |
|
|
|
|
(uint8_t)prot, |
|
|
|
|
len, |
|
|
|
|
u32[0], u32[1], u32[2], u32[3], u32[4], |
|
|
|
|
u32[5], u32[6], u32[7], u32[8], u32[9]); |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|