*** tpb has joined #tomu | 00:00 | |
*** emeb has quit IRC | 00:18 | |
*** rohitksingh has quit IRC | 02:59 | |
*** rohitksingh has joined #tomu | 03:46 | |
*** ademski has joined #tomu | 04:29 | |
*** ademski has quit IRC | 05:29 | |
*** cedric has quit IRC | 06:04 | |
*** cedric has joined #tomu | 06:08 | |
*** cedric has joined #tomu | 06:08 | |
*** rohitksingh has quit IRC | 08:25 | |
*** spacekookie has quit IRC | 09:04 | |
*** spacekookie has joined #tomu | 09:04 | |
xobs | tnt: gtkwave doesn't have the best documentation, or the best API, but I finally got it to auto-add multiple sigrok lines on init: https://github.com/xobs/spibone/blob/master/sim/gtkwave.init | 10:50 |
---|---|---|
tpb | Title: spibone/gtkwave.init at master · xobs/spibone · GitHub (at github.com) | 10:50 |
tnt | xobs: Oh, that's useful, thanks ! I had no idea that was doable ... or called Insert_Comment :) | 11:00 |
xobs | tnt: you can do Insert_Blank too (basically you can do any menu function), and it looks like you can specify arguments if it pops up a dialog box. Not documented as far as I can see. | 11:01 |
xobs | I do Insert_Comment and then use Hilight_Regexp to only pick out the signals I want. | 11:01 |
xobs | Also, it seems as though you can add the blank lines above the target. Which was a key piece of information I discovered. | 11:01 |
xobs | Also, Sigrok doesn't decode Wishbone. Which kinda makes sense since it's internal-only. | 11:04 |
MadHacker | Argh, my CDC config descriptor is > wMaxPacketSize. Suddenly everything is hard. :/ | 11:20 |
xobs | MadHacker: :( | 11:21 |
MadHacker | Just because there's no sequencing in dummyusb, so I can't easily send multiple response packets. | 11:22 |
MadHacker | Getting there otherwise. | 11:22 |
xobs | I wonder if it's possible to trim it down to fit in 64 bytes. | 11:26 |
xobs | 63 bytes, rather. | 11:27 |
MadHacker | Yeah, it's at 67, so it's frustratingly close. | 11:27 |
MadHacker | Looking about though, that seems to be the normal length for a CDC one. | 11:27 |
tnt | You can probably cheat ... | 11:27 |
tnt | since a lot of device have wrong cdc descriptors with non union descriptors and everything in a single interface, most OS have quirks to deal with those ... | 11:28 |
MadHacker | That'd be small enough. | 11:28 |
MadHacker | Or maybe send some of the descriptors undersized that end in all zeroes? Might get away with that? | 11:28 |
MadHacker | So, OS X seems to allow it if you just miss out the union. | 11:31 |
MadHacker | Good enough for me for now. :D | 11:32 |
xobs | I wonder if Windows will allow it. It's pretty strict. | 11:43 |
MadHacker | I'll try it shortly. I want to get some data flowing first; if the only problem is the descriptor stuff then I can go back to it and work out some way to trigger the 2nd packet of the descriptor send. | 11:44 |
MadHacker | I reworked dummyusb's GetDescriptor stuff a lot, so there's no len(blah)+len(blah)+... etc stuff going on. | 11:45 |
MadHacker | Bit tidier, but I want to get some basic data in and out of the CDC data endpoints before I'd share it. | 11:45 |
MadHacker | Then again, https://github.com/jamesacraig/6502-on-fomu/blob/master/fomu_usb_cdc.py - works for sending descriptors more prettily, doesn't do anything useful yet. Will do that next. | 11:59 |
tpb | Title: 6502-on-fomu/fomu_usb_cdc.py at master · jamesacraig/6502-on-fomu · GitHub (at github.com) | 11:59 |
tnt | MadHacker: how big is dummyusb + cdc btw ? | 12:00 |
MadHacker | Dunno, I haven't built the CDC bits yet. :D | 12:00 |
xobs | tnt: I know dummyusb by itself is ~680 LCs. | 12:00 |
xobs | Well, just something that enumerates and does nothing interesting. | 12:00 |
MadHacker | Info: ICESTORM_LC: 2171 | 12:01 |
MadHacker | 5280 41% | 12:01 |
MadHacker | That's my 6502 + dummyusb stuff together tho. | 12:01 |
MadHacker | So not very helpful for you. :( | 12:01 |
MadHacker | Still, that's enough to blink a LED from software, and to enumerate as a USB device. | 12:01 |
MadHacker | So, y'know, getting there. Next step, make the LED colour reflect data from USB. | 12:02 |
xobs | MadHacker: If it's helpful at all, you can use the wishbone-over-SPI module I just created to debug it. | 12:02 |
xobs | Assuming peeking and poking memory is useful to you. | 12:02 |
MadHacker | For the 6502 end? The USB side is OK, since I can use wireshark to see what it's sending/receiving reliably enough. The 6502's got a wishbone bridge but doesn't use wishbone for its own RAM/ROM. | 12:04 |
MadHacker | So I could talk to it that way, but not debug with it. | 12:04 |
MadHacker | (The 6502's only got 64KB of address space, and litex seemed to want lots for CSRs; also, the cycles really don't fit well with the 6502's "the bus is always busy" approach) | 12:05 |
xobs | Well, you could always expose various signals onto Wishbone and poke at them taht way. | 12:05 |
MadHacker | Yep. | 12:05 |
MadHacker | I did put together a bridge, so in theory I could dump a little shared memory between the two and have your wishbone-over-SPI thing read/write from it. | 12:05 |
xobs | MadHacker: I do like how you've reorganized the dummyusb stuff. | 12:30 |
MadHacker | Thanks. Still working away on that. I want to get it neater again, but it's a start. Turning it into a declaration at the top and then a Case generator seems much easier to maintain, if nothing else. | 12:54 |
*** im-tomu has quit IRC | 12:59 | |
*** im-tomu has joined #tomu | 13:11 | |
MadHacker | OK, I'm restarting (somewhat), albeit with a lot of cut and paste. epfifo is probably closer to what I want - minus the wishbone bits - but a pseudo-FIFO that implements the setup packet stuff cut-and-paste from dummyusb seems a better way to go. | 14:12 |
MadHacker | That way I get FIFOs already handled for the CDC bits, and I get the descriptors and setup stuff managed in gateware. | 14:12 |
xobs | MadHacker: I'm in the middle of a rewrite (hence the SPI bridge) that has three FIFOs at https://github.com/xobs/valentyusb/tree/tri-fifo | 14:15 |
tpb | Title: GitHub - xobs/valentyusb at tri-fifo (at github.com) | 14:15 |
xobs | One for the SETUP endpoint, one for IN, and one for OUT. I still don't have it working, but I'm at the point where I'd like to be able to debug it on-device. | 14:16 |
MadHacker | Hm. OK. I'm liking epfifo's initialiser side for the "just tell me what EPs you want" list approach. I just want a setup endpoint to be able to live in the gateware. | 14:18 |
MadHacker | The assumption of wishbone is a bit of an obstacle for me, but I feel that epfifo's maybe a cleaner model than dummyusb to extend. | 14:19 |
*** NoGodDamnIdea has joined #tomu | 15:52 | |
xobs | MadHacker: You sure you don't want to get dummyusb working? | 16:28 |
xobs | For input, you ought to be able to just add into a FIFO if usbcore.endp == 2 and usbcore.pid == PID.IN and fifo.empty == 1. | 16:30 |
*** rohitksingh has joined #tomu | 16:39 | |
*** emeb has joined #tomu | 17:07 | |
*** rohitksingh has quit IRC | 18:19 | |
*** rohitksingh has joined #tomu | 18:21 | |
*** rohitksingh has quit IRC | 19:00 | |
*** rohitksingh has joined #tomu | 19:00 | |
*** ademski has joined #tomu | 20:02 | |
* Xark finds that FOMU development has some unique challenges. This is the first time he has had to crawl around on the floor under his desk to find an FPGA dev board. :D | 20:06 | |
Xark | It is cool that the whole FOMU seems toolchain works under ChromeOS Linux prompt - including device programming with dfu-util (however still need to use Chrome browser for serial port terminal access). | 20:09 |
Xark | er, whole FOMU toolchain seems to work... | 20:09 |
*** emeb has quit IRC | 20:30 | |
*** emeb has joined #tomu | 20:33 | |
*** js`xmpp has joined #tomu | 20:59 | |
*** NoGodDamnIdea has quit IRC | 21:16 | |
*** rohitksingh has quit IRC | 21:24 | |
*** xkapastel has joined #tomu | 21:29 | |
*** rohitksingh has joined #tomu | 22:10 | |
*** emeb has quit IRC | 22:46 | |
*** rohitksingh has quit IRC | 23:40 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!