Skip to content

Commit 53569bf

Browse files
committed
Reordering EspSoftwareSerial and HW serial initialization was faulty, reverted, clean up.
1 parent 8175782 commit 53569bf

File tree

2 files changed

+29
-40
lines changed

2 files changed

+29
-40
lines changed

examples/loopback/loopback.ino

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -87,32 +87,14 @@ HardwareSerial& logger(Serial);
8787
#endif
8888

8989
void setup() {
90-
#if defined(ESP8266)
91-
#if defined(HWLOOPBACK) || defined(HWSOURCESINK) || defined(HWSOURCESWSINK)
92-
logger.begin(9600, SWSERIAL_8N1, -1, TX);
93-
#else
94-
logger.begin(9600);
95-
#endif
96-
#elif defined(ESP32)
97-
#if defined(HWLOOPBACK) || defined(HWSOURCESWSINK)
98-
logger.begin(9600);
99-
#elif defined(HWSOURCESINK)
100-
logger.begin(9600);
101-
#else
102-
logger.begin(9600);
103-
#endif
104-
#else
105-
logger.begin(9600);
106-
#endif
107-
108-
logger.println("Loopback example for EspSoftwareSerial");
109-
110-
11190
#if defined(ESP8266)
11291
#if defined(HWLOOPBACK) || defined(HWSOURCESINK) || defined(HWSOURCESWSINK)
11392
Serial.begin(IUTBITRATE, hwSerialConfig, SERIAL_FULL, 1, invert);
11493
Serial.swap();
11594
Serial.setRxBufferSize(2 * BLOCKSIZE);
95+
logger.begin(9600, SWSERIAL_8N1, -1, TX);
96+
#else
97+
logger.begin(9600);
11698
#endif
11799
#if !defined(HWSOURCESINK)
118100
serialIUT.begin(IUTBITRATE, swSerialConfig, D5, D6, invert, 2 * BLOCKSIZE);
@@ -134,9 +116,15 @@ void setup() {
134116
serialIUT.enableIntTx(false);
135117
#endif
136118
#endif
137-
#elif !defined(HWSOURCESINK)
119+
logger.begin(9600);
120+
#else
121+
#if !defined(HWSOURCESINK)
138122
serialIUT.begin(IUTBITRATE);
139123
#endif
124+
logger.begin(9600);
125+
#endif
126+
127+
logger.println("Loopback example for EspSoftwareSerial");
140128

141129
start = micros();
142130
txCount = 0;
@@ -183,10 +171,10 @@ void loop() {
183171
#endif
184172
#ifdef HWSOURCESINK
185173
#if defined(ESP8266)
186-
if (Serial.hasOverrun()) { logger.println("Serial::overrun"); }
174+
if (serialIUT.hasOverrun()) { logger.println("serialIUT.overrun"); }
187175
#endif
188176
#else
189-
if (serialIUT.overflow()) { logger.println("SoftwareSerial::overflow"); }
177+
if (serialIUT.overflow()) { logger.println("serialIUT.overflow"); }
190178
#endif
191179

192180
int inCnt;
@@ -231,7 +219,7 @@ void loop() {
231219
expected = -1;
232220
}
233221
#ifndef HWSOURCESINK
234-
if ((serialIUT.readParity() ^ static_cast<bool>(swSerialConfig & 010)) != serialIUT.parityEven(r))
222+
if (serialIUT.readParity() != (static_cast<bool>(swSerialConfig & 010) ? serialIUT.parityOdd(r) : serialIUT.parityEven(r)))
235223
{
236224
++rxParityErrors;
237225
}
@@ -256,7 +244,7 @@ void loop() {
256244
+ rxErrors + " errors (" + 100.0 * rxErrors / (!rxErrors ? 1 : rxCount) + "%)");
257245
if (0 != (swSerialConfig & 070))
258246
{
259-
logger.println(String(" (") + rxParityErrors + " parity errors)");
247+
logger.print(" ("); logger.print(rxParityErrors) + logger.println(" parity errors)");
260248
}
261249
else
262250
{

examples/repeater/repeater.ino

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -68,28 +68,18 @@ HardwareSerial& logger(Serial);
6868
#endif
6969

7070
void setup() {
71-
#if defined(ESP8266)
72-
#if defined(HWLOOPBACK)
73-
logger.begin(9600, SWSERIAL_8N1, -1, TX);
74-
#else
75-
logger.begin(9600);
76-
#endif
77-
#else
78-
logger.begin(9600);
79-
#endif
80-
81-
logger.println("Repeater example for EspSoftwareSerial");
82-
8371
#if defined(ESP8266)
8472
#if defined(HWLOOPBACK)
8573
repeater.begin(IUTBITRATE, hwSerialConfig, SERIAL_FULL, 1, invert);
8674
repeater.swap();
8775
repeater.setRxBufferSize(2 * BLOCKSIZE);
76+
logger.begin(9600, SWSERIAL_8N1, -1, TX);
8877
#else
8978
repeater.begin(IUTBITRATE, swSerialConfig, D7, D8, invert, 4 * BLOCKSIZE);
9079
#ifdef HALFDUPLEX
9180
repeater.enableIntTx(false);
9281
#endif
82+
logger.begin(9600);
9383
#endif
9484
#elif defined(ESP32)
9585
#if defined(HWLOOPBACK)
@@ -101,10 +91,13 @@ void setup() {
10191
repeater.enableIntTx(false);
10292
#endif
10393
#endif
94+
logger.begin(9600);
10495
#else
10596
repeater.begin(IUTBITRATE);
97+
logger.begin(9600);
10698
#endif
10799

100+
logger.println("Repeater example for EspSoftwareSerial");
108101
start = micros();
109102
rxCount = 0;
110103
seqErrors = 0;
@@ -113,6 +106,14 @@ void setup() {
113106
}
114107

115108
void loop() {
109+
#ifdef HWLOOPBACK
110+
#if defined(ESP8266)
111+
if (repeater.hasOverrun()) { logger.println("repeater.overrun"); }
112+
#endif
113+
#else
114+
if (repeater.overflow()) { logger.println("repeater.overflow"); }
115+
#endif
116+
116117
#ifdef HALFDUPLEX
117118
char block[BLOCKSIZE];
118119
#endif
@@ -134,7 +135,7 @@ void loop() {
134135
expected = -1;
135136
}
136137
#ifndef HWLOOPBACK
137-
if ((repeater.readParity() ^ static_cast<bool>(swSerialConfig & 010)) != repeater.parityEven(r))
138+
if (repeater.readParity() != (static_cast<bool>(swSerialConfig & 010) ? repeater.parityOdd(r) : repeater.parityEven(r)))
138139
{
139140
++parityErrors;
140141
}
@@ -166,7 +167,7 @@ void loop() {
166167
#ifndef HWLOOPBACK
167168
if (0 != (swSerialConfig & 070))
168169
{
169-
logger.println(String(" (") + parityErrors + " parity errors)");
170+
logger.print(" ("); logger.print(parityErrors) + logger.println(" parity errors)");
170171
}
171172
else
172173
#endif

0 commit comments

Comments
 (0)