Skip to content

Commit e15e4ed

Browse files
committed
monitor README.md: Add note re ESP8266 UART(1).
1 parent 405ce3d commit e15e4ed

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

v3/as_demos/monitor/README.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,19 @@ fast in the context of uasyncio). It also ensures that tasks like `hog_detect`,
396396
which can be scheduled at a high rate, can't overflow the UART buffer. The
397397
1Mbps rate seems widely supported.
398398

399-
## 6.1 How it works
399+
## 6.1 ESP8266 note
400+
401+
tl;dr ESP8266 applications can be monitored using the transmit-only UART 1.
402+
403+
I was expecting problems: on boot the ESP8266 transmits data on both UARTs at
404+
75Kbaud. A bit at this baudrate corresponds to 13.3 bits at 1Mbaud. A receiving
405+
UART will see a transmitted 1 as 13 consecutive 1 bits. Lacking a start bit, it
406+
will ignore them. An incoming 0 will be interpreted as a framing error because
407+
of the absence of a stop bit. In practice the Pico UART returns `b'\x00'` when
408+
this occurs, which `monitor.py` ignores. When monitored the ESP8266 behaves
409+
identically to other platforms and can be rebooted at will.
410+
411+
## 6.2 How it works
400412

401413
This is for anyone wanting to modify the code. Each ident is associated with
402414
two bytes, `0x40 + ident` and `0x60 + ident`. These are upper and lower case

0 commit comments

Comments
 (0)