From 540272c93c7d0b4a12ea797c996f2c9ddf2a5bbb Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Sun, 22 Apr 2018 13:58:32 +0300 Subject: 1. IfIndex in control interface 2. container.c moved to communication --- .../Embedded/Common/report/reportInit.c | 2 +- .../Embedded/Communication/CommunicationTask.c | 19 ++- .../Embedded/Communication/CommunicationTask.h | 3 + .../Embedded_SW/Embedded/Communication/Container.c | 180 +++++++++++++++++++++ .../Embedded_SW/Embedded/Communication/Container.h | 10 ++ .../Embedded_SW/Embedded/Drivers/Motors/Motor.c | 18 ++- Software/Embedded_SW/Embedded/Main.c | 3 +- .../Modules/Control/DriverWithCallbackExample.c | 2 +- .../Embedded/Modules/Control/MillisecTask.h | 4 + .../Embedded_SW/Embedded/Modules/Control/control.c | 15 +- .../Embedded_SW/Embedded/Modules/Control/control.h | 15 +- .../Embedded/Modules/General/GeneralHardware.c | 2 +- .../Embedded/Modules/General/GeneralHardware.h | 2 +- .../Embedded/Modules/Heaters/Heaters_print.c | 30 +++- .../Embedded/Modules/Stubs_Handler/Calculate.c | 2 +- .../Embedded/Modules/Stubs_Handler/Container.c | 180 --------------------- .../Embedded/Modules/Stubs_Handler/Container.h | 7 - .../Embedded/Modules/Stubs_Handler/Progress.c | 2 +- .../Modules/Stubs_Handler/Stub_Cartridge.c | 2 +- .../Modules/Stubs_Handler/Stub_Dispenser.c | 2 +- .../Embedded/Modules/Stubs_Handler/Stub_ExtFlash.c | 2 +- .../Modules/Stubs_Handler/Stub_FPGARWReg.c | 2 +- .../Modules/Stubs_Handler/Stub_FPGAReadBackReg.c | 2 +- .../Modules/Stubs_Handler/Stub_FPGAReadVersion.c | 2 +- .../Embedded/Modules/Stubs_Handler/Stub_GPIO.c | 2 +- .../Modules/Stubs_Handler/Stub_HW_Version.c | 2 +- .../Embedded/Modules/Stubs_Handler/Stub_Heater.c | 2 +- .../Embedded/Modules/Stubs_Handler/Stub_L6470.c | 2 +- .../Embedded/Modules/Stubs_Handler/Stub_Motor.c | 2 +- .../Modules/Stubs_Handler/Stub_MotorEncoder.c | 2 +- .../Modules/Stubs_Handler/Stub_OptLimitSwitch.c | 2 +- .../Modules/Stubs_Handler/Stub_SteperMotor.c | 2 +- .../Embedded/Modules/Stubs_Handler/Stub_Valve.c | 3 +- .../Embedded/Modules/Thread/Thread_print.c | 40 +++-- 34 files changed, 320 insertions(+), 247 deletions(-) create mode 100644 Software/Embedded_SW/Embedded/Communication/Container.c create mode 100644 Software/Embedded_SW/Embedded/Communication/Container.h delete mode 100644 Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Container.c delete mode 100644 Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Container.h (limited to 'Software/Embedded_SW/Embedded') diff --git a/Software/Embedded_SW/Embedded/Common/report/reportInit.c b/Software/Embedded_SW/Embedded/Common/report/reportInit.c index e534b9b2c..1799ba648 100644 --- a/Software/Embedded_SW/Embedded/Common/report/reportInit.c +++ b/Software/Embedded_SW/Embedded/Common/report/reportInit.c @@ -24,6 +24,7 @@ /*------------- Includes --------------------------------*/ +#include #include #include /* puts(), etc. */ #include "report.h" @@ -35,7 +36,6 @@ #include "PMR/debugging/DebugLogRequest.pb-c.h" #include "PMR/debugging/DebugLogResponse.pb-c.h" //#include "graphics_adapter.h" -#include "Modules/Stubs_Handler/Container.h" char protobufToken[36] = {0}; /*void SendStatusResponse (uint32_t Code, char *Token) diff --git a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c index 485097cbf..839b2ce80 100644 --- a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c +++ b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c @@ -7,7 +7,7 @@ #include "include.h" #include "drivers/Uart_Comm/uart.h" - +#include "communicationTask.h" static void (*callback)(char* buffer, size_t length); Mailbox_Handle CommunicationRxMsgQ = NULL; @@ -23,6 +23,7 @@ typedef struct CommTxMessage{ char *Buff; }CommTxMessageStruc; +int CommType = 0xFF; struct serialBuffer { char *buffer; @@ -133,6 +134,15 @@ uint32_t CommunicationTaskSendMessage(char* buffer,size_t length) return OK; } +int32_t SetCommunicationPath(bool UARTorUSB) +{ + if ((CommType != 0xFF)&&(CommType != UARTorUSB)) + { + LOG_ERROR (UARTorUSB, "Sending a second Connection request"); + return -1; + } + CommType = UARTorUSB; +} /****************************************************************************** * ======== communicationTask ======== @@ -153,6 +163,7 @@ void communicationTxTask(UArg arg0, UArg arg1) */ initArray(1); + SetCommunicationPath(isUSB); ui32RxCount = 0; CommunicationTxMsgQ = Mailbox_create(sizeof(CommTxMessageStruc), 10, NULL,NULL); @@ -165,8 +176,10 @@ void communicationTxTask(UArg arg0, UArg arg1) switch (Message.messageId) { case 1: - //USBCDCD_sendData(Message.Buff, Message.msgSize,10); - Uart_Tx(Message.Buff, Message.msgSize); + if (CommType == isUSB) + USBCDCD_sendData(Message.Buff, Message.msgSize,10); + else if (CommType == isUART) + Uart_Tx(Message.Buff, Message.msgSize); free (Message.Buff); break; default: diff --git a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.h b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.h index dd18c1039..5746eb825 100644 --- a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.h +++ b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.h @@ -23,5 +23,8 @@ extern uint32_t CommunicationTaskMessageReceived(uint16_t msgSize); extern uint32_t CommunicationTaskSendMessage(char* buffer,size_t length); +#define isUART true +#define isUSB false +extern int32_t SetCommunicationPath(bool UARTorUSB); #endif /* COMMUNICATION_COMMUNICATIONTASK_H_ */ diff --git a/Software/Embedded_SW/Embedded/Communication/Container.c b/Software/Embedded_SW/Embedded/Communication/Container.c new file mode 100644 index 000000000..a906db096 --- /dev/null +++ b/Software/Embedded_SW/Embedded/Communication/Container.c @@ -0,0 +1,180 @@ +#include +#include "include.h" +#include "driverlib/gpio.h" + +//#include "usb_serial_adapter.h" +//#include "graphics_adapter.h" +#include "Modules/Stubs_Handler/Calculate.h" +#include "Modules/Stubs_Handler/Progress.h" +#include "Modules/Stubs_Handler/Stub_Cartridge.h" +#include "Modules/Stubs_Handler/Stub_Dispenser.h" +#include "Modules/Stubs_Handler/Stub_GPIO.h" +#include "Modules/Stubs_Handler/Stub_Heater.h" +#include "Modules/Stubs_Handler/Stub_MotorEncoder.h" +#include "Modules/Stubs_Handler/Stub_OptLimitSwitch.h" +#include "Modules/Stubs_Handler/Stub_SteperMotor.h" +#include "Modules/Stubs_Handler/Stub_Valve.h" +#include "Modules/Stubs_Handler/Stub_ExtFlash.h" +#include "Modules/Stubs_Handler/Stub_FPGAReadBackReg.h" +#include "Modules/Stubs_Handler/Stub_FPGAReadVersion.h" +#include "Modules/Stubs_Handler/Stub_L6470.h" +#include "Modules/Stubs_Handler/Stub_Motor.h" +#include "Modules/Stubs_Handler/Stub_HW_Version.h" + +#include "Modules/General/GeneralHardware.h" +#include "Modules/heaters/heaters_ex.h" +#include "Drivers/USB_Communication/USBCDCD.h" + +#include "StateMachines/Printing/PrintingSTM.h" +#include "Modules/General/process.h" +#include "Modules/Thread/Thread_ex.h" +#include "Common/report/report.h" + + +MessageContainer createContainer(MessageType type, char* token, protobuf_c_boolean completed, void* response, size_t (*packPtr)(void*, uint8_t*), size_t (*sizePtr)(void*)) +{ + MessageContainer container = MESSAGE_CONTAINER__INIT; + container.completed = completed; + container.token = token; + container.has_completed = true; + container.has_data = true; + container.has_type = true; + container.type = type; + + + + uint8_t* response_buffer = malloc((*sizePtr)(response)); + size_t response_size = (*packPtr)(response, response_buffer); + container.data.data = response_buffer; + container.data.len = response_size; + + //free(response); + return container; +} + +void receive_callback(char* buffer, size_t length) +{ + //SendChars(buffer,length); + //draw_string(buffer, length); + //draw_image((uint8_t *)buffer); + + //writeLine("Received "); + //writeFloat(length); + //writeString(" bytes"); + //writeLine("Parsing message..."); + + MessageContainer* requestContainer = message_container__unpack(NULL, length, (uint8_t*)buffer); + + switch(requestContainer->type) + { + case MESSAGE_TYPE__CalculateRequest: + Stub_CalculateRequest(requestContainer); + break; + case MESSAGE_TYPE__ProgressRequest: + Stub_ProgressRequest(requestContainer); + break; + case MESSAGE_TYPE__StubCartridgeReadRequest: + Stub_CartridgeReadRequest(requestContainer); + break; + case MESSAGE_TYPE__StubCartridgeWriteRequest: + Stub_CartridgeWriteRequest(requestContainer); + break; + case MESSAGE_TYPE__StubDispenserRequest: + Stub_DispenserRequest(requestContainer); + break; + case MESSAGE_TYPE__StubGPIOInputSetupRequest: + Stub_GPIOInputSetupRequest(requestContainer); + break; + case MESSAGE_TYPE__StubGPIOReadBitRequest: + Stub_GPIOReadBitRequest(requestContainer); + break; + case MESSAGE_TYPE__StubGPIOReadByteRequest: + Stub_GPIOReadByteRequest(requestContainer); + break; + case MESSAGE_TYPE__StubGPIOWriteBitRequest: + Stub_GPIOWriteBitRequest(requestContainer); + break; + case MESSAGE_TYPE__StubGPIOWriteByteRequest: + Stub_GPIOWriteByteRequest(requestContainer); + break; + case MESSAGE_TYPE__StubHeaterRequest: + Stub_HeaterRequest(requestContainer); + break; + case MESSAGE_TYPE__StubMotorEncoderRequest: + Stub_MotorEncoderRequest(requestContainer); + break; + case MESSAGE_TYPE__StubOptLimitSwitchRequest: + Stub_OptLimitSwitchRequest(requestContainer); + break; + case MESSAGE_TYPE__StubSteperMotorRequest: + Stub_SteperMotorRequest(requestContainer); + break; + case MESSAGE_TYPE__StubValveRequest: + Stub_ValveRequest(requestContainer); + break; + case MESSAGE_TYPE__StubExtFlashReadRequest: + Stub_ExtFlashReadRequest(requestContainer); + break; + case MESSAGE_TYPE__StubExtFlashWriteRequest: + Stub_ExtFlashWriteRequest(requestContainer); + break; + case MESSAGE_TYPE__StubFPGAReadBackRegRequest: + Stub_FPGAReadBackRegRequest(requestContainer); + break; + case MESSAGE_TYPE__StubFPGAReadVersionRequest: + Stub_FPGAReadVersionRequest(requestContainer); + break; + case MESSAGE_TYPE__StubL6470DriverRequest: + Stub_L6470DriverRequest(requestContainer); + break; + case MESSAGE_TYPE__StubMotorInitRequest: + Stub_MotorInitRequest(requestContainer); + break; + case MESSAGE_TYPE__StubMotorRunRequest: + Stub_MotorRunRequest(requestContainer); + break; + case MESSAGE_TYPE__StubMotorStopRequest: + Stub_MotorStopRequest(requestContainer); + break; + case MESSAGE_TYPE__StubMotorStatusRequest: + Stub_MotorStatusRequest(requestContainer); + break; + case MESSAGE_TYPE__StubMotorPositionRequest: + Stub_MotorPositionRequest(requestContainer); + break; + case MESSAGE_TYPE__StubMotorSpeedRequest: + Stub_MotorSpeedRequest(requestContainer); + break; + case MESSAGE_TYPE__StubMotorMovRequest: + Stub_MotorMovRequest(requestContainer); + break; + case MESSAGE_TYPE__StubHWVersionRequest: + Stub_HWVersionRequest(requestContainer); + break; + case MESSAGE_TYPE__DebugLogRequest: + ReportInitMessage(requestContainer); + break; + case MESSAGE_TYPE__JobRequest: + JobRequestFunc(requestContainer); + break; + case MESSAGE_TYPE__UploadHardwareConfigurationRequest: + HWConfigurationFunc(requestContainer); + break; + case MESSAGE_TYPE__UploadProcessParametersRequest: + ProcessRequestFunc(requestContainer); + break; + case MESSAGE_TYPE__StubHeatingTestRequest: + HeatingTestRequest(requestContainer); + break; + case MESSAGE_TYPE__StubHeatingTestPollRequest: + HeatingTestPollRequest(requestContainer); + break; + case MESSAGE_TYPE__SystemResetRequest: + HWSystemResetRequest(requestContainer); + break; + + default: + //unsupported message type !! + break; + } +} diff --git a/Software/Embedded_SW/Embedded/Communication/Container.h b/Software/Embedded_SW/Embedded/Communication/Container.h new file mode 100644 index 000000000..1f7ea4a17 --- /dev/null +++ b/Software/Embedded_SW/Embedded/Communication/Container.h @@ -0,0 +1,10 @@ +#ifndef CONTAINER_H +#define CONTAINER_H +#include "include.h" +#include +#include + +MessageContainer createContainer(MessageType type, char* token, protobuf_c_boolean completed, void* response, size_t (*packPtr)(void*, uint8_t*), size_t (*sizePtr)(void*)); +void receive_callback(char* buffer, size_t length); + +#endif //CONTAINER_H diff --git a/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c b/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c index 99cb83885..d5777a88a 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c +++ b/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c @@ -301,7 +301,7 @@ uint32_t MotorMoveWithCallback (TimerMotors_t _motorId,bool direction, uint32_t //start control: //uint32_t AddControlCallback( ControlCBFunction Callback, CTRL_TIMING_ENUM CtrlFrequency, DataReadCBFunction DriverfPtr, uint32_t Parameter1, uint32_t Parameter2 ) - uint32_t ControlId = AddControlCallback( MotorMoveCallBackFunction, eTenMilliSecond, MotorControlGetnBusyState, _motorId, 0 ); + uint32_t ControlId = AddControlCallback( MotorMoveCallBackFunction, eTenMilliSecond, MotorControlGetnBusyState,(IfTypeMotors*0x100+_motorId), _motorId, 0 ); return ControlId; } @@ -313,17 +313,25 @@ uint32_t MotorSetSpeedWithCallback (TimerMotors_t _motorId, uint32_t _freq, int return OK; } -uint32_t MotorMoveCallBackFunction(uint32_t deviceId, uint32_t BusyFlag) //TODO +uint32_t MotorMoveCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag) //TODO { + uint32_t MotorId; + if (IfIndex>>8 != IfTypeMotors) + { + LOG_ERROR (IfIndex, "Wrong Interface type"); + return 0xFFFFFFFF; + } + MotorId = IfIndex&0xFF; + if (BusyFlag == 1) { //stop this control loop - RemoveControlCallback(deviceId, MotorMoveCallBackFunction ); + RemoveControlCallback(MotorId, MotorMoveCallBackFunction ); //possibly: start regular control (speed etc) - //uint32_t ControlId = AddControlCallback(ControlCBFunction Callback, eOneMillisecond, NULL, deviceId, Parameter ); + //uint32_t ControlId = AddControlCallback(ControlCBFunction Callback, eOneMillisecond, (IfTypeMotors*0x100+_motorId), deviceId, Parameter ); //call the module callback - MotorMoveModuleCallback(deviceId,BusyFlag); + MotorMoveModuleCallback(MotorId,BusyFlag); } return OK; diff --git a/Software/Embedded_SW/Embedded/Main.c b/Software/Embedded_SW/Embedded/Main.c index 0eeb230ed..7b2a102a6 100644 --- a/Software/Embedded_SW/Embedded/Main.c +++ b/Software/Embedded_SW/Embedded/Main.c @@ -1,3 +1,4 @@ +#include #include "include.h" /*#include #include @@ -21,7 +22,7 @@ #include "Drivers/Peripheral_GPIO/GPIO.h" #include "drivers/Heater/Heater.h" -#include "Modules/Stubs_Handler/Container.h" +#include "Communication/CommunicationTask.h" #include "drivers/twine_graphicslib/graphics_adapter.h" #include diff --git a/Software/Embedded_SW/Embedded/Modules/Control/DriverWithCallbackExample.c b/Software/Embedded_SW/Embedded/Modules/Control/DriverWithCallbackExample.c index 1de8ac0de..881034e40 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/DriverWithCallbackExample.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/DriverWithCallbackExample.c @@ -26,7 +26,7 @@ uint32_t DriverActionWithCallback (uint32_t deviceId, uint32_t parameter, callba ModuleCallback = callback; //start control: - uint32_t ControlId = AddControlCallback( callback, eOneMillisecond, NULL, deviceId, parameter ); + uint32_t ControlId = AddControlCallback( callback, eOneMillisecond, NULL, (IfTypeNone*0x100+deviceId),deviceId, parameter ); return ControlId; } diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h index fde3a36b3..286ed7ca0 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h @@ -22,4 +22,8 @@ uint32_t getMotorSpeedData(int MotorId); uint32_t getTemperatureSensorData(int SensorId); uint32_t getADCData(int DeviceId); +void MillisecInit(void); +void MillisecStop(void); +void MillisecStart(void); + #endif /* MODULES_CONTROL_MILLISECTASK_H_ */ diff --git a/Software/Embedded_SW/Embedded/Modules/Control/control.c b/Software/Embedded_SW/Embedded/Modules/Control/control.c index 28b4afb8d..0a4a8b791 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/control.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/control.c @@ -65,6 +65,7 @@ typedef struct bool ControlActive; uint32_t Parameter1; uint32_t Parameter2; + uint32_t IfIndex; DataReadCBFunction ControlDataReadPtr; ControlCBFunction ControlCallbackPtr; CTRL_TIMING_ENUM ControlTiming; @@ -169,7 +170,7 @@ void ControlStart(void) * both these callbacks can be removed. if a new call is arriving, it invalidates the previous one (no dual control or data) * ***************************************************************************************************************************************************/ -uint32_t AddControlCallback( ControlCBFunction Callback, CTRL_TIMING_ENUM CtrlFrequency, DataReadCBFunction DriverfPtr, uint32_t Parameter1, uint32_t Parameter2 ) +uint32_t AddControlCallback( ControlCBFunction Callback, CTRL_TIMING_ENUM CtrlFrequency, DataReadCBFunction DriverfPtr, uint32_t IfIndex, uint32_t Parameter1, uint32_t Parameter2 ) { assert(Callback); assert(DriverfPtr); @@ -194,6 +195,7 @@ uint32_t AddControlCallback( ControlCBFunction Callback, CTRL_TIMING_ENUM CtrlF ControlArray[deviceId].ControlDataReadPtr = DriverfPtr; ControlArray[deviceId].Parameter1 = Parameter1; ControlArray[deviceId].Parameter2 = Parameter2; + ControlArray[deviceId].IfIndex = IfIndex; GateMutex_leave(gateControlDB, key); return deviceId; @@ -223,7 +225,6 @@ int RemoveControlCallback(uint32_t deviceId , ControlCBFunction Callback) void OneMilliSecondControlInterrupt(UArg arg0) { ControlMessageStruc Message; - bool retcode = false; ROM_IntMasterDisable(); if (ControlRestart == true) { @@ -237,7 +238,7 @@ void OneMilliSecondControlInterrupt(UArg arg0) Message.tick = UsersysTickGet(); Message.msglen = sizeof(ControlMessageStruc); if (ControlMsgQ != NULL) - retcode = Mailbox_post(ControlMsgQ , &Message, BIOS_NO_WAIT); + Mailbox_post(ControlMsgQ , &Message, BIOS_NO_WAIT); ROM_TimerIntClear(Control_timerBase, TIMER_TIMA_TIMEOUT); // Clear the timer interrupt // @@ -266,27 +267,27 @@ uint32_t ControlLoop(uint32_t tick) { case eOneMillisecond: ControlDatalog[Device_i] = ControlArray[Device_i].ControlDataReadPtr( ControlArray[Device_i].Parameter1,ControlArray[Device_i].Parameter2); - ControlArray[Device_i].ControlCallbackPtr(Device_i, ControlDatalog[Device_i]); + ControlArray[Device_i].ControlCallbackPtr(ControlArray[Device_i].IfIndex, ControlDatalog[Device_i]); break; case eTenMilliSecond: if (Ten_msTick) { ControlDatalog[Device_i] = ControlArray[Device_i].ControlDataReadPtr( ControlArray[Device_i].Parameter1,ControlArray[Device_i].Parameter2); - ControlArray[Device_i].ControlCallbackPtr(Device_i, ControlDatalog[Device_i]); + ControlArray[Device_i].ControlCallbackPtr(ControlArray[Device_i].IfIndex, ControlDatalog[Device_i]); } break; case eHunderdMillisecond: if (Hundred_msTick) { ControlDatalog[Device_i] = ControlArray[Device_i].ControlDataReadPtr( ControlArray[Device_i].Parameter1,ControlArray[Device_i].Parameter2); - ControlArray[Device_i].ControlCallbackPtr(Device_i, ControlDatalog[Device_i]); + ControlArray[Device_i].ControlCallbackPtr(ControlArray[Device_i].IfIndex, ControlDatalog[Device_i]); } break; case eOneSecond: if (Onesecond_Tick) { ControlDatalog[Device_i] = ControlArray[Device_i].ControlDataReadPtr( ControlArray[Device_i].Parameter1,ControlArray[Device_i].Parameter2); - ControlArray[Device_i].ControlCallbackPtr(Device_i, ControlDatalog[Device_i]); + ControlArray[Device_i].ControlCallbackPtr(ControlArray[Device_i].IfIndex, ControlDatalog[Device_i]); } break; default: diff --git a/Software/Embedded_SW/Embedded/Modules/Control/control.h b/Software/Embedded_SW/Embedded/Modules/Control/control.h index 23bd13231..9322f562e 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/control.h +++ b/Software/Embedded_SW/Embedded/Modules/Control/control.h @@ -11,7 +11,7 @@ #include "include.h" //typedef uint32_t (* DeviceDataFunction)(uint32_t deviceID, uint32_t *Value); -typedef uint32_t (* ControlCBFunction)(uint32_t deviceID, uint32_t ReadValue); +typedef uint32_t (* ControlCBFunction)(uint32_t IfIndex, uint32_t ReadValue); typedef uint32_t (* DataReadCBFunction)( uint32_t Parameter1, uint32_t Parameter2); typedef enum { eNoControl = 0, @@ -20,12 +20,23 @@ typedef enum { eHunderdMillisecond = 100, eOneSecond = 1000 }CTRL_TIMING_ENUM; +typedef enum +{ + IfTypeNone, + IfTypeThread, + IfTypeWinder, + IfTypeIDS, + IfTypeHeaters, + IfTypeWaste, + IfTypeMotors, + MAX_INTERFACE_TYPES +}SYSTEM_INTERFACE_TYPES_ID_ENUM; void ControlInit(void); void ControlStop(void); void ControlStart(void); -uint32_t AddControlCallback( ControlCBFunction Callback, CTRL_TIMING_ENUM CtrlFrequency, DataReadCBFunction DriverfPtr, uint32_t Parameter1, uint32_t Parameter2 ); +uint32_t AddControlCallback( ControlCBFunction Callback, CTRL_TIMING_ENUM CtrlFrequency, DataReadCBFunction DriverfPtr, uint32_t IfIndex, uint32_t Parameter1, uint32_t Parameter2 ); int RemoveControlCallback(uint32_t deviceId, ControlCBFunction Callback ); uint32_t TemplateDataReadCBFunction (uint32_t deviceId, uint32_t Parameter1, uint32_t Parameter2); diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index 1ccfd3df8..ba0390144 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -3,6 +3,7 @@ * Control module * ************************************************************************************************************************/ +#include #include #include "include.h" #include "GeneralHardware.h" @@ -11,7 +12,6 @@ #include "control/control.h" #include "heaters/heaters_ex.h" #include "PMR/common/MessageContainer.pb-c.h" -#include "Modules/Stubs_Handler/Container.h" #include "PMR/Hardware/UploadHardWareConfigurationRequest.pb-c.h" #include "PMR/Hardware/UploadHardWareConfigurationResponse.pb-c.h" #include "PMR/Hardware/SystemResetRequest.pb-c.h" diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h index 8deaf7586..0453cc2c8 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h @@ -1,10 +1,10 @@ #ifndef GENERALHARDWARE_H #define GENERALHARDWARE_H +#include "../../Communication/Container.h" #include "../../DataDef.h" #include "include.h" #include "PMR/common/MessageContainer.pb-c.h" -#include "Modules/Stubs_Handler/Container.h" typedef enum { diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 5dee1301d..2ea54dc90 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -42,6 +42,7 @@ typedef struct HeatersControlMessage{ /******************** GLOBAL PARAMETERS ********************************************/ HeaterCommand HeaterCmd[MAX_HEATERS_NUM] = {}; +uint32_t ControlIdtoHeaterId [MAX_HEATERS_NUM] = {0xFF}; int NumberOFSlicesInUse = 0; bool HeatersRestart = false; @@ -185,7 +186,7 @@ uint32_t PrepareHeater(int HeaterId, uint32_t SetTemperatue) HeaterPIDConfig[HeaterId].m_mesuredParam = 0; HeaterPIDConfig[HeaterId].m_preError = 0; HeaterPIDConfig[HeaterId].m_SetParam = SetTemperatue;//need to update SetParams on presegment stage - AddControlCallback( HeaterControlCBFunction, eHunderdMillisecond,TemperatureSensorRead,HeaterId,0); + ControlIdtoHeaterId [HeaterId] = AddControlCallback( HeaterControlCBFunction, eHunderdMillisecond,TemperatureSensorRead,(IfTypeHeaters*0x100+HeaterId),HeaterId,0); return OK; } @@ -196,22 +197,37 @@ uint32_t PrepareHeater(int HeaterId, uint32_t SetTemperatue) * initialized all global data */ -uint32_t HeaterControlCBFunction(uint32_t deviceID, uint32_t ReadValue) +uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t ReadValue) { - int index=MAX_HEATERS_NUM; + int i,index=MAX_HEATERS_NUM; static bool InitialHeating = true; char str[100]; uint8_t len = 0; - - index = deviceID; + if (IfIndex>>8 != IfTypeHeaters) + { + LOG_ERROR (IfIndex, "Wrong Interface type"); + return 0xFFFFFFFF; + } + index = IfIndex&0xFF; + /*for (i=0;i #include #include #include @@ -7,7 +8,6 @@ #include "Drivers/USB_Communication/USBCDCD.h" #include "drivers/twine_graphicslib/graphics_adapter.h" -#include "Container.h" void Stub_CalculateRequest(MessageContainer* requestContainer) { diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Container.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Container.c deleted file mode 100644 index 1b1db8189..000000000 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Container.c +++ /dev/null @@ -1,180 +0,0 @@ -#include -#include "include.h" -#include "driverlib/gpio.h" - -//#include "usb_serial_adapter.h" -//#include "graphics_adapter.h" -#include "Calculate.h" -#include "Progress.h" -#include "Stub_Cartridge.h" -#include "Stub_Dispenser.h" -#include "Stub_GPIO.h" -#include "Stub_Heater.h" -#include "Stub_MotorEncoder.h" -#include "Stub_OptLimitSwitch.h" -#include "Stub_SteperMotor.h" -#include "Stub_Valve.h" -#include "Stub_ExtFlash.h" -#include "Stub_FPGAReadBackReg.h" -#include "Stub_FPGAReadVersion.h" -#include "Stub_L6470.h" -#include "Stub_Motor.h" -#include "Stub_HW_Version.h" - -#include "General/GeneralHardware.h" -#include "heaters/heaters_ex.h" -#include "Drivers/USB_Communication/USBCDCD.h" - -#include "StateMachines/Printing/PrintingSTM.h" -#include "Modules/General/process.h" -#include "Modules/Thread/Thread_ex.h" -#include "Common/report/report.h" - - -MessageContainer createContainer(MessageType type, char* token, protobuf_c_boolean completed, void* response, size_t (*packPtr)(void*, uint8_t*), size_t (*sizePtr)(void*)) -{ - MessageContainer container = MESSAGE_CONTAINER__INIT; - container.completed = completed; - container.token = token; - container.has_completed = true; - container.has_data = true; - container.has_type = true; - container.type = type; - - - - uint8_t* response_buffer = malloc((*sizePtr)(response)); - size_t response_size = (*packPtr)(response, response_buffer); - container.data.data = response_buffer; - container.data.len = response_size; - - //free(response); - return container; -} - -void receive_callback(char* buffer, size_t length) -{ - //SendChars(buffer,length); - //draw_string(buffer, length); - //draw_image((uint8_t *)buffer); - - //writeLine("Received "); - //writeFloat(length); - //writeString(" bytes"); - //writeLine("Parsing message..."); - - MessageContainer* requestContainer = message_container__unpack(NULL, length, (uint8_t*)buffer); - - switch(requestContainer->type) - { - case MESSAGE_TYPE__CalculateRequest: - Stub_CalculateRequest(requestContainer); - break; - case MESSAGE_TYPE__ProgressRequest: - Stub_ProgressRequest(requestContainer); - break; - case MESSAGE_TYPE__StubCartridgeReadRequest: - Stub_CartridgeReadRequest(requestContainer); - break; - case MESSAGE_TYPE__StubCartridgeWriteRequest: - Stub_CartridgeWriteRequest(requestContainer); - break; - case MESSAGE_TYPE__StubDispenserRequest: - Stub_DispenserRequest(requestContainer); - break; - case MESSAGE_TYPE__StubGPIOInputSetupRequest: - Stub_GPIOInputSetupRequest(requestContainer); - break; - case MESSAGE_TYPE__StubGPIOReadBitRequest: - Stub_GPIOReadBitRequest(requestContainer); - break; - case MESSAGE_TYPE__StubGPIOReadByteRequest: - Stub_GPIOReadByteRequest(requestContainer); - break; - case MESSAGE_TYPE__StubGPIOWriteBitRequest: - Stub_GPIOWriteBitRequest(requestContainer); - break; - case MESSAGE_TYPE__StubGPIOWriteByteRequest: - Stub_GPIOWriteByteRequest(requestContainer); - break; - case MESSAGE_TYPE__StubHeaterRequest: - Stub_HeaterRequest(requestContainer); - break; - case MESSAGE_TYPE__StubMotorEncoderRequest: - Stub_MotorEncoderRequest(requestContainer); - break; - case MESSAGE_TYPE__StubOptLimitSwitchRequest: - Stub_OptLimitSwitchRequest(requestContainer); - break; - case MESSAGE_TYPE__StubSteperMotorRequest: - Stub_SteperMotorRequest(requestContainer); - break; - case MESSAGE_TYPE__StubValveRequest: - Stub_ValveRequest(requestContainer); - break; - case MESSAGE_TYPE__StubExtFlashReadRequest: - Stub_ExtFlashReadRequest(requestContainer); - break; - case MESSAGE_TYPE__StubExtFlashWriteRequest: - Stub_ExtFlashWriteRequest(requestContainer); - break; - case MESSAGE_TYPE__StubFPGAReadBackRegRequest: - Stub_FPGAReadBackRegRequest(requestContainer); - break; - case MESSAGE_TYPE__StubFPGAReadVersionRequest: - Stub_FPGAReadVersionRequest(requestContainer); - break; - case MESSAGE_TYPE__StubL6470DriverRequest: - Stub_L6470DriverRequest(requestContainer); - break; - case MESSAGE_TYPE__StubMotorInitRequest: - Stub_MotorInitRequest(requestContainer); - break; - case MESSAGE_TYPE__StubMotorRunRequest: - Stub_MotorRunRequest(requestContainer); - break; - case MESSAGE_TYPE__StubMotorStopRequest: - Stub_MotorStopRequest(requestContainer); - break; - case MESSAGE_TYPE__StubMotorStatusRequest: - Stub_MotorStatusRequest(requestContainer); - break; - case MESSAGE_TYPE__StubMotorPositionRequest: - Stub_MotorPositionRequest(requestContainer); - break; - case MESSAGE_TYPE__StubMotorSpeedRequest: - Stub_MotorSpeedRequest(requestContainer); - break; - case MESSAGE_TYPE__StubMotorMovRequest: - Stub_MotorMovRequest(requestContainer); - break; - case MESSAGE_TYPE__StubHWVersionRequest: - Stub_HWVersionRequest(requestContainer); - break; - case MESSAGE_TYPE__DebugLogRequest: - ReportInitMessage(requestContainer); - break; - case MESSAGE_TYPE__JobRequest: - JobRequestFunc(requestContainer); - break; - case MESSAGE_TYPE__UploadHardwareConfigurationRequest: - HWConfigurationFunc(requestContainer); - break; - case MESSAGE_TYPE__UploadProcessParametersRequest: - ProcessRequestFunc(requestContainer); - break; - case MESSAGE_TYPE__StubHeatingTestRequest: - HeatingTestRequest(requestContainer); - break; - case MESSAGE_TYPE__StubHeatingTestPollRequest: - HeatingTestPollRequest(requestContainer); - break; - case MESSAGE_TYPE__SystemResetRequest: - HWSystemResetRequest(requestContainer); - break; - - default: - //unsupported message type !! - break; - } -} diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Container.h b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Container.h deleted file mode 100644 index 2c5d9fa60..000000000 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Container.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef CONTAINER_H -#define CONTAINER_H - -MessageContainer createContainer(MessageType type, char* token, protobuf_c_boolean completed, void* response, size_t (*packPtr)(void*, uint8_t*), size_t (*sizePtr)(void*)); -void receive_callback(char* buffer, size_t length); - -#endif //CONTAINER_H diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c index df59f416a..e38abdab3 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c @@ -1,4 +1,5 @@ +#include #include #include #include @@ -8,7 +9,6 @@ #include "Drivers/USB_Communication/USBCDCD.h" //#include "graphics_adapter.h" -#include "Container.h" void Stub_ProgressRequest(MessageContainer* requestContainer) { diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c index f0dc2436a..c79434635 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c @@ -1,5 +1,6 @@ +#include #include #include #include @@ -13,7 +14,6 @@ #include "drivers/twine_graphicslib/graphics_adapter.h" -#include "Container.h" #include "Stub_Status.h" void Stub_CartridgeReadRequest(MessageContainer* requestContainer) diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c index 9c37ec330..fc9393e23 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c @@ -1,5 +1,6 @@ +#include #include #include #include @@ -10,7 +11,6 @@ #include "drivers/twine_graphicslib/graphics_adapter.h" -#include "Container.h" #include "Stub_Status.h" void Stub_DispenserRequest(MessageContainer* requestContainer) diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ExtFlash.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ExtFlash.c index 96a8e9322..cf50b70ab 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ExtFlash.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ExtFlash.c @@ -1,4 +1,5 @@ +#include #include #include #include @@ -20,7 +21,6 @@ #include "drivers/twine_graphicslib/graphics_adapter.h" -#include "Container.h" #include "Stub_Status.h" diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGARWReg.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGARWReg.c index d71fa764a..65cd3e52e 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGARWReg.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGARWReg.c @@ -1,4 +1,5 @@ +#include #include #include #include @@ -19,7 +20,6 @@ #include "MessageContainer.pb-c.h" -#include "Container.h" #include "Stub_Status.h" #include "drivers/FPGA/FPGA.h" #include "drivers/FPGA/FPGA_Comm.h" diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGAReadBackReg.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGAReadBackReg.c index 90140afbf..1c5769b62 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGAReadBackReg.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGAReadBackReg.c @@ -1,4 +1,5 @@ +#include #include #include #include @@ -16,7 +17,6 @@ #include "MessageContainer.pb-c.h" -#include "Container.h" #include "Stub_Status.h" #include "drivers/FPGA/FPGA.h" diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGAReadVersion.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGAReadVersion.c index 3c719bc59..cfbce40f1 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGAReadVersion.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGAReadVersion.c @@ -1,4 +1,5 @@ +#include #include #include #include @@ -16,7 +17,6 @@ #include "MessageContainer.pb-c.h" -#include "Container.h" #include "Stub_Status.h" #include "drivers/FPGA/FPGA.h" diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_GPIO.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_GPIO.c index 362be2ba8..9e052aa78 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_GPIO.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_GPIO.c @@ -1,3 +1,4 @@ +#include #include #include "include.h" @@ -26,7 +27,6 @@ #include "drivers/twine_graphicslib/graphics_adapter.h" -#include "Container.h" #include #include "Stub_Status.h" diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c index 7bc1aa857..bd59ee2a0 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c @@ -1,4 +1,5 @@ +#include #include #include #include @@ -16,7 +17,6 @@ #include "MessageContainer.pb-c.h" -#include "Container.h" #include "Stub_Status.h" #include "drivers/FPGA/FPGA.h" #include "driverlib/rom_map.h" diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Heater.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Heater.c index 80f9cc7c6..d72a749b1 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Heater.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Heater.c @@ -1,5 +1,6 @@ +#include #include #include #include @@ -18,7 +19,6 @@ #include "drivers/twine_graphicslib/graphics_adapter.h" -#include "Container.h" #include "Stub_Status.h" #include "Drivers/Heater/Heater.h" diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.c index 1508d2d58..dcec8cade 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.c @@ -1,4 +1,5 @@ +#include #include #include #include @@ -16,7 +17,6 @@ #include "MessageContainer.pb-c.h" -#include "Container.h" #include "Stub_Status.h" //#include "drivers/FPGA/FPGA.h" #include "drivers/SPI/SPI_Comm.h" diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Motor.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Motor.c index a56ae348b..506eb4a70 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Motor.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Motor.c @@ -1,4 +1,5 @@ +#include #include #include #include @@ -33,7 +34,6 @@ #include "MessageContainer.pb-c.h" -#include "Container.h" #include "Stub_Status.h" #include "drivers/FPGA/FPGA.h" #include "drivers/SPI/SPI_Comm.h" diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_MotorEncoder.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_MotorEncoder.c index ebc48bf4d..bcc5e16fb 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_MotorEncoder.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_MotorEncoder.c @@ -1,4 +1,5 @@ +#include #include #include #include @@ -17,7 +18,6 @@ #include "drivers/twine_graphicslib/graphics_adapter.h" -#include "Container.h" #include "Stub_Status.h" void Stub_MotorEncoderRequest(MessageContainer* requestContainer) diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_OptLimitSwitch.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_OptLimitSwitch.c index 84878c660..a1fdeb390 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_OptLimitSwitch.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_OptLimitSwitch.c @@ -1,5 +1,6 @@ +#include #include #include #include @@ -18,7 +19,6 @@ #include "drivers/twine_graphicslib/graphics_adapter.h" -#include "Container.h" #include "Stub_Status.h" void Stub_OptLimitSwitchRequest(MessageContainer* requestContainer) diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_SteperMotor.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_SteperMotor.c index 8fd6e0484..78fd2ef3b 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_SteperMotor.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_SteperMotor.c @@ -1,5 +1,6 @@ +#include #include #include #include @@ -18,7 +19,6 @@ #include "drivers/twine_graphicslib/graphics_adapter.h" -#include "Container.h" #include "Stub_Status.h" void Stub_SteperMotorRequest(MessageContainer* requestContainer) diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Valve.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Valve.c index b1cba49e5..86460f119 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Valve.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Valve.c @@ -1,4 +1,5 @@ +#include #include #include #include @@ -17,8 +18,6 @@ #include "drivers/twine_graphicslib/graphics_adapter.h" -#include "Container.h" - #include "Stub_Status.h" void Stub_ValveRequest(MessageContainer* requestContainer) diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index fb9740dec..92037d0b5 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -49,11 +49,17 @@ uint32_t ThreadPreSegmentState(void *JobDetails); //////////////////////////////////////////////////////////////////////////// -uint32_t ThreadSpeedControlCBFunction(uint32_t deviceID, uint32_t ReadValue) +uint32_t ThreadSpeedControlCBFunction(uint32_t IfIndex, uint32_t ReadValue) { //read value is the dancer angle - int i,index=MAX_THREAD_MOTORS_NUM; - for (i=0;i>8 != IfTypeThread) + { + LOG_ERROR (IfIndex, "Wrong Interface type"); + return 0xFFFFFFFF; + } + index = IfIndex&0xFF; +/* for (i=0;i>8 != IfTypeThread) + { + LOG_ERROR (IfIndex, "Wrong Interface type"); + return 0xFFFFFFFF; + } + index = IfIndex&0xFF; + + /*for (i=0;i