grblHAL core  20250320
plugins_init.h
Go to the documentation of this file.
1 /*
2  plugins_init.h - An embedded CNC Controller with rs274/ngc (g-code) support
3 
4  Calls the init function of enabled plugins, may be included at the end of the drivers driver_init() implementation.
5 
6  These are NOT referenced in the core grbl code
7 
8  Part of grblHAL
9 
10  Copyright (c) 2021-2025 Terje Io
11 
12  grblHAL is free software: you can redistribute it and/or modify
13  it under the terms of the GNU General Public License as published by
14  the Free Software Foundation, either version 3 of the License, or
15  (at your option) any later version.
16 
17  grblHAL is distributed in the hope that it will be useful,
18  but WITHOUT ANY WARRANTY; without even the implied warranty of
19  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  GNU General Public License for more details.
21 
22  You should have received a copy of the GNU General Public License
23  along with grblHAL. If not, see <http://www.gnu.org/licenses/>.
24 */
25 
26 #if SDCARD_ENABLE || LITTLEFS_ENABLE == 2
27  extern void fs_stream_init (void);
28  fs_stream_init();
29 #endif
30 
31 #if TRINAMIC_ENABLE
32  extern bool trinamic_init (void);
33  trinamic_init();
34 #endif
35 
36 #if PLASMA_ENABLE
37  extern void plasma_init (void);
38  plasma_init();
39 #endif
40 
41 #if MODBUS_ENABLE && (MODBUS_ENABLE & 0x01)
42  extern void modbus_rtu_init (void);
43  modbus_rtu_init();
44 #endif
45 
46 #if CANBUS_ENABLE
47  extern void canbus_init (void);
48  canbus_init();
49 #endif
50 
51 #if SPINDLE_ENABLE & (1<<SPINDLE_PWM0_CLONE)
52  extern void cloned_spindle_init (void);
53  cloned_spindle_init();
54 #endif
55 
56 #if SPINDLE_ENABLE & (1<<SPINDLE_STEPPER)
57  extern void stepper_spindle_init (void);
58  stepper_spindle_init();
59 #endif
60 
61 #if SPINDLE_ENABLE & ((1<<SPINDLE_ONOFF1)|(1<<SPINDLE_ONOFF1_DIR))
62  extern void onoff_spindle_init (void);
63  onoff_spindle_init();
64 #endif
65 
66 #if SPINDLE_ENABLE & ((1<<SPINDLE_PWM2)|(1<<SPINDLE_PWM2_NODIR))
67  extern void pwm_spindle_init (void);
68  pwm_spindle_init();
69 #endif
70 
71 #if VFD_ENABLE
72  extern void vfd_init (void);
73  vfd_init();
74 #endif
75 
76 #if BLUETOOTH_ENABLE > 1
77  extern void bluetooth_init (void);
78  bluetooth_init();
79 #endif
80 
81 #if ESP_AT_ENABLE
82  extern void esp_at_init (void);
83  esp_at_init();
84 #endif
85 
86 #if KEYPAD_ENABLE
87  extern bool keypad_init (void);
88  keypad_init();
89 #endif
90 
91 #if MACROS_ENABLE
92  extern bool macros_init (void);
93  macros_init();
94 #endif
95 
96 #if LASER_COOLANT_ENABLE
97  extern void laser_coolant_init (void);
98  laser_coolant_init();
99 #endif
100 
101 #if FANS_ENABLE
102  extern void fans_init (void);
103  fans_init();
104 #endif
105 
106 #if OPENPNP_ENABLE
107  extern void openpnp_init (void);
108  openpnp_init();
109 #endif
110 
111 #if LB_CLUSTERS_ENABLE
112  extern void lb_clusters_init (void);
113  lb_clusters_init();
114 #endif
115 
116 #if PROBE_PROTECT_ENABLE
117  extern void probe_protect_init (void);
118  probe_protect_init();
119 #endif
120 
121 #if WEBUI_ENABLE
122  extern void webui_init (void);
123  webui_init();
124 #endif
125 
126 #if EMBROIDERY_ENABLE
127  extern void embroidery_init (void);
128  embroidery_init();
129 #endif
130 
131 #if RGB_LED_ENABLE
132  extern void rgb_led_init (void);
133  rgb_led_init();
134 #endif
135 
136 #if FEED_OVERRIDE_ENABLE
137  extern void feed_override_init (void);
138  feed_override_init();
139 #endif
140 
141 #if HOMING_PULLOFF_ENABLE
142  extern void homing_pulloff_init (void);
143  homing_pulloff_init();
144 #endif
145 
146  extern void my_plugin_init (void);
147  my_plugin_init();
148 
149 #if N_SPINDLE > 1
150  extern void spindle_select_init(void);
151  spindle_select_init();
152  #if SPINDLE_OFFSET == 1
153  extern void spindle_offset_init (void);
154  spindle_offset_init();
155  #endif
156 #endif
157 
158 // Third party plugin definitions.
159 // The code for these has to be downloaded from the source and placed in the same folder as driver.c
160 // Note: Third party plugins may have more than one implementation, there is no "owner" of plugins listed here.
161 // It is also guaranteed that there will be no implementation in the grblHAL repository of these.
162 
163 #if PWM_SERVO_ENABLE
164  extern void pwm_servo_init (void);
165  pwm_servo_init();
166 #endif
167 
168 #if BLTOUCH_ENABLE
169  extern void bltouch_init (void);
170  bltouch_init();
171 #endif
172 
173 #if ATC_ENABLE
174  extern void atc_init (void);
175  atc_init();
176 #endif
177 
178 #if PROBE_RELAY_ENABLE
179  extern void probe_relay_init (void);
180  probe_relay_init();
181 #endif
182 
183 #if DISPLAY_ENABLE
184  void display_init (void);
185  display_init();
186 #endif
187 
188 #if STATUS_LIGHT_ENABLE
189  extern void status_light_init (void);
190  status_light_init();
191 #endif
192 
193 #if PANEL_ENABLE
194  extern void panel_init (void);
195  panel_init();
196 #endif
197 
198 #if EVENTOUT_ENABLE
199  extern void event_out_init (void);
200  event_out_init();
201 #endif
202 
203 // End third party plugin definitions.
204 
205 #if ODOMETER_ENABLE
206  extern void odometer_init (void);
207  odometer_init(); // NOTE: this *must* be last plugin to be initialized as it claims storage at the end of NVS.
208 #endif
209 
210 /*EOF*/
void canbus_init(void)
Definition: canbus.c:189
void my_plugin_init(void)
Definition: my_plugin.c:26