#include <fsm.h>
Public Attributes | |
| pthread_t | threadid |
| Thread running the FSM. | |
| fsm_event | sent_event |
| Event sent to this FSM. | |
| fsm_event | event |
| Event to be handled in state function. | |
| struct timespec | now |
| Time when the event occurred. | |
| struct timespec | timeout |
| Time of next timeout. | |
| struct timespec | timer |
| Time of next timer expiration. | |
| int(* | state )(struct robo_fsm *fsm) |
| Pointer to current state function. | |
| int(* | last_state )(struct robo_fsm *fsm) |
| Pointer to previous state function. | |
| int(* | fnc_stack [10])(struct robo_fsm *fsm) |
| Stack of sub-automaton states for use by FCALL() and SUBFSM_TRANSITION(). | |
| int(** | fnc_sp )(struct robo_fsm *fsm) |
| Pointer to the top of fnc_stack. | |
| int | debug_states |
| Whether to print debug messages on state transitions. | |
| char * | debug_name |
| The name of automaton (printed in debug messages). | |
Event sending synchronization | |
| sem_t | event_noticed |
| This semaphore is "put" after a event is noticed by fsm and prepared for handling. | |
| sem_t | event_sent |
| FSM wait on this semaphore while it waits for an event. | |
Definition at line 172 of file fsm.h.
| pthread_t robo_fsm::threadid |
| sem_t robo_fsm::event_noticed |
This semaphore is "put" after a event is noticed by fsm and prepared for handling.
Take it to set new event in sent_event
Definition at line 179 of file fsm.h.
Referenced by __fsm_signal(), fsm_destroy(), fsm_init(), sem_timedwait_checked(), and sem_wait_checked().
| sem_t robo_fsm::event_sent |
FSM wait on this semaphore while it waits for an event.
Definition at line 181 of file fsm.h.
Referenced by __fsm_signal(), fsm_destroy(), fsm_init(), sem_wait_checked(), and wait_for_event().
Event to be handled in state function.
Definition at line 184 of file fsm.h.
Referenced by fsm_thread_routine(), and handle_event().
| int(* robo_fsm::state)(struct robo_fsm *fsm) |
Pointer to current state function.
This function is called when an event occurs.
Referenced by fsm_init(), and handle_event().
| int(* robo_fsm::fnc_stack[10])(struct robo_fsm *fsm) |
1.5.3