39 lines
1.4 KiB
C
39 lines
1.4 KiB
C
//
|
|
// Created by cfif on 04.10.2022.
|
|
//
|
|
|
|
#include "ComIntCmd/VersionsInfo.h"
|
|
|
|
void XfcProtMethodsAdd_VersionsInfo(tXfcProtTable *protTab, tVersionsInfoTable *versions) {
|
|
XfcProtTable_AddStatic(protTab, "VERSIONS_INFO", XfcProtMethod_VersionsInfo, versions);
|
|
}
|
|
|
|
uint8_t XfcProtMethod_VersionsInfo(tXfcArray *request, tXfcArray *response, tVersionsInfoTable *versions) {
|
|
|
|
XFC_CMD_TX_ADD_RAW(versions->count);
|
|
|
|
for (uint16_t versionIdx = 0; versionIdx < versions->count; ++versionIdx) {
|
|
tVersionPair *versionPair = versions->items + versionIdx;
|
|
|
|
XFC_CMD_TX_ADD_RAW(versionPair->name.length);
|
|
XFC_CMD_TX_ADD_ARR(versionPair->name.data, versionPair->name.length);
|
|
|
|
XFC_CMD_TX_ADD_RAW(*versionPair->value.length);
|
|
XFC_CMD_TX_ADD_ARR(versionPair->value.data, *versionPair->value.length);
|
|
}
|
|
|
|
// XFC_CMD_TX_ADD_PSTR("FIRMWARE");
|
|
// XFC_CMD_TX_ADD_RAW(versions->FIRMWARE_ID.length);
|
|
// XFC_CMD_TX_ADD_ARR(versions->FIRMWARE_ID.str, versions->FIRMWARE_ID.length);
|
|
//
|
|
// XFC_CMD_TX_ADD_PSTR("DEVICE_ID");
|
|
// XFC_CMD_TX_ADD_RAW(versions->DEVICE_ID.length);
|
|
// XFC_CMD_TX_ADD_ARR(versions->DEVICE_ID.str, versions->DEVICE_ID.length);
|
|
//
|
|
// XFC_CMD_TX_ADD_PSTR("BOARD");
|
|
// XFC_CMD_TX_ADD_RAW(versions->BOARD_ID.length);
|
|
// XFC_CMD_TX_ADD_ARR(versions->BOARD_ID.str, versions->BOARD_ID.length);
|
|
|
|
return XFC_TRANSPORT_PROTOCOL_RESPONSE_RESULT_OK;
|
|
}
|