Repository navigation
Conversation
5476e30 to
8283716
Compare
|
I tried this PR on an Arduino Uno R4 WiFi (board target Test program: package main
import "time"
func main() {
for {
println("hello")
time.Sleep(time.Second)
}
}Running The pin and event numbers also match ArduinoCore-renesas 1.6.0 (P109/P110 on SCI9, ELC events 0x9E, 0xA3, 0xA8, PSEL 0x04/0x05). One issue from reading the code, which I have not tested on hardware. |
|
More testing on an Arduino Uno R4 WiFi ( Results:
Issues:
Everything else behaved correctly, including RX interrupts, recovery after an RX buffer overflow, reconfiguring, and operation alongside the scheduler and GC. |
Asynchronous mode with interrupt driven receive. The bootloader leaves SCI events linked in the ICU, so Configure unlinks them first. Arduino Uno R4 WiFi: UART1 is SCI9 (USB CDC via ESP32-S3), UART2 is SCI2 (D0/D1), UART3 is SCI1 (ESP32-S3 AT link). Arduino Uno R4 Minima: UART1 is SCI2 (D0/D1). Both targets now use UART1 as the default serial output, initialized from the runtime at startup.
8283716 to
9c8f3b0
Compare
|
I have made some changes covering the issues. I also implemented the bit rate modulator. UART2.Configure(UARTConfig{}) no longer kills UART1 on the WiFi board, 921600 passes 20/20, and lower rates keep the same N and CKS as before so no change there. Have not tested Minima, only WiFi board. |
|
Retested the updated commit (
Both issues from my earlier comment are fixed. 921600 now works (N=6, MDDR=236, about 0.03% rate error). UART1 is unaffected by a default One small point. The Minima is still untested. |
dgryski
left a comment
There was a problem hiding this comment.
LGTM. Wouldn't mind a second look from someone who deals more with hardware (e.g., @deadprogram).
Asynchronous mode with interrupt driven receive. The bootloader leaves
SCI events linked in the ICU, so Configure unlinks them first.
Arduino Uno R4 WiFi: UART1 is SCI9 (USB CDC via ESP32-S3), UART2 is
SCI2 (D0/D1), UART3 is SCI1 (ESP32-S3 AT link). Arduino Uno R4 Minima:
UART1 is SCI2 (D0/D1).
Both targets now use UART1 as the default serial output, initialized
from the runtime at startup.