← index #8794PR #8902
Likely Duplicate · high · value 1.051
QUERY · ISSUE

UART sendbreak bug

openby AeroSynthopened 2022-06-21updated 2022-06-28

There is a bug with the uart.sendbreak() method with V1.17 (haven't checked the latest)

The manual states the break signal lasts 13 bits. It actually is 11.
This has caused errors with external sensors that utilize the SDI-12 protocol. .The line needs to go for at least 12ms. Now, it is 9.167 ms. Even 13 bits is not long enough.
A good solution is to add a property where you can specify how many bits you can use.
SDI-12 is popular in agriculture and other industrial applications. (www.sdi-12.org)

CANDIDATE · PULL REQUEST

esp32: Change the sendbreak duration to >= 15 bit times.

closedby robert-hhopened 2022-07-12updated 2022-08-23
port-esp32

It used to be 10 bit times, which is too short. The break state must be longer than a regular character time, at least 13 bit times. May be longer. This is implemented by changing the baud rate for sendbreak() to 2/3 of what has been configured.

Tested with a GENERIC_SPIRAM, GENERIC_C3 and UM_TINYS2 board.

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied