Wednesday, 2017-02-15

*** tpb has joined #upy-fpga00:00
mithrokatharos: sooo, that code :-P I'm really interested to see the solution you ended up using00:49
*** stewart has joined #upy-fpga01:09
mithroHi stewart!01:12
mithrostewart: I see your MimasV2 turned up and you got J-Core running on it?01:13
stewartmithro: I did!01:19
stewartmithro: and i did so while having an epic cold/flu01:19
stewartusing a serial port was.... hard01:19
stewart(which is something I do every day :)01:19
mithroYeah - in your notes you where using 115200? However I was pretty sure the PIC UART was hard coded to something like 19200?01:22
stewartmithro: yeah... that's what they said on at least... and it did work01:25
mithrostewart: interesting...01:29
mithroshenki / katharos: Do you want to see if you can get the uart working at 115200? It would be good to speed up serial firmware downloads :-P01:29
stewartmithro: I should probably submit a patch to systemd/udev to add it to the list of boards that shouldn't be probed by ModemMangler01:31
mithrostewart: Should probably blacklist everything by Numato - they don't make modems01:31
mithrostewart: Our udev rule is at
tpbTitle: HDMI2USB-mode-switch/99-mimasv2-blacklist.rules at master · timvideos/HDMI2USB-mode-switch · GitHub (at
mithroLooks like micropython has a framebuffer module -
tpbTitle: micropython/modframebuf.c at master · micropython/micropython · GitHub (at
katharosmithro: Lemme get the easy thing working before I try the hard thing. Also seven seg displays are fun.02:22
katharosI'll send you the code later tonight02:22
katharosI'll send a pull request once I've cleaned it up a bit and moved it to a separate module.02:24
mithroOh, I was happy to look at the half finished stuff02:26
mithro(IE just push to github and link me would be fine)02:26
tpbTitle: Snippet | IRCCloud (at
katharosThat's pretty much it.  Keen to hear ways to make it cleaner or less verbose02:29
katharosor better.02:30
katharosFor example, it uses 2 bits to select one of the 3 sevenseg displays so it goes blank 1/4 of the time which shouldn't be necessary02:30
katharosThere's also a tiny amount of ghosting - i.e. segments showing up faintly on the wrong display02:31
*** upy-fpga-bridge has quit IRC03:15
mithrokatharos: You should be able to just go If(selector == 0, xxx).ElIf(selector == 1, xxx).Elif(selector == 2, xxx)03:23
mithrokatharos: You could also use a binary decoder (there is an built in one, but it might be worth writing your own to give it a go) to do the number -> individual pin conversion bit03:26
katharosAh I didn't know you could use binary operators in the ifs03:27
mithrokatharos: Otherwise, looks very similar to how I think Jim and myself did it03:27
mithrokatharos: The stuff you can use is pretty limited, but things like number equality works IIRC03:28
mithrokatharos: I think the fact you have to individually assign each of the segment parts means we probably should change the way the segments are defined in the platform file03:30
mithroIt's be nice to do sevenseg.segment.digits.eq(segvalue[selector][0]) - or something like that03:30
katharosYeah, that seemed like a limitation in the sevenseg definition03:31
mithroYou should poke jimbo to join this IRC channel and to dig up the stuff we did on his board03:32
mithrokatharos: You can refactor this to use a python loop to do deal with arbitrary number of segments - see the file for something along those lines03:34
mithroWhich is one of the nice things about migen/litex stuff03:35
katharosah yeah, I didn't think of that. I'd still have to put all the segment pin names into a list, but that'd be cleaner03:35
mithrokatharos: But really great to see you making progress03:36
mithrokatharos: Don't be afraid to modify the platform or other files either, there is probably a whole lot which doesn't make that much sense :-)03:37
katharosHehe, if it doesn't make sense to me I'm unlikely to want to modify it03:38
*** upy-fpga-bridge has joined #upy-fpga05:07

Generated by 2.13.1 by Marius Gedminas - find it at!