#include #include #include #include #include #include #include #include #include "inc/hw_memmap.h" #include "inc/hw_types.h" #include "inc/hw_uart.h" #include "usb_serial_adapter.h" #include "graphics_adapter.h" #include "MessageContainer.pb-c.h" #include "Container.h" #include "Stub_Status.h" #include "drivers/FPGA/FPGA.h" void Stub_FPGAReadVersionRequest(MessageContainer* requestContainer) { uint32_t status = FAILED; unsigned char Version = 0; unsigned char Year = 0 ; unsigned char Month = 0; unsigned char Day = 0; MessageContainer responseContainer; StubFPGAReadVersionRequest* request = stub_fpgaread_version_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); writeLine("ReadBack Request: "); writeFloat(request->fpgaid); status = FPGA_ReadVersion((unsigned char)request->fpgaid, &Version, &Year, &Month, &Day); StubFPGAReadVersionResponse response = STUB_FPGAREAD_VERSION_RESPONSE__INIT; status_response(status,&response.status, &response.statusword ,&response.has_statusword); response.fpgaid = request->fpgaid; response.has_fpgaid = true; response.day = Day; response.has_day = true; response.month = Month; response.has_month = true; response.year = Year; response.has_year = true; response.ver_num = Version; response.has_ver_num = true; responseContainer = createContainer(MESSAGE_TYPE__StubFPGAReadVersionResponse, requestContainer->token, true, &response, &stub_fpgaread_version_response__pack, &stub_fpgaread_version_response__get_packed_size); writeLine("Sending Response: "); writeFloat(response.fpgaid); writeString(", "); writeFloat(response.day); writeString(", "); writeFloat(response.month); writeString(", "); writeFloat(response.year); writeString(", "); writeFloat(response.ver_num); writeString(", "); Write_status_response(status); free(request); //------------------------------------------------------------------------------------------- uint8_t* container_buffer = malloc(message_container__get_packed_size(&responseContainer)); size_t container_size = message_container__pack(&responseContainer, container_buffer); SendChars((char*)container_buffer, container_size); free(container_buffer); free(requestContainer); }