aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Control/control.h
blob: 292bbeb8245487f716fba08cd4ebe46fa18839f3 (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
/************************************************************************************************************************
 * 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, DataReadCBFunction DriverfPtr, uint32_t Parameter );
int     RemoveControlCallback(uint32_t deviceId, ControlCBFunction Callback );
uint32_t TemplateDataReadCBFunction (uint32_t deviceId, uint32_t Parameter);