#include #include #include #include #include #include #include #include #include #include "inc/hw_memmap.h" #include "inc/hw_types.h" #include "inc/hw_uart.h" #include "Drivers/USB_Communication/USBCDCD.h" #include "MessageContainer.pb-c.h" #include "Stub_Status.h" #include "drivers/FPGA/FPGA.h" void Stub_FPGAReadBackRegRequest(MessageContainer* requestContainer) { uint32_t status = FAILED; unsigned short ReadBack_Value; MessageContainer responseContainer; StubFPGAReadBackRegRequest* request = stub_fpgaread_back_reg_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); status = FPGA_Test_ReadBack((unsigned char) request->fpgaid, (unsigned short) request->value, &ReadBack_Value); StubFPGAReadBackRegResponse response = STUB_FPGAREAD_BACK_REG_RESPONSE__INIT; status_response(status,&response.status, &response.statusword ,&response.has_statusword); response.fpgaid = request->fpgaid; response.has_fpgaid = true; response.readbackvalue = ReadBack_Value; response.has_readbackvalue = true; responseContainer = createContainer(MESSAGE_TYPE__StubFPGAReadBackRegResponse, requestContainer->token, true, &response, &stub_fpgaread_back_reg_response__pack, &stub_fpgaread_back_reg_response__get_packed_size); //free(request); stub_fpgaread_back_reg_request__free_unpacked(request,NULL); //------------------------------------------------------------------------------------------- uint8_t* container_buffer = malloc(message_container__get_packed_size(&responseContainer)); size_t container_size = message_container__pack(&responseContainer, container_buffer); free(responseContainer.data.data); SendChars((char*)container_buffer, container_size); //free(container_buffer); //free(requestContainer); }