UART.sendbreak() and UART.deinit() not working on ESP boards

All ESP8266 boards running MicroPython.
Official boards are the Adafruit Huzzah and Feather boards.
Target audience: MicroPython users with an ESP8266 board.
Post Reply
stefanmesaros
Posts: 2
Joined: Sat Feb 24, 2018 10:18 pm

UART.sendbreak() and UART.deinit() not working on ESP boards

Post by stefanmesaros » Sat Feb 24, 2018 10:35 pm

Hello everyone, I have ESP8266 as well as ESP32 with the latest micropython on them, but I can't seem to get UART.sendbreak() working on either of them. I am trying to create a DMX signal with a max485 chip that I was able to do with raspberry pi, but neither UART.sendbreak() nor UART.deinit() are available. Would anyone know how this can be?

cefn
Posts: 230
Joined: Tue Aug 09, 2016 10:58 am

Re: UART.sendbreak() and UART.deinit() not working on ESP boards

Post by cefn » Sun Feb 25, 2018 9:16 am

Have you tried simply writing a digital low to the UART TX pin for a software-controlled period and just not sending on the UART? (use of timer might be needed for precision, but using sleep would be a start). I speculate that if UART is inactive you can just take over control directly with machine.Pin#value() and get what you want.

stefanmesaros
Posts: 2
Joined: Sat Feb 24, 2018 10:18 pm

Re: UART.sendbreak() and UART.deinit() not working on ESP boards

Post by stefanmesaros » Sun Feb 25, 2018 2:26 pm

Thanks for the reply. I already tried to set the pin to digital low (permanently, not just for couple of microseconds) and it wouldn't work on either board. For some reason, it will take the code to go low without errors but then when I ask for the value, it returns 1 and I also checked it with a multimeter and it is in fact high. I even tried it on the second UART pin of the ESP32 and it does the same thing.

Post Reply