Skip to content

Commit e3bf9bb

Browse files
committed
Added bit mask and constant for SerialConfig parameter
Permit use bit config avoiding test/compare all "hard-coded" values. example ```arduino if (section & CFG_HLP_MODBUS) { DebuglnF("\r\n===== Modbus"); DebugF("Speed : "); Debug(config.modbus.baud); switch (config.modbus.proto & UART_NB_BIT_MASK) { case UART_NB_BIT_5: Debug(" 5"); break; case UART_NB_BIT_6: Debug(" 6"); break; case UART_NB_BIT_7: Debug(" 7"); break; case UART_NB_BIT_8: Debug(" 8"); break; default : Debug(" ?"); break; } switch (config.modbus.proto & UART_PARITY_MASK) { case UART_PARITY_NONE: Debug("N"); break; case UART_PARITY_EVEN: Debug("E"); break; case UART_PARITY_ODD : Debug("O"); break; default : Debug("?"); break; } switch (config.modbus.proto & UART_NB_STOP_BIT_MASK) { case UART_NB_STOP_BIT_0: Debug("0"); break; case UART_NB_STOP_BIT_1: Debug("1"); break; case UART_NB_STOP_BIT_15: Debug("15"); break; case UART_NB_STOP_BIT_2 : Debug("2"); break; default : Debug("?"); break; } DebugF("\r\nSlave Addr : "); Debugln(config.modbus.slave); DebugF("Holding Reg : 0x"); Debugln2(config.modbus.hr_addr,HEX); DebugF("Enable Pin : "); Debugln(config.modbus.en_pin); } ```
1 parent 0ad2738 commit e3bf9bb

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

cores/esp8266/uart.h

+44
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,49 @@ extern "C" {
3434
#define UART_NO -1
3535

3636
// Options for `config` argument of uart_init
37+
#define UART_NB_BIT_MASK 0B00001100
38+
#define UART_NB_BIT_5 0B00000000
39+
#define UART_NB_BIT_6 0B00000100
40+
#define UART_NB_BIT_7 0B00001000
41+
#define UART_NB_BIT_8 0B00001100
42+
43+
#define UART_PARITY_MASK 0B00000011
44+
#define UART_PARITY_NONE 0B00000000
45+
#define UART_PARITY_EVEN 0B00000010
46+
#define UART_PARITY_ODD 0B00000011
47+
48+
#define UART_NB_STOP_BIT_MASK 0B00110000
49+
#define UART_NB_STOP_BIT_0 0B00000000
50+
#define UART_NB_STOP_BIT_1 0B00010000
51+
#define UART_NB_STOP_BIT_15 0B00100000
52+
#define UART_NB_STOP_BIT_2 0B00110000
53+
54+
#define UART_5N1 ( UART_NB_BIT_5 | UART_PARITY_NONE | UART_NB_STOP_BIT_1 )
55+
#define UART_6N1 ( UART_NB_BIT_6 | UART_PARITY_NONE | UART_NB_STOP_BIT_1 )
56+
#define UART_7N1 ( UART_NB_BIT_7 | UART_PARITY_NONE | UART_NB_STOP_BIT_1 )
57+
#define UART_8N1 ( UART_NB_BIT_8 | UART_PARITY_NONE | UART_NB_STOP_BIT_1 )
58+
#define UART_5N2 ( UART_NB_BIT_5 | UART_PARITY_NONE | UART_NB_STOP_BIT_2 )
59+
#define UART_6N2 ( UART_NB_BIT_6 | UART_PARITY_NONE | UART_NB_STOP_BIT_2 )
60+
#define UART_7N2 ( UART_NB_BIT_7 | UART_PARITY_NONE | UART_NB_STOP_BIT_2 )
61+
#define UART_8N2 ( UART_NB_BIT_8 | UART_PARITY_NONE | UART_NB_STOP_BIT_2 )
62+
#define UART_5E1 ( UART_NB_BIT_5 | UART_PARITY_EVEN | UART_NB_STOP_BIT_1 )
63+
#define UART_6E1 ( UART_NB_BIT_6 | UART_PARITY_EVEN | UART_NB_STOP_BIT_1 )
64+
#define UART_7E1 ( UART_NB_BIT_7 | UART_PARITY_EVEN | UART_NB_STOP_BIT_1 )
65+
#define UART_8E1 ( UART_NB_BIT_8 | UART_PARITY_EVEN | UART_NB_STOP_BIT_1 )
66+
#define UART_5E2 ( UART_NB_BIT_5 | UART_PARITY_EVEN | UART_NB_STOP_BIT_2 )
67+
#define UART_6E2 ( UART_NB_BIT_6 | UART_PARITY_EVEN | UART_NB_STOP_BIT_2 )
68+
#define UART_7E2 ( UART_NB_BIT_7 | UART_PARITY_EVEN | UART_NB_STOP_BIT_2 )
69+
#define UART_8E2 ( UART_NB_BIT_8 | UART_PARITY_EVEN | UART_NB_STOP_BIT_2 )
70+
#define UART_5O1 ( UART_NB_BIT_5 | UART_PARITY_ODD | UART_NB_STOP_BIT_1 )
71+
#define UART_6O1 ( UART_NB_BIT_6 | UART_PARITY_ODD | UART_NB_STOP_BIT_1 )
72+
#define UART_7O1 ( UART_NB_BIT_7 | UART_PARITY_ODD | UART_NB_STOP_BIT_1 )
73+
#define UART_8O1 ( UART_NB_BIT_8 | UART_PARITY_ODD | UART_NB_STOP_BIT_1 )
74+
#define UART_5O2 ( UART_NB_BIT_5 | UART_PARITY_ODD | UART_NB_STOP_BIT_2 )
75+
#define UART_6O2 ( UART_NB_BIT_6 | UART_PARITY_ODD | UART_NB_STOP_BIT_2 )
76+
#define UART_7O2 ( UART_NB_BIT_7 | UART_PARITY_ODD | UART_NB_STOP_BIT_2 )
77+
#define UART_8O2 ( UART_NB_BIT_8 | UART_PARITY_ODD | UART_NB_STOP_BIT_2 )
78+
79+
/*
3780
#define UART_5N1 0x10
3881
#define UART_6N1 0x14
3982
#define UART_7N1 0x18
@@ -58,6 +101,7 @@ extern "C" {
58101
#define UART_6O2 0x37
59102
#define UART_7O2 0x3b
60103
#define UART_8O2 0x3f
104+
*/
61105

62106
// Options for `mode` argument of uart_init
63107
#define UART_FULL 0

0 commit comments

Comments
 (0)