// // 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; }