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