GNUmoon has quit [Remote host closed the connection]
GNUmoon has joined #litex
<sensille>
zyp: how do you mean? cpu time in the communcation functions?
FabM has joined #litex
FabM has quit [Changing host]
FabM has joined #litex
<zyp>
sensille, yes
<sensille>
no idea, can't be much. just building/parsing a smallish udp packet
<sensille>
one per millisecond
<zyp>
I looked at both litehm2, litex-cnc and colorcnc (I think it was called), but neither was entirely what I wanted, so I started my own approach based on a custom ethercat-like protocol where a single packet passes through a chain of devices that rewrites it
<zyp>
by making a custom fpga-based controller card that hooks up to the original power electronics
<zyp>
so I'm making custom hardware, which means I want the flexibility to handle arbitrary ADCs and similar in gateware, so the hm2 approach seems a little constraining
<zyp>
wheras colorcnc/litex-cnc is apparently based on etherbone, which seems like it'll be a performance bottleneck if you've got many signals
<_florent_>
zyp: interesting project! Feel free to share advance/progress here, I'm also interested by this :)
<_florent_>
zyp: Etherbone is indeed probably not the best for your application, it's mostly intended for MMAP.
<zyp>
I've designed it so the devices contains metadata about what signals it got, which types they have and at what offset in the data frame they're located, so I can simply just declare a few signals like this: https://paste.jvnv.net/view/Gy09s and have them show up in linuxcnc: https://bin.jvnv.net/file/WYbrd.png
<_florent_>
zyp: If you want similar latency than Ethercat, you'll indeed have to have a non-standard MAC.
<_florent_>
zyp: Another possibility if you want to reuse LiteEth could be to have a custom protocol over UDP, ex here with just raw streaming:
<zyp>
yeah, right now I'm using the standard mac, with a custom L3 handler, so each device adds latency corresponding to the preamble and L2 header, plus CDC
<sensille>
still trying to port to colorlight ... etherbone just works, but the cpu doesn't seem to run
<_florent_>
cr1901: sorry, haven't had time yet, you can open an issue
so-offish has joined #litex
<zyp>
sensille, what type of uart are you using for the bios console? have you checked it's not just waiting for uart flow control?
<zyp>
a regular hardware uart will output bytes regardless of whether anybody are listening or not, but e.g. the crossover uart will block until it's polled
cr1901 has quit [Read error: Connection reset by peer]
cr1901 has joined #litex
<cr1901>
_florent_: Ack, will do when I get the chance
<sensille>
nice. i don't use a bios, though. just a short loop that is supposed to blink the led. i guess i need to learn to simulate with litex. for some miracle that wasn't necessary yet