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