AP_Periph: add BRD_SERIAL_NUM and append CAN_APP_NODE_NAME

This commit is contained in:
Tom Pittenger 2020-12-16 21:46:31 -08:00 committed by Tom Pittenger
parent 4efcf16005
commit 5238f85091
3 changed files with 13 additions and 4 deletions

View File

@ -41,6 +41,8 @@ const AP_Param::Info AP_Periph_FW::var_info[] = {
GSCALAR(debug, "DEBUG", 0), GSCALAR(debug, "DEBUG", 0),
GSCALAR(serial_number, "BRD_SERIAL_NUM", 0),
#ifdef HAL_PERIPH_ENABLE_BUZZER #ifdef HAL_PERIPH_ENABLE_BUZZER
GSCALAR(buzz_volume, "BUZZER_VOLUME", 100), GSCALAR(buzz_volume, "BUZZER_VOLUME", 100),
#endif #endif

View File

@ -30,6 +30,7 @@ public:
k_param_esc_number, k_param_esc_number,
k_param_battery, k_param_battery,
k_param_debug, k_param_debug,
k_param_serial_number,
}; };
AP_Int16 format_version; AP_Int16 format_version;
@ -67,6 +68,8 @@ public:
AP_Int8 debug; AP_Int8 debug;
AP_Int32 serial_number;
Parameters() {} Parameters() {}
}; };

View File

@ -155,10 +155,14 @@ static void handle_get_node_info(CanardInstance* ins,
pkt.hardware_version.major = APJ_BOARD_ID >> 8; pkt.hardware_version.major = APJ_BOARD_ID >> 8;
pkt.hardware_version.minor = APJ_BOARD_ID & 0xFF; pkt.hardware_version.minor = APJ_BOARD_ID & 0xFF;
char name[strlen(CAN_APP_NODE_NAME)+1]; char text[UAVCAN_PROTOCOL_GETNODEINFO_RESPONSE_NAME_MAX_LENGTH+1];
strcpy(name, CAN_APP_NODE_NAME); if (periph.g.serial_number > 0) {
pkt.name.len = strlen(CAN_APP_NODE_NAME); hal.util->snprintf(text, sizeof(text), "%s(%u)", CAN_APP_NODE_NAME, (unsigned)periph.g.serial_number);
pkt.name.data = (uint8_t *)name; } else {
hal.util->snprintf(text, sizeof(text), "%s", CAN_APP_NODE_NAME);
}
pkt.name.len = strlen(text);
pkt.name.data = (uint8_t *)text;
uint16_t total_size = uavcan_protocol_GetNodeInfoResponse_encode(&pkt, buffer); uint16_t total_size = uavcan_protocol_GetNodeInfoResponse_encode(&pkt, buffer);