// // Created by CFIF on 09.11.22. // #include "ComIntCmd/SerialBridge.h" uint8_t XfcProtMethod_SerialBridgeWrite(tXfcArray *request, tXfcArray *response, tSerialBridges *env) { char name[64]; uint8_t nameLength; XFC_CMD_RX_GET_RAW(nameLength); XFC_CMD_RX_GET_ARR(name, nameLength); name[nameLength] = '\0'; tSerialBridge *bridge = SerialBridges_GetForName(env, name, nameLength); if (bridge) { uint16_t bytesInRequest = XfcArrayGetDataSize(request); uint16_t bytesWriten = SerialPortTransmit( bridge->serialIo, request->data + request->begin, bytesInRequest, 100 ); if (bytesWriten == bytesInRequest) { return XFC_TRANSPORT_PROTOCOL_RESPONSE_RESULT_OK; } } return XFC_TRANSPORT_PROTOCOL_RESPONSE_RESULT_EXECUTION_ERROR; }