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