Elektrine lite

← Feed

@dbauer@social.caserio.de

2026-06-10 22:28 UTC

Remember: just because your logging doesn't have to be fast doesn't mean you shouldn't let it sit around BLOCKING INTERRUPTS BY CALLING HAL_UART_Transfer. Well, my printf statement informing me a new udp stream has opened was enough to drop the next couple ethernet frames. Which was subsequently logged to uart. Which caused even more packages to be dropped... Turns out: I never actually fully implemented a ring buffer. Now my _write syscall to stdout or is blazingly fast. #embedded

Replies (1)

  • @dbauer@social.caserio.de 2026-06-10 22:36

    I already suspected my hideous RMII routing on a dual-layer PCB was the issue. But that lives on another day :) In my defense: This is my first real "Highspeed" PCB featuring mixed signals and 16bit DAC output (I'm still struggling with Charge-Pump switching harmonics after fat LC's and zener diode, but that will be noted in the "Future work" section of my bachelor thesis.) Oh, and the board footprint was also set in stone.

    Open ##4979290