aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Control/control.h
blob: ab259993acf95fd95e6bbaf464bc73506a5e31f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/************************************************************************************************************************
 * 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 );