grblHAL core  20250104
driver_opts.h
Go to the documentation of this file.
1 /*
2  driver_opts.h - for preprocessing options from my_machine.h or compiler symbols
3 
4  NOTE: This file is not used by the core, it may be used by drivers
5 
6  Part of grblHAL
7 
8  Copyright (c) 2020-2024 Terje Io
9 
10  grblHAL 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  grblHAL 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 grblHAL. If not, see <http://www.gnu.org/licenses/>.
22 */
23 
24 //
25 // NOTE: do NOT change options here - edit the driver specific my_machine.h instead!
26 //
27 
28 #pragma once
29 
30 #include "hal.h"
31 #include "nuts_bolts.h"
32 
33 #ifdef OPTS_POSTPROCESSING
34 #define NO_OPTS_POST 0
35 #else
36 #define NO_OPTS_POST 1
37 #endif
38 
39 #ifndef X_GANGED
40 #define X_GANGED 0
41 #endif
42 #ifndef X_AUTO_SQUARE
43 #define X_AUTO_SQUARE 0
44 #endif
45 #ifndef Y_GANGED
46 #define Y_GANGED 0
47 #endif
48 #ifndef Y_AUTO_SQUARE
49 #define Y_AUTO_SQUARE 0
50 #endif
51 #ifndef Z_GANGED
52 #define Z_GANGED 0
53 #endif
54 #ifndef Z_AUTO_SQUARE
55 #define Z_AUTO_SQUARE 0
56 #endif
57 #ifndef X_GANGED_LIM_MAX
58 #define X_GANGED_LIM_MAX 0
59 #endif
60 #ifndef Y_GANGED_LIM_MAX
61 #define Y_GANGED_LIM_MAX 0
62 #endif
63 #ifndef Z_GANGED_LIM_MAX
64 #define Z_GANGED_LIM_MAX 0
65 #endif
66 
67 #if X_AUTO_SQUARE && !X_GANGED
68 #undef X_GANGED
69 #define X_GANGED 1
70 #endif
71 #if Y_AUTO_SQUARE && !Y_GANGED
72 #undef Y_GANGED
73 #define Y_GANGED 1
74 #endif
75 #if Z_AUTO_SQUARE && !Z_GANGED
76 #undef Z_GANGED
77 #define Z_GANGED 1
78 #endif
79 
80 #define N_GANGED (X_GANGED + Y_GANGED + Z_GANGED)
81 #define N_AUTO_SQUARED (X_AUTO_SQUARE + Y_AUTO_SQUARE + Z_AUTO_SQUARE)
82 #define N_ABC_MOTORS (N_ABC_AXIS + N_GANGED)
83 
84 #ifndef PROBE_ENABLE
85 #define PROBE_ENABLE 1
86 #endif
87 
88 #ifndef NEOPIXELS_ENABLE
89 #define NEOPIXELS_ENABLE 0
90 #endif
91 
92 #ifndef USB_SERIAL_CDC
93 #define USB_SERIAL_CDC 0 // for UART comms
94 #endif
95 #ifndef USB_SERIAL_WAIT
96 #define USB_SERIAL_WAIT 0
97 #endif
98 
99 #if USB_SERIAL_CDC == 0 && !defined(SERIAL_STREAM)
100 #define SERIAL_STREAM 0
101 #endif
102 
103 #ifndef MACROS_ENABLE
104 #define MACROS_ENABLE 0
105 #endif
106 
107 #ifndef KEYPAD_ENABLE
108 #define KEYPAD_ENABLE 0
109 #endif
110 
111 #if KEYPAD_ENABLE == 1
112 #ifdef I2C_STROBE_ENABLE
113 #undef I2C_STROBE_ENABLE
114 #endif
115 #define I2C_STROBE_ENABLE 1
116 #elif NO_OPTS_POST && KEYPAD_ENABLE == 2 && !defined(KEYPAD_STREAM)
117 #if USB_SERIAL_CDC
118 #define KEYPAD_STREAM 0
119 #else
120 #define KEYPAD_STREAM 1
121 #endif
122 #endif
123 
124 #ifndef I2C_STROBE_ENABLE
125 #define I2C_STROBE_ENABLE 0
126 #endif
127 
128 #ifndef MPG_ENABLE
129 #define MPG_ENABLE 0
130 #endif
131 
132 #if NO_OPTS_POST && MPG_ENABLE && !defined(MPG_STREAM)
133 #if USB_SERIAL_CDC
134 #define MPG_STREAM 0
135 #else
136 #define MPG_STREAM 1
137 #endif
138 #endif
139 
140 #if DISPLAY_ENABLE == 2
141 #ifdef I2C_ENABLE
142 #undef I2C_ENABLE
143 #endif
144 #define I2C_ENABLE 1
145 #endif
146 
147 #ifndef EEPROM_ENABLE
148 #define EEPROM_ENABLE 0
149 #endif
150 #ifndef EEPROM_IS_FRAM
151 #define EEPROM_IS_FRAM 0
152 #endif
153 
154 #ifndef I2C_ENABLE
155 #if EEPROM_ENABLE || KEYPAD_ENABLE == 1 || DISPLAY_ENABLE == 1 || DISPLAY_ENABLE == 2 || I2C_STROBE_ENABLE || (TRINAMIC_ENABLE && TRINAMIC_I2C)
156 #define I2C_ENABLE 1
157 #else
158 #define I2C_ENABLE 0
159 #endif
160 #endif
161 
162 #ifndef SPINDLE_SYNC_ENABLE
163 #define SPINDLE_SYNC_ENABLE 0
164 #endif
165 
166 #ifndef SPINDLE_ENCODER_ENABLE
167 #if SPINDLE_SYNC_ENABLE
168 #define SPINDLE_ENCODER_ENABLE 1
169 #else
170 #define SPINDLE_ENCODER_ENABLE 0
171 #endif
172 #endif
173 
174 #ifndef TRINAMIC_ENABLE
175  #define TRINAMIC_ENABLE 0
176 #endif
177 #if TRINAMIC_ENABLE == 2209
178  #ifndef TRINAMIC_UART_ENABLE
179  #define TRINAMIC_UART_ENABLE 1
180  #endif
181  #if NO_OPTS_POST && !defined(TRINAMIC_STREAM) && TRINAMIC_UART_ENABLE == 1
182  #define TRINAMIC_STREAM 1
183  #endif
184 #else
185  #define TRINAMIC_UART_ENABLE 0
186 #endif
187 #if (TRINAMIC_ENABLE == 2130 || TRINAMIC_ENABLE == 2660 || TRINAMIC_ENABLE == 5160)
188  #if !defined(TRINAMIC_SPI_ENABLE)
189  #define TRINAMIC_SPI_ENABLE 1
190  #endif
191 #else
192  #define TRINAMIC_SPI_ENABLE 0
193 #endif
194 #ifndef TRINAMIC_I2C
195 #define TRINAMIC_I2C 0
196 #endif
197 #if TRINAMIC_ENABLE && TRINAMIC_I2C
198 #define TRINAMIC_MOTOR_ENABLE 1
199 #else
200 #define TRINAMIC_MOTOR_ENABLE 0
201 #endif
202 #ifndef TRINAMIC_DEV
203 #define TRINAMIC_DEV 0
204 #endif
205 
206 #ifndef LITTLEFS_ENABLE
207 #define LITTLEFS_ENABLE 0
208 #endif
209 
210 #ifndef PWM_RAMPED
211 #define PWM_RAMPED 0
212 #endif
213 #ifndef PLASMA_ENABLE
214 #define PLASMA_ENABLE 0
215 #elif PLASMA_ENABLE
216 #if defined(STEP_INJECT_ENABLE)
217 #undef STEP_INJECT_ENABLE
218 #endif
219 #define STEP_INJECT_ENABLE 1
220 #endif
221 #ifndef PPI_ENABLE
222 #define PPI_ENABLE 0
223 #endif
224 
225 #if EMBROIDERY_ENABLE
226 #if defined(SDCARD_ENABLE) && SDCARD_ENABLE == 0
227 #undef SDCARD_ENABLE
228 #endif
229 #ifndef SDCARD_ENABLE
230 #define SDCARD_ENABLE 1
231 #endif
232 #endif
233 
234 #ifndef ESTOP_ENABLE
235  #if COMPATIBILITY_LEVEL <= 1
236  #define ESTOP_ENABLE 1
237  #else
238  #define ESTOP_ENABLE 0
239  #endif
240 #elif ESTOP_ENABLE && COMPATIBILITY_LEVEL > 1
241  #warning "Enabling ESTOP may not work with all senders!"
242 #endif
243 
244 #define AUX_CONTROL_SPINDLE 0b0001
245 #define AUX_CONTROL_COOLANT 0b0010
246 #define AUX_CONTROL_DEVICES 0b0100
247 #define AUX_CONTROL_INPUTS 0b1000
248 
249 // Control signals, keep in sync with control_signals_t
250 #define CONTROL_RESET 0b0000001
251 #define CONTROL_FEEDHOLD 0b0000010
252 #define CONTROL_CYCLESTART 0b0000100
253 #define CONTROL_SAFETYDOOR 0b0001000
254 #define CONTROL_BLOCKDELETE 0b0010000
255 #define CONTROL_STOPDISABLE 0b0100000
256 #define CONTROL_ESTOP 0b1000000
257 
258 #ifndef CONTROL_ENABLE
259 #if ESTOP_ENABLE
260 #define CONTROL_ENABLE (CONTROL_FEEDHOLD|CONTROL_CYCLESTART|CONTROL_ESTOP)
261 #else
262 #define CONTROL_ENABLE (CONTROL_RESET|CONTROL_FEEDHOLD|CONTROL_CYCLESTART)
263 #endif
264 #endif
265 
266 // Coolant signals, keep in sync with coolant_state_t
267 #define COOLANT_FLOOD 0b01
268 #define COOLANT_MIST 0b10
269 
270 #ifndef COOLANT_ENABLE
271 #define COOLANT_ENABLE (COOLANT_FLOOD|COOLANT_MIST)
272 #endif
273 
274 // Spindle signals
275 #define SPINDLE_ENA 0b001
276 #define SPINDLE_PWM 0b010
277 #define SPINDLE_DIR 0b100
278 
279 #ifndef SPINDLE0_ENABLE
280 #define SPINDLE0_ENABLE DEFAULT_SPINDLE
281 #endif
282 
283 #ifndef SPINDLE1_ENABLE
284 #define SPINDLE1_ENABLE 0
285 #elif SPINDLE1_ENABLE == -1 || SPINDLE1_ENABLE == SPINDLE_ALL || SPINDLE1_ENABLE == SPINDLE_ALL_VFD
286 #warning "SPINDLE1_ENABLE cannot be set to -1, SPINDLE_ALL or SPINDLE_ALL_VFD"
287 #undef SPINDLE1_ENABLE
288 #define SPINDLE1_ENABLE 0
289 #endif
290 
291 #ifndef SPINDLE2_ENABLE
292 #define SPINDLE2_ENABLE 0
293 #elif SPINDLE2_ENABLE == -1 || SPINDLE2_ENABLE == SPINDLE_ALL || SPINDLE2_ENABLE == SPINDLE_ALL_VFD
294 #warning "SPINDLE2_ENABLE cannot be set to -1, SPINDLE_ALL or SPINDLE_ALL_VFD"
295 #undef SPINDLE2_ENABLE
296 #define SPINDLE2_ENABLE 0
297 #endif
298 
299 #ifndef SPINDLE3_ENABLE
300 #define SPINDLE3_ENABLE 0
301 #elif SPINDLE3_ENABLE == -1 || SPINDLE3_ENABLE == SPINDLE_ALL || SPINDLE3_ENABLE == SPINDLE_ALL_VFD
302 #warning "SPINDLE3_ENABLE cannot be set to -1, SPINDLE_ALL or SPINDLE_ALL_VFD"
303 #undef SPINDLE1_ENABLE
304 #define SPINDLE1_ENABLE 0
305 #endif
306 
307 #if SPINDLE0_ENABLE == -1 || SPINDLE0_ENABLE == SPINDLE_ALL
308 #define SPINDLE_ENABLE (SPINDLE_ALL|(1<<SPINDLE1_ENABLE)|(1<<SPINDLE2_ENABLE)|(1<<SPINDLE3_ENABLE))
309 #elif SPINDLE0_ENABLE == SPINDLE_ALL_VFD
310 #define SPINDLE_ENABLE (SPINDLE_ALL_VFD|SPINDLE_ALL|(1<<SPINDLE1_ENABLE)|(1<<SPINDLE2_ENABLE)|(1<<SPINDLE3_ENABLE))
311 #else
312 #define SPINDLE_ENABLE ((1<<SPINDLE0_ENABLE)|(1<<SPINDLE1_ENABLE)|(1<<SPINDLE2_ENABLE)|(1<<SPINDLE3_ENABLE))
313 #endif
314 
315 // Driver spindle 0
316 
317 #if SPINDLE_ENABLE & (1<<SPINDLE_PWM0)
318 #define DRIVER_SPINDLE_ENABLE (SPINDLE_ENA|SPINDLE_PWM|SPINDLE_DIR)
319 #elif SPINDLE_ENABLE & (1<<SPINDLE_PWM0_NODIR)
320 #define DRIVER_SPINDLE_ENABLE (SPINDLE_ENA|SPINDLE_PWM)
321 #elif SPINDLE_ENABLE & (1<<SPINDLE_ONOFF0)
322 #define DRIVER_SPINDLE_ENABLE SPINDLE_ENA
323 #elif SPINDLE_ENABLE & (1<<SPINDLE_ONOFF0_DIR)
324 #define DRIVER_SPINDLE_ENABLE (SPINDLE_ENA|SPINDLE_DIR)
325 #else
326 #define DRIVER_SPINDLE_ENABLE 0
327 #endif
328 
329 #if DRIVER_SPINDLE_ENABLE & SPINDLE_DIR
330 #define DRIVER_SPINDLE_DIR_ENABLE 1 // Deprecated
331 #else
332 #define DRIVER_SPINDLE_DIR_ENABLE 0 // Deprecated
333 #endif
334 
335 #if DRIVER_SPINDLE_ENABLE & SPINDLE_PWM
336 #define DRIVER_SPINDLE_PWM_ENABLE 1 // Deprecated
337 #define DRIVER_SPINDLE_NAME "PWM"
338 #else
339 #define DRIVER_SPINDLE_PWM_ENABLE 0 // Deprecated
340 #if DRIVER_SPINDLE_ENABLE
341 #define DRIVER_SPINDLE_NAME "Basic"
342 #endif
343 #endif
344 
345 // Driver spindle 1
346 
347 #if SPINDLE_ENABLE & ((1<<SPINDLE_PWM1)|(1<<SPINDLE_PWM1_NODIR)|(1<<SPINDLE_ONOFF1)|(1<<SPINDLE_ONOFF1_DIR))
348 #if N_SPINDLE > 1
349 #if SPINDLE_ENABLE & (1<<SPINDLE_PWM1)
350 #define DRIVER_SPINDLE1_ENABLE (SPINDLE_ENA|SPINDLE_PWM|SPINDLE_DIR)
351 #elif SPINDLE_ENABLE & (1<<SPINDLE_PWM1_NODIR)
352 #define DRIVER_SPINDLE1_ENABLE (SPINDLE_ENA|SPINDLE_PWM)
353 #elif SPINDLE_ENABLE & (1<<SPINDLE_ONOFF1)
354 #define DRIVER_SPINDLE1_ENABLE SPINDLE_ENA
355 #elif SPINDLE_ENABLE & (1<<SPINDLE_ONOFF1_DIR)
356 #define DRIVER_SPINDLE1_ENABLE (SPINDLE_ENA|SPINDLE_DIR)
357 #endif
358 #else
359 #warning "Configure N_SPINDLE > 1 in grbl/config.h when enabling second driver spindle!"
360 #endif
361 #else
362 #define DRIVER_SPINDLE1_ENABLE 0
363 #endif
364 
365 #if DRIVER_SPINDLE1_ENABLE & SPINDLE_DIR
366 #define DRIVER_SPINDLE1_DIR_ENABLE 1 // Deprecated
367 #else
368 #define DRIVER_SPINDLE1_DIR_ENABLE 0 // Deprecated
369 #endif
370 
371 #if DRIVER_SPINDLE1_ENABLE & SPINDLE_PWM
372 #define DRIVER_SPINDLE1_PWM_ENABLE 1 // Deprecated
373 #define DRIVER_SPINDLE1_NAME "PWM2"
374 #else
375 #define DRIVER_SPINDLE1_PWM_ENABLE 0 // Deprecated
376 #if DRIVER_SPINDLE1_ENABLE
377 #define DRIVER_SPINDLE1_NAME "Basic2"
378 #endif
379 #endif
380 
381 //
382 
383 #ifndef VFD_ENABLE
384  #if SPINDLE_ENABLE & SPINDLE_ALL_VFD
385  #define VFD_ENABLE 1
386  #else
387  #define VFD_ENABLE 0
388  #endif
389 #endif
390 
391 #define MODBUS_RTU_ENABLED 0b001
392 #define MODBUS_RTU_DIR_ENABLED 0b010
393 #define MODBUS_TCP_ENABLED 0b100
394 
395 #if MODBUS_ENABLE == 2
396 #undef MODBUS_ENABLE
397 #define MODBUS_ENABLE 0b011
398 #endif
399 
400 #ifndef MODBUS_ENABLE
401 #if VFD_ENABLE
402 #define MODBUS_ENABLE 1
403 #else
404 #define MODBUS_ENABLE 0
405 #endif
406 #endif
407 
408 #ifndef STEP_INJECT_ENABLE
409  #if SPINDLE_ENABLE & (1<<SPINDLE_STEPPER)
410  #define STEP_INJECT_ENABLE 1
411  #else
412  #define STEP_INJECT_ENABLE 0
413  #endif
414 #endif
415 
416 #ifndef QEI_ENABLE
417 #define QEI_ENABLE 0
418 #endif
419 #ifndef QEI_SELECT_ENABLE
420 #define QEI_SELECT_ENABLE 0
421 #endif
422 #ifndef ODOMETER_ENABLE
423 #define ODOMETER_ENABLE 0
424 #endif
425 #ifndef OPENPNP_ENABLE
426 #define OPENPNP_ENABLE 0
427 #endif
428 #ifndef FANS_ENABLE
429 #define FANS_ENABLE 0
430 #endif
431 #ifndef LIMITS_OVERRIDE_ENABLE
432 #define LIMITS_OVERRIDE_ENABLE 0
433 #endif
434 
435 #ifndef BLUETOOTH_ENABLE
436 #define BLUETOOTH_ENABLE 0
437 #endif
438 #if BLUETOOTH_ENABLE
439 #ifndef BLUETOOTH_DEVICE
440 #define BLUETOOTH_DEVICE "grblHAL"
441 #endif
442 #ifndef BLUETOOTH_SERVICE
443 #define BLUETOOTH_SERVICE "grblHAL Serial Port" // Minimum 8 characters, or blank for open
444 #endif
445 #endif
446 
447 // Optional control signals
448 
449 #ifndef SAFETY_DOOR_ENABLE
450 #define SAFETY_DOOR_ENABLE 0
451 #endif
452 #ifndef PROBE_DISCONNECT_ENABLE
453 #define PROBE_DISCONNECT_ENABLE 0
454 #endif
455 #ifndef STOP_DISABLE_ENABLE
456 #define STOP_DISABLE_ENABLE 0
457 #endif
458 #ifndef BLOCK_DELETE_ENABLE
459 #define BLOCK_DELETE_ENABLE 0
460 #endif
461 #ifndef SINGLE_BLOCK_ENABLE
462 #define SINGLE_BLOCK_ENABLE 0
463 #endif
464 #ifndef MOTOR_FAULT_ENABLE
465 #define MOTOR_FAULT_ENABLE 0
466 #endif
467 #ifndef MOTOR_WARNING_ENABLE
468 #define MOTOR_WARNING_ENABLE 0
469 #endif
470 #ifndef LIMITS_OVERRIDE_ENABLE
471 #define LIMITS_OVERRIDE_ENABLE 0
472 #endif
473 
474 #if SAFETY_DOOR_ENABLE && defined(NO_SAFETY_DOOR_SUPPORT)
475 #error "Driver does not support safety door functionality!"
476 #endif
477 
478 //
479 
480 #ifndef WIFI_ENABLE
481 #define WIFI_ENABLE 0
482 #endif
483 
484 #ifndef WEBUI_ENABLE
485 #define WEBUI_ENABLE 0
486 #endif
487 
488 #ifndef WEBUI_AUTH_ENABLE
489 #define WEBUI_AUTH_ENABLE 0
490 #endif
491 
492 #ifndef WEBUI_INFLASH
493 #define WEBUI_INFLASH 0
494 #endif
495 
496 #if WEBUI_ENABLE
497 
498 #if !WIFI_ENABLE
499 #ifdef ETHERNET_ENABLE
500 #undef ETHERNET_ENABLE
501 #endif
502 #define ETHERNET_ENABLE 1
503 #endif
504 #ifdef HTTP_ENABLE
505 #undef HTTP_ENABLE
506 #endif
507 #define HTTP_ENABLE 1
508 #ifdef WEBSOCKET_ENABLE
509 #undef WEBSOCKET_ENABLE
510 #endif
511 #define WEBSOCKET_ENABLE 1
512 #if defined(SDCARD_ENABLE) && SDCARD_ENABLE == 0
513 #undef SDCARD_ENABLE
514 #endif
515 #ifndef SDCARD_ENABLE
516 #define SDCARD_ENABLE 1
517 #endif
518 #endif
519 
520 #ifndef ETHERNET_ENABLE
521 #define ETHERNET_ENABLE 0
522 #endif
523 #ifndef TELNET_ENABLE
524 #define TELNET_ENABLE 0
525 #endif
526 #ifndef HTTP_ENABLE
527 #define HTTP_ENABLE 0
528 #endif
529 #ifndef WEBSOCKET_ENABLE
530 #define WEBSOCKET_ENABLE 0
531 #endif
532 #ifndef FTP_ENABLE
533 #define FTP_ENABLE 0
534 #elif !(SDCARD_ENABLE || LITTLEFS_ENABLE)
535 #undef FTP_ENABLE
536 #define FTP_ENABLE 0
537 #endif
538 #ifndef MDNS_ENABLE
539 #define MDNS_ENABLE 0
540 #endif
541 #ifndef SSDP_ENABLE
542 #define SSDP_ENABLE 0
543 #endif
544 #if SSDP_ENABLE && !HTTP_ENABLE
545 #undef HTTP_ENABLE
546 #define HTTP_ENABLE 1
547 #endif
548 #ifndef MQTT_ENABLE
549 #define MQTT_ENABLE 0
550 #endif
551 
552 #if ETHERNET_ENABLE || WIFI_ENABLE
553 #ifndef NETWORK_HOSTNAME
554 #define NETWORK_HOSTNAME "grblHAL"
555 #endif
556 #ifndef NETWORK_IPMODE
557 #define NETWORK_IPMODE 1 // 0 = static, 1 = DHCP, 2 = AutoIP
558 #endif
559 #ifndef NETWORK_IP
560 #define NETWORK_IP "192.168.5.1"
561 #endif
562 #ifndef NETWORK_GATEWAY
563 #define NETWORK_GATEWAY "192.168.5.1"
564 #endif
565 #ifndef NETWORK_MASK
566 #define NETWORK_MASK "255.255.255.0"
567 #endif
568 #ifndef NETWORK_FTP_PORT
569 #define NETWORK_FTP_PORT 21
570 #endif
571 #ifndef NETWORK_TELNET_PORT
572 #define NETWORK_TELNET_PORT 23
573 #endif
574 #ifndef NETWORK_HTTP_PORT
575 #define NETWORK_HTTP_PORT 80
576 #endif
577 #ifndef NETWORK_MODBUS_PORT
578 #define NETWORK_MODBUS_PORT 502
579 #endif
580 #ifndef NETWORK_MQTT_PORT
581 #define NETWORK_MQTT_PORT 1883
582 #endif
583 #ifndef NETWORK_WEBSOCKET_PORT
584 #if HTTP_ENABLE
585 #define NETWORK_WEBSOCKET_PORT 81
586 #else
587 #define NETWORK_WEBSOCKET_PORT 80
588 #endif
589 #endif
590 #if NETWORK_IPMODE < 0 || NETWORK_IPMODE > 2
591 #error "Invalid IP mode selected!"
592 #endif
593 #if HTTP_ENABLE && NETWORK_WEBSOCKET_PORT == NETWORK_HTTP_PORT
594 #warning "HTTP and WebSocket protocols cannot share the same port!"
595 #endif
596 #endif // ETHERNET_ENABLE || WIFI_ENABLE
597 
598 #if WIFI_ENABLE
599 
600 #ifndef NETWORK_STA_SSID
601 #define NETWORK_STA_SSID ""
602 #endif
603 #ifndef NETWORK_STA_PASSWORD
604 #define NETWORK_STA_PASSWORD ""
605 #endif
606 #ifndef NETWORK_STA_HOSTNAME
607 #define NETWORK_STA_HOSTNAME "grblHAL"
608 #endif
609 #ifndef NETWORK_STA_IPMODE
610 #define NETWORK_STA_IPMODE 1 // DHCP
611 #endif
612 #ifndef NETWORK_STA_IP
613 #define NETWORK_STA_IP "192.168.5.1"
614 #endif
615 #ifndef NETWORK_STA_GATEWAY
616 #define NETWORK_STA_GATEWAY "192.168.5.1"
617 #endif
618 #ifndef NETWORK_STA_MASK
619 #define NETWORK_STA_MASK "255.255.255.0"
620 #endif
621 
622 #if WIFI_SOFTAP > 0
623 #ifndef NETWORK_AP_SSID
624 #define NETWORK_AP_SSID "grblHAL_AP"
625 #endif
626 #ifndef NETWORK_AP_PASSWORD
627 #define NETWORK_AP_PASSWORD "grblHALpwd"
628 #endif
629 #ifndef NETWORK_AP_HOSTNAME
630 #define NETWORK_AP_HOSTNAME "grblHAL_AP"
631 #endif
632 #ifndef NETWORK_AP_IPMODE
633 #define NETWORK_AP_IPMODE 0 // static
634 #endif
635 #ifndef NETWORK_AP_IP
636 #define NETWORK_AP_IP "192.168.5.1"
637 #endif
638 #ifndef NETWORK_AP_GATEWAY
639 #define NETWORK_AP_GATEWAY "192.168.5.1"
640 #endif
641 #ifndef NETWORK_AP_MASK
642 #define NETWORK_AP_MASK "255.255.255.0"
643 #endif
644 #endif // WIFI_SOFTAP
645 #endif // WIFI_ENABLE
646 
647 #ifndef SDCARD_ENABLE
648 #define SDCARD_ENABLE 0
649 #endif
650 
651 #if LITTLEFS_ENABLE == 2 && SDCARD_ENABLE
652 #undef LITTLEFS_ENABLE
653 #define LITTLEFS_ENABLE 1
654 #endif
655 
656 #if LITTLEFS_ENABLE
657 #if LITTLEFS_ENABLE == 2
658 #define LITTLEFS_MOUNT_DIR "/"
659 #else
660 #define LITTLEFS_MOUNT_DIR "/littlefs"
661 #endif
662 #endif
663 
664 #ifndef SPI_ENABLE
665 #if SDCARD_ENABLE || TRINAMIC_SPI_ENABLE
666 #define SPI_ENABLE 1
667 #else
668 #define SPI_ENABLE 0
669 #endif
670 #endif
671 
672 /*EOF*/
HAL function pointers and data structures definitions.