montenegro/robot_cdt/src-gen/Statechart_required.h
2025-06-04 17:43:29 +02:00

56 lines
1.9 KiB
C

/* 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_ */