/* Generated by itemis CREATE code generator. */ #ifndef STATECHART_REQUIRED_H_ #define STATECHART_REQUIRED_H_ #include "../src/sc_types.h" #include "Statechart.h" #ifdef __cplusplus extern "C" { #endif /*! \file This header defines prototypes for all functions that are required by the state machine implementation. This is a state machine uses time events which require access to a timing service. Thus the function prototypes: - statechart_set_timer and - statechart_unset_timer are defined. This state machine makes use of operations declared in the state machines interface or internal scopes. Thus the function prototypes: - statechart_pid are defined. These functions will be called during a 'run to completion step' (runCycle) of the statechart. There are some constraints that have to be considered for the implementation of these functions: - make sure that the execution time is as short as possible. */ extern int32_t statechart_pid( Statechart* handle, const int32_t sensor, const pid_vars_t pid_vars); /*! This function has to set up timers for the time events that are required by the state machine. It will be called for each time event that is relevant for a state when a state will be entered. \param evid An unique identifier of the event. \time_ms The time in milliseconds \periodic Indicates the the time event must be raised periodically until the timer is unset */ extern void statechart_set_timer(Statechart* handle, const sc_eventid evid, const sc_time time_ms, const sc_boolean periodic); /*! This function has to unset timers for the time events that are required by the state machine. It will be called for each time event that is relevant for a state when a state will be left. \param evid An unique identifier of the event. */ extern void statechart_unset_timer(Statechart* handle, const sc_eventid evid); #ifdef __cplusplus } #endif #endif /* STATECHART_REQUIRED_H_ */