#include #include #include #include #include "include.h" #include "driverlib/gpio.h" #include "Communication/Connection.h" #include "Drivers/USB_Communication/USBCDCD.h" #include "drivers/Flash_Memory/FATFS/ff.h" #include "drivers/Flash_Memory/FATFS/Control_File_System.h" #include "drivers/Flash_ram/FlashProgram.h" #include "drivers/adc_sampling/adc.h" #include "drivers/Heater/TemperatureSensor.h" #include "drivers/ADC_Sampling/adc.h" #include "drivers/Flash_ram/MCU_E2Prom.h" #include "Drivers/SSI_Comm/Dancer/Dancer.h" #include "Drivers/I2C_Communication/Head_Card/PT100/Head_PT100_ADC.h" #include "Drivers/I2C_Communication/Head_Card/Fan/fan_click.h" #include "Drivers/I2C_Communication/Head_Card/Fan/Head_Fan.h" #include "drivers/Motors/Motor.h" #include "drivers/Valves/Valve.h" #include "drivers/FPGA/FPGA_SPI_Comm.h" #include #include #include "Drivers/I2C_Communication/Head_Card/IO_Ports/Head_IO.h" #include "drivers/adc_sampling/adc.h" #include #include #include #include #include #include #include #include "Drivers/I2C_Communication/Dispenser_Card/EEPROM/Dispenser_EEPROM.h" #include "drivers/Uart_Comm/WHS_Controller_Comm/WHS_UART/WHS_Uart.h" #include #include "drivers/Heater/TemperatureSensor.h" #include "Drivers/I2C_Communication/Head_Card/PT100/ADS122X04.h" #include "Modules/IFS/ifs.h" #include "Modules/IDS/ids_ex.h" #include "Modules/IDS/ids.h" #include "Modules/Control/MillisecTask.h" #include "modules/thread/thread_ex.h" #include "modules/heaters/heaters_ex.h" #include "modules/waste/waste_ex.h" #include "AlarmHandling/AlarmHandling.h" #include "StateMachines/Initialization/PowerOffSequence.h" #include "StateMachines/Initialization/PowerIdle.h" extern HeadBoardTempSensConfigStruc HeadTempSensConfig[MAX_HEAD_CARD_TEMP_SENS_ID]; extern float NumberOfRotationPerPassage; // how many rotations per spool passage extern void HeaterSafetyTestSetLimits(int limit); //#include "graphics_adapter.h" extern uint8_t Input_Voltage; extern uint8_t Test_Read_Buf[4]; extern uint8_t Head_Fan_PWM_Command[2]; extern uint16_t Head_Fan_Tach[2]; extern bool doorState; uint32_t temp1,temp2; void Stub_ProcedureRequest(MessageContainer* requestContainer) { MessageContainer responseContainer; bool ResetNeeded = false; ProcedureRequest* request = procedure_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); int i,n_param = request->n_param; ProcedureResponse response = PROCEDURE_RESPONSE__INIT; /* protobuf_c_boolean has_type; int32_t type; protobuf_c_boolean has_timeout; int32_t timeout; char *testname; size_t n_param; float *param; * */ //writeLine("Procedure Request..."); Report(request->testname,__FILE__,__LINE__,(int)request->type,RpWarning,(int) request->n_param,0); if (request->has_type) { switch (request->type) { default: response.replymessage = request->testname; if (n_param) { response.replyvalue = (float*)my_malloc(sizeof(float *)*(request->n_param)); response.n_replyvalue = request->n_param; for(i=0;itestname,__FILE__,__LINE__,(int)request->type,RpWarning,(int) request->n_param,0); response.replyvalue[i] = request->param[i]; } } response.time = msec_millisecondCounter; response.type = request->type; break; } } responseContainer = createContainer(MESSAGE_TYPE__ProcedureResponse, requestContainer->token, true, &response, &procedure_response__pack, &procedure_response__get_packed_size); uint8_t* container_buffer = malloc(message_container__get_packed_size(&responseContainer)); size_t container_size = message_container__pack(&responseContainer, container_buffer); my_free(responseContainer.data.data); if (response.replyvalue) my_free(response.replyvalue); if (request) procedure_request__free_unpacked(request,NULL); //writeLine("Procedure Completed!"); SendChars((char*)container_buffer, container_size); //free(container_buffer); if (ResetNeeded == true) { REPORT_MSG(255,"Update successful, Rebooting in 5 seconds"); Task_sleep (eOneSecond*5); Power_Reset(); ResetNeeded = false; } return; }