/************************************************************************************************************************ * control.c **************************************************************************************************************************/ ////////////////////////////////State machine operation//////////////////////////////////// //the state machine operation is used to operate in runtime correct profile flow execution //by recieved esign flow of the user from the UI /////////////////////////////////////////////////////////////////////////////////////////// #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 (* DataReadCBFunction)(uint32_t deviceID, uint32_t Parameter); typedef enum { eNoControl = 0, eOneMillisecond = 1, eTenMilliSecond = 10, eHunderdMillisecond = 100, eOneSecond = 1000 }CTRL_TIMING_ENUM; void ControlInit(void); void ControlStop(void); void ControlStart(void); int AddControlCallback(uint32_t deviceID, ControlCBFunction Callback, CTRL_TIMING_ENUM CtrlFrequency ); int RemoveControlCallback(uint32_t deviceID, ControlCBFunction Callback ); int RegisterDevice(uint32_t deviceID, DataReadCBFunction Callback, uint32_t Parameter); int UnRegisterDevice(uint32_t deviceID, DataReadCBFunction Callback );