ComIntCmd_VersionsInfo/Src/ComIntCmd/VersionsInfo.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;
}