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