For Braveheart only: Custom Firmware which enables UART6 (ESP01-S and RPi Zero)
Hi All,
I compiled my own firmware that enables the UART6 in order to use the ESP01-S or (as I do) a Raspberry pi zero W.
Attached the diff file of changes I did for any braveheart that wants doing something wrong...
edit: here the link https://drive.google.com/file/d/1Z0si_asZ3RmFuyAJANE-2SG_g1kRgSkn/view?usp=sharing as diff are not allowed
I've also enabled the skew correction as I found it useful while my frame was skewed. It is zeroed so it won't affect anything unless M852 gcode commands are sent.
I won't share my firmware.bbf as it contains many other mods that are useful only on my mini and won't work on Your, so please don't ask for it.
A couple of remarks:
- if Your mini explodes.... I'm sorry man but it's up to You, no warranty. Do it only if You have a clear idea of what You are doing.
- ESP3D works but I found it useless as the sdcard handling gcode commands are not working
- octopi18 running on raspberry pi zero takes a couple of minutes to connect from boot time, (octoprint logo appears on mini display) after that it works well.
- the code is not perfect nor optimized, it's just working but it happens sometimes that the resend counter on octoprint is not 0 (on mine I get as average 1 resent packet every 100k gcodes lines) but I can live with that.
I wired the rpi zero directly to the esp01 port on buddy board so it is powered up directly from the mini, I also tweaked the octopi in order to use the gpio uart instead of the usb uart so 4 wires and it works.
RE: For Braveheart only: Custom Firmware which enables UART6 (ESP01-S and RPi Zero)
I forgot to mention credits:
the code for proper HAL DMA interrupt taken from:
https://www.programmersought.com/article/21064906427/
the way to use usart6 in buddy firmware inspired by:
https://github.com/prusa3d/Prusa-Firmware-Buddy/pull/1246
octopi tweaks to use gpio serial port instead of USB here:
https://www.electronicwings.com/raspberry-pi/raspberry-pi-uart-communication-using-python-and-c
and
https://www.raspberrypi.org/documentation/configuration/uart.md