75 lines
2.0 KiB
C
75 lines
2.0 KiB
C
void LOGGER_init__(LOGGER *data__, BOOL retain) {
|
|
__INIT_VAR(data__->EN,__BOOL_LITERAL(TRUE),retain)
|
|
__INIT_VAR(data__->ENO,__BOOL_LITERAL(TRUE),retain)
|
|
__INIT_VAR(data__->TRIG,__BOOL_LITERAL(FALSE),retain)
|
|
__INIT_VAR(data__->MSG,__STRING_LITERAL(0,""),retain)
|
|
__INIT_VAR(data__->LEVEL,LOGLEVEL__INFO,retain)
|
|
__INIT_VAR(data__->TRIG0,__BOOL_LITERAL(FALSE),retain)
|
|
}
|
|
|
|
// Code part
|
|
void LOGGER_body__(LOGGER *data__) {
|
|
// Control execution
|
|
if (!__GET_VAR(data__->EN)) {
|
|
__SET_VAR(data__->,ENO,,__BOOL_LITERAL(FALSE));
|
|
return;
|
|
}
|
|
else {
|
|
__SET_VAR(data__->,ENO,,__BOOL_LITERAL(TRUE));
|
|
}
|
|
// Initialise TEMP variables
|
|
|
|
if ((__GET_VAR(data__->TRIG,) && !(__GET_VAR(data__->TRIG0,)))) {
|
|
#define GetFbVar(var,...) __GET_VAR(data__->var,__VA_ARGS__)
|
|
#define SetFbVar(var,val,...) __SET_VAR(data__->,var,__VA_ARGS__,val)
|
|
|
|
LogMessage(GetFbVar(LEVEL),(char*)GetFbVar(MSG, .body),GetFbVar(MSG, .len));
|
|
|
|
#undef GetFbVar
|
|
#undef SetFbVar
|
|
;
|
|
};
|
|
__SET_VAR(data__->,TRIG0,,__GET_VAR(data__->TRIG,));
|
|
|
|
goto __end;
|
|
|
|
__end:
|
|
return;
|
|
} // LOGGER_body__()
|
|
|
|
|
|
|
|
|
|
|
|
void MOTOR_init__(MOTOR *data__, BOOL retain) {
|
|
__INIT_VAR(data__->START,__BOOL_LITERAL(FALSE),retain)
|
|
__INIT_VAR(data__->STOP,__BOOL_LITERAL(FALSE),retain)
|
|
__INIT_VAR(data__->DELAY,__time_to_timespec(1, 100, 0, 0, 0, 0),retain)
|
|
__INIT_VAR(data__->RUNNING,__BOOL_LITERAL(FALSE),retain)
|
|
RS_init__(&data__->RS0,retain);
|
|
TON_init__(&data__->TON0,retain);
|
|
}
|
|
|
|
// Code part
|
|
void MOTOR_body__(MOTOR *data__) {
|
|
// Initialise TEMP variables
|
|
|
|
__SET_VAR(data__->TON0.,IN,,__GET_VAR(data__->START,));
|
|
__SET_VAR(data__->TON0.,PT,,__GET_VAR(data__->DELAY,));
|
|
TON_body__(&data__->TON0);
|
|
__SET_VAR(data__->RS0.,S,,__GET_VAR(data__->TON0.Q,));
|
|
__SET_VAR(data__->RS0.,R1,,__GET_VAR(data__->STOP,));
|
|
RS_body__(&data__->RS0);
|
|
__SET_VAR(data__->,RUNNING,,__GET_VAR(data__->RS0.Q1,));
|
|
|
|
goto __end;
|
|
|
|
__end:
|
|
return;
|
|
} // MOTOR_body__()
|
|
|
|
|
|
|
|
|
|
|