grblHAL core  20240704
state_machine.h
Go to the documentation of this file.
1 /*
2  state_machine.h - An embedded CNC Controller with rs274/ngc (g-code) support
3 
4  Main state machine
5 
6  Part of grblHAL
7 
8  Copyright (c) 2018-2023 Terje Io
9 
10  Grbl is free software: you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation, either version 3 of the License, or
13  (at your option) any later version.
14 
15  Grbl is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  GNU General Public License for more details.
19 
20  You should have received a copy of the GNU General Public License
21  along with Grbl. If not, see <http://www.gnu.org/licenses/>.
22 */
23 
24 #ifndef _STATE_MACHINE_H_
25 #define _STATE_MACHINE_H_
26 
27 sys_state_t state_get (void);
28 uint8_t state_get_substate (void);
29 void state_set (sys_state_t state);
30 void state_update (rt_exec_t rt_exec);
31 bool state_door_reopened (void);
32 void state_suspend_manager (void);
33 
34 #endif
sys_state_t state_get(void)
Definition: state_machine.c:200
bool state_door_reopened(void)
Definition: state_machine.c:187
void state_set(sys_state_t state)
Definition: state_machine.c:235
void state_update(rt_exec_t rt_exec)
Definition: state_machine.c:192
uint8_t state_get_substate(void)
Definition: state_machine.c:205
void state_suspend_manager(void)
Definition: state_machine.c:353
uint_fast16_t rt_exec_t
See rt_exec.
Definition: system.h:107
uint_fast16_t sys_state_t
See sys_state.
Definition: system.h:108