Guild icon
wafer.space Community
Information / fomu
Channel for the FPGA Tomu aka Fomu (https://fomu.im).
Between 2025-12-31 11:59 p.m. and 2026-02-01 12:00 a.m.
Avatar
Tim 'mithro' Ansell 2026-01-19 3:29 a.m.
@Xobs - FYI
👍 2
Avatar
MicroPython v1.10-308-g421dcd2 on 2020-01-03; fomu with vexriscv
3:21 p.m.
this is from fomu-workshop tar or something I have from years ago
3:23 p.m.
if I am runing some py code, and then ^c, it stops but I don't get KeyboardInterrupt like I do on uP on Pico
3:24 p.m.
really I want to know where uP print('foo') data is buffered
3:24 p.m.
dal - data aquision loger . Contribute to CarlFK/dolly development by creating an account on GitHub.
3:25 p.m.
but s.reset_input_buffer() doesn't seem to do much as the next while loop spits out a bunch of lines
3:26 p.m.
if I put a sleep(.5), then s.reset_input_buffer() seems to work.
3:27 p.m.
so I'm guessing I need to wait for the print() data to get into the buffer that cP can reset_, but I'm wonderin where it is pooling up
Avatar
If you can find the source for the build, you'll probably want to look in ports/<whatever it's called>/uart_core.c (edited)
3:31 p.m.
Ctrl-C handling is port specific, as it requires the uart driver to be able to flag a Ctrl-C character has been seen before uP has processed the buffer
4:26 p.m.
I can't find the uP fomu port
4:27 p.m.
The Micro Python project. Contribute to im-tomu/micropython development by creating an account on GitHub.
Avatar
// Send string of given length void mp_hal_stdout_tx_strn(const char *str, mp_uint_t len) { https://github.com/im-tomu/micropython/blob/fomu/ports/fomu/src/uart-core.c
The Micro Python project. Contribute to im-tomu/micropython development by creating an account on GitHub.
4:50 p.m.
is this how uP print() gets sent up the usb serial ?
4:50 p.m.
I'm still curious where stuff is buffered
Avatar
Yes, that's how the output gets to the serial, I don't think there's any other buffering. That function just loops until it's managed to give all the characters to usb_write, and it is called directly from mp_print_* functions (via the MP_PLAT_PRINT_STRN macro).
Avatar
Somewhere is a 256 byte buffer, and then I think a 2nd larger one. which may be on the Linux/host and then cPython
6:39 p.m.
cPython/linux I open the connection, serial.in_waiting shows 0, sleep .1' in_waiting is either 256 or 294 (256 + len(one line of data)
Avatar
Tim 'mithro' Ansell 2026-01-26 9:12 p.m.
@carlfk - It would be awesome to update micropython on the Fomu....
9:12 p.m.
@jimmo might be able to help with that....
9:12 p.m.
@carlfk - I also found a couple more of the EVT Pi hat boards. I'd love to get them onto https://fpgas.online and convince people to play with them...
Avatar
Avatar
Tim 'mithro' Ansell
@carlfk - I also found a couple more of the EVT Pi hat boards. I'd love to get them onto https://fpgas.online and convince people to play with them...
what is a EVT Pi hat board ?
Avatar
Tim 'mithro' Ansell 2026-01-26 9:20 p.m.
That blue RPi Hat board which has the same hardware in an easier to look at form factor
Avatar
ah - fomu
Avatar
Avatar
carlfk
Somewhere is a 256 byte buffer, and then I think a 2nd larger one. which may be on the Linux/host and then cPython
it looks like fomu does some buffering on the usb endpoint too? (i.e. in usb_write - as far as i can tell multiple calls can be coalesced into one endpoint transmission, as opposed to usb_send)
Avatar
Tim 'mithro' Ansell 2026-01-26 9:31 p.m.
@Xobs might be able to explain how the USB core works more....
9:32 p.m.
The "eptri" is a keyword there
Avatar
Tim 'mithro' Ansell 2026-01-27 1:30 a.m.
UncleStem just built a massive, fully functional Arduino UNO that is scaled up seven times its original size.
😆 2
Avatar
The canonical documentation for eptri is what's generated by lxsocdoc: https://rm.fomu.im/usb.html
Avatar
Avatar
Tim 'mithro' Ansell
@carlfk - maybe we should do a Fomu like this -> https://www.hackster.io/news/the-arduino-uno-now-in-extra-large-7a15236d9e8a
A hilariously oversized but fully functional Raspberry Pi Pico 2 for demos, japes and shenanigans.
Exported 33 message(s)
Timezone: UTC+0