*** tpb has joined #tomu | 00:00 | |
*** rohitksingh has quit IRC | 00:10 | |
*** emeb has quit IRC | 00:26 | |
*** mneasi has quit IRC | 01:14 | |
*** rohitksingh has joined #tomu | 01:45 | |
*** cedric has quit IRC | 01:47 | |
*** cedric has joined #tomu | 01:48 | |
*** cedric has joined #tomu | 01:48 | |
*** asante has quit IRC | 02:31 | |
*** asante has joined #tomu | 02:37 | |
*** asante has joined #tomu | 02:37 | |
*** nrossi has joined #tomu | 03:49 | |
*** siddacious has quit IRC | 04:34 | |
*** pollo has quit IRC | 04:43 | |
*** siddacious has joined #tomu | 05:01 | |
*** mneasi has joined #tomu | 05:08 | |
*** pollo has joined #tomu | 05:11 | |
*** mneasi has quit IRC | 05:13 | |
*** mneasi has joined #tomu | 05:25 | |
*** mneasi has quit IRC | 05:33 | |
*** CarlFK has quit IRC | 07:09 | |
*** cdmatter has quit IRC | 08:03 | |
*** cdmatter has joined #tomu | 08:03 | |
*** cedric has quit IRC | 08:33 | |
*** cedric has joined #tomu | 08:34 | |
*** cedric has joined #tomu | 08:34 | |
*** im-tomu has left #tomu | 08:42 | |
*** im-tomu has joined #tomu | 08:42 | |
*** im-tomu has left #tomu | 08:44 | |
*** im-tomu has joined #tomu | 08:44 | |
*** cedric has quit IRC | 09:21 | |
*** cedric has joined #tomu | 09:24 | |
*** cedric has joined #tomu | 09:24 | |
Vercas | My Fomu finally arrived. | 10:00 |
---|---|---|
Vercas | 'Tis a day to celebrate. | 10:00 |
Vercas | Sooooooooo small question. | 10:00 |
Vercas | https://github.com/im-tomu/fomu-toolchain/releases | 10:00 |
tpb | Title: Releases · im-tomu/fomu-toolchain · GitHub (at github.com) | 10:01 |
Vercas | Where does the source for these come from? | 10:01 |
Vercas | I'd like to build the toolchain for ARM. | 10:01 |
xobs | Vercas: Hooray! | 10:01 |
Vercas | :D | 10:01 |
xobs | It comes from a variety of sources. https://github.com/xobs/toolchain-nextpnr-ice40 and https://github.com/xobs/toolchain-nextpnr-ice40 being the two big ones. The riscv stuff comes straight from sifive. | 10:02 |
tpb | Title: GitHub - xobs/toolchain-nextpnr-ice40: Prebuilt nextpnr-ice40 toolchain (at github.com) | 10:02 |
Vercas | That's the same link, heh. | 10:02 |
xobs | Oops. The last one should be toolchain-icestorm | 10:03 |
xobs | I also have information on how to make Raspbian packages at https://github.com/im-tomu/fomu-pi-gen#making-packages | 10:03 |
tpb | Title: GitHub - im-tomu/fomu-pi-gen: A fork of pi-gen for creating Fomu images (at github.com) | 10:03 |
Vercas | Aha. :) | 10:03 |
xobs | And there's a repo at https://github.com/im-tomu/fomu-raspbian-packages -- but I suspect the deps there are wrong or incorrect :-/ | 10:03 |
tpb | Title: GitHub - im-tomu/fomu-raspbian-packages: Repository for Raspberry Pi packages (at github.com) | 10:03 |
Vercas | My goal is to run the toolchain on my Pinebook Pro. | 10:04 |
Vercas | Ow, you have ARM packages in the repo. :o | 10:05 |
Vercas | Will try those tonight. | 10:05 |
*** siddacious has quit IRC | 10:06 | |
xobs | You may need to manually install the correct version of Python. But see how it goes! | 10:06 |
Vercas | Can't be that hard, eh? | 10:06 |
xobs | Yeah. How hard could it be! | 10:07 |
Vercas | Do you happen to have a tutorial like... Fomu programming for dummies? | 10:08 |
Vercas | The bits I'm especially interested in are bitfile loading. | 10:08 |
xobs | Have you seen the workshop at https://workshop.fomu.im/? | 10:08 |
tpb | Title: fomu-workshop | Support files for participating in a Fomu workshop (at workshop.fomu.im) | 10:08 |
Vercas | And how to make sure I don't brick the Fomu forever. | 10:09 |
Vercas | I have not seen that. Checking it out. | 10:09 |
xobs | Generally, unplugging it and plugging it back in resets it. The only exception to that rule is a firmware update. | 10:09 |
Vercas | So the bitfile isn't uploaded straight into flash? | 10:10 |
xobs | It is, but it's uploaded at an offset 262144 bytes from the start. Offset 0 is never touched. | 10:10 |
Vercas | I see. | 10:12 |
Vercas | I suppose there is a way to make it autoload a bitfile on boot? | 10:12 |
Vercas | And a way to reset it without having to unplug it and plug it back in? :o | 10:13 |
Vercas | I suppose cutting off power from the USB port is an option. | 10:13 |
xobs | Not yet on the autoboot. That's a tricky question, and I'm taking suggestions. There's no good way to pass information from the program back to the bootloader. | 10:14 |
xobs | There's a line mentioned in passing in https://workshop.fomu.im/ -- look for the magic "0xac". But of course if you load your own bitstream then you might not even have USB support, so you won't be able to access it from the host machine. | 10:14 |
tpb | Title: fomu-workshop | Support files for participating in a Fomu workshop (at workshop.fomu.im) | 10:14 |
Vercas | Hmmmm. | 10:15 |
Vercas | I cannot think of a pertinent way to autoload bitfiles while also allowing a fallback to the bootloader. | 10:17 |
xobs | I had the silly idea of checking the "WE" bit in the SPI flash -- if foboot starts up and WE is 1, then don't auto-boot. That just seems like a bad idea though. | 10:18 |
*** rohitksingh has quit IRC | 10:19 | |
*** rohitksingh has joined #tomu | 10:21 | |
Vercas | Here is another silly idea. Put a photoresistor and check if it's picking up the RGB LED or something like that. :) | 10:22 |
Vercas | But that requires hardware modification so it's not a real solution. | 10:22 |
Vercas | The idea being that we can obstruct the LED or the resistor to cause it to run the bootloader instead. | 10:23 |
xobs | That's a clever idea! | 10:23 |
xobs | The PCB is super full right now, though. I'm happy I managed to fit ESD diodes on there at least. | 10:24 |
Vercas | I can imagine. I really want to go to our hardware team and show off the Fomu but I don't have the balls. | 10:24 |
Vercas | In all fairness, though, our boards are also packed full. On two sides. | 10:26 |
*** rohitksingh_ has joined #tomu | 10:26 | |
*** rohitksingh has quit IRC | 10:27 | |
MadHacker | Want a slight tweak on that idea? | 10:33 |
MadHacker | LEDs are photoresistors. | 10:33 |
MadHacker | (Well, weird crappy photodiodes) | 10:33 |
MadHacker | You can use the same sort of code that'd normally run for cap touch to measure light falling on an LED. | 10:33 |
MadHacker | 10:13 < xobs> Not yet on the autoboot. That's a tricky question, and I'm taking suggestions. There's no good way to pass information from the program back to the bootloader. <-- the flash? | 10:34 |
Vercas | Well, to the best of my knowledge, that will not work with an RGB LED very well. | 10:35 |
MadHacker | Vercas: It works but the colours don't separate well. | 10:35 |
Vercas | Unless it's literally three LEDs with their own separate wiring. | 10:35 |
MadHacker | They are. | 10:35 |
Vercas | Oh? | 10:35 |
MadHacker | (in general; not talking about fomu, will check) | 10:35 |
MadHacker | Yep, they are. | 10:36 |
Vercas | Oh, neat. | 10:36 |
MadHacker | I forgot, they're run off the FPGA LED driver pins. | 10:36 |
MadHacker | ice40UP has some dedicated LED drive hardware. | 10:36 |
Vercas | Then we can just shine a laser onto it or something? | 10:36 |
MadHacker | Sure. | 10:36 |
Vercas | Ow, *that* hardware though might not be ideal for running the LEDs in reverse. | 10:37 |
MadHacker | I mean, have to try it out to see if the signal level is adequate, but in principle something ought to be feasible. | 10:37 |
MadHacker | Don't know if the pins are THAT dedicated - think they still have the normal input structures? | 10:37 |
Vercas | I have a green laser powerful enough to blind my eyeballs from a kilometer away... | 10:38 |
MadHacker | Join the club. :D | 10:38 |
Vercas | It's one of those flashlight-like lasers that have a variac inside that you can use to pimp up the diode. | 10:39 |
MadHacker | Seriously though, a 1s delay on insert before autoboot while it looks for a particular trigger on USB might be viable. Double-reset on USB isn't such a huge problem. | 10:39 |
MadHacker | Lots of devices have startup sequences like that anyway, where they pull their firmware from the OS driver and then reset themselves. | 10:39 |
Vercas | Double reset can happen outside of user control, though. | 10:39 |
Vercas | Not USB devices, please don't do that with USB... | 10:40 |
MadHacker | No, I mean device boots to bootloader, waits a second listening for a reprogramming tool, if it doesn't get it, resets USB and autoboots your bitfile. | 10:40 |
MadHacker | And yes, that absolutely happens with USB. It's even common. | 10:40 |
Vercas | Seriously please don't. I've lost nights of sleep due to devices that try to do clever shit like this. e.g. iPhones, Android phones... | 10:40 |
* MadHacker shrugs. If you want autoboot and unbrickability without extra hardware, you need some compromise somewhere. | 10:41 | |
Vercas | It's all nice and dandy until you need to pass through the device to a VM or something like that. | 10:41 |
Vercas | Or you need to write a userland driver. | 10:41 |
Vercas | Bricked my iPhone because of this nonsense. | 10:42 |
Vercas | iTunes doesn't run on Linux. | 10:43 |
Vercas | So naturally I tried a Windows VM. And failed. | 10:43 |
Vercas | Ended up digging through my piles of electronics to find a Windows laptop. | 10:43 |
Vercas | Qemu USB passthrough doesn't do hotplug shenanigans so I had to race against the timeouts in iTunes when updating iOS. | 10:44 |
Vercas | They're too short, though. | 10:45 |
xobs | Aww. | 10:52 |
xobs | The first version of foboot didn't handle USB reset correctly, so it doesn't play well with vms. That got fixed. | 10:53 |
*** xkapastel has joined #tomu | 12:13 | |
*** mifune has quit IRC | 13:30 | |
*** mifune has joined #tomu | 13:31 | |
ovf | would shorting the cap touch pads together work as a makeshift button? i.e. i recall on espruino pico the official way to boot into the bootloader (opposite of what one would want on a fomu) is to draw with a pencil over two nearby pads | 13:35 |
MadHacker | Yep. TBH could do cap touch properly. One of the basic problems is though that you're going to be touching them when you plug it in *anyway*. | 13:39 |
MadHacker | I guess you could tell the difference between a finger and a dead short though. | 13:40 |
MadHacker | A counter and a delay could work. Make the bootloader wait a second and decrement a counter each time it power cycles. If the counter hits zero, don't autoboot. The application would reset the counter to, say, 5, on each run. | 13:41 |
MadHacker | So if you want to go into bootloader, plug+unplug 5 times quickly, but the "normal" behaviour is just a slightly slow-to-start autoboot. | 13:42 |
MadHacker | Heck, reset on hitting the 1 second timeout not in the app, save the app needing flash code. | 13:43 |
MadHacker | So it'd be decrement and check, wait 1s, reset counter, autoboot. | 13:43 |
MadHacker | Bit hard on the flash maybe. | 13:46 |
ovf | also, fomu doesn't support sram programming, correct? so the shortest fpga test cycle is to unplug,replug,flash,run the payload? | 13:47 |
MadHacker | You could soft-reset the port potentially, but that sounds right. | 13:47 |
ovf | any dibs on whether (a) host usb port, (b) fomu usb connector, (c) fomu flash gives in first? :-) | 13:49 |
MadHacker | Maybe the gold plating on the fomu. | 13:49 |
MadHacker | The springs in the host port are fairly thick. I imagine they can take a good number of insert cycles. | 13:49 |
MadHacker | Flash endurance on the part used is apparently 100,000. | 13:50 |
MadHacker | Hm. USB-A is 1500 cycles just. | 13:51 |
MadHacker | Mini-, Micro-, and -C are all higher. | 13:51 |
ovf | maybe i should start simulating my designs... :-) | 13:56 |
MadHacker | Find how to power-off the port in your hub. | 13:57 |
MadHacker | Or else use a cheap hub as a wearout-proofing device. :) | 13:57 |
*** rohitksingh_ has quit IRC | 14:00 | |
*** mneasi has joined #tomu | 15:01 | |
*** mneasi has quit IRC | 15:05 | |
*** mneasi has joined #tomu | 15:13 | |
*** mneasi has quit IRC | 15:18 | |
*** CarlFK has joined #tomu | 15:28 | |
*** cdmatter has quit IRC | 15:31 | |
*** cdmatter has joined #tomu | 15:31 | |
*** xkapastel has quit IRC | 16:02 | |
*** rohitksingh has joined #tomu | 16:06 | |
*** rohitksingh has quit IRC | 16:14 | |
*** emeb has joined #tomu | 16:17 | |
*** cedric has quit IRC | 16:50 | |
*** cedric has joined #tomu | 16:53 | |
*** cedric has joined #tomu | 16:53 | |
*** mneasi has joined #tomu | 16:59 | |
*** CarlFK has quit IRC | 16:59 | |
TomKeddie | ovf: my usb isolator has a disconnect button, I'll send you a pcb free if you'd like. BOM is about $US10. https://github.com/TomKeddie/prj-usb-isolator/tree/master/v2 | 17:18 |
tpb | Title: prj-usb-isolator/v2 at master · TomKeddie/prj-usb-isolator · GitHub (at github.com) | 17:18 |
TomKeddie | It's an old design so the files are eagle unfortunately. | 17:19 |
*** sadfasdfsafdsafd has joined #tomu | 18:11 | |
sadfasdfsafdsafd | anyway to list all importable modules? | 18:11 |
sadfasdfsafdsafd | people talk about help('modules') but there is no module help | 18:11 |
sadfasdfsafdsafd | NameError: name 'help' isn't defined | 18:12 |
*** sadfasdfsafdsafd has quit IRC | 18:25 | |
*** CarlFK has joined #tomu | 18:45 | |
mithro | ovf: FPGA config SRAM you mean? | 18:53 |
*** CarlFK has quit IRC | 19:14 | |
*** CarlFK has joined #tomu | 19:15 | |
*** CarlFK has left #tomu | 19:17 | |
*** CarlFK has joined #tomu | 19:19 | |
ovf | TomKeddie: thanks! so far it looks like i can ask linux to power cycle the (internal) usb hub, which works well (or too well -- laptop's internal keyboard is apparently on the same hub as everything else), so i'll try sticking to this for now | 19:53 |
ovf | mithro: i meant that, but then i realised i have no idea how that's going to work on fomu. | 19:54 |
*** jimt[m] has quit IRC | 20:27 | |
*** nrossi has quit IRC | 20:44 | |
*** mneasi has quit IRC | 20:45 | |
*** mneasi has joined #tomu | 20:46 | |
*** mneasi has quit IRC | 20:50 | |
*** mneasi has joined #tomu | 21:00 | |
*** mneasi has quit IRC | 21:04 | |
*** mneasi has joined #tomu | 21:04 | |
*** ppisati_ has joined #tomu | 21:10 | |
*** buZz_ has joined #tomu | 21:10 | |
*** buZz_ has quit IRC | 21:10 | |
*** buZz_ has joined #tomu | 21:10 | |
*** techman83 has quit IRC | 21:12 | |
*** ppisati has quit IRC | 21:12 | |
*** buZz has quit IRC | 21:12 | |
*** turq has quit IRC | 21:12 | |
*** techman83 has joined #tomu | 21:13 | |
*** turq has joined #tomu | 21:17 | |
*** xkapastel has joined #tomu | 21:19 | |
*** mneasi has quit IRC | 21:19 | |
*** mneasi has joined #tomu | 21:48 | |
*** ChanServ sets mode: +o mithro | 21:50 | |
*** ChanServ has joined #tomu | 21:50 | |
*** services. sets mode: +o ChanServ | 21:50 | |
*** daveshah has joined #tomu | 21:56 | |
*** testing has joined #tomu | 21:56 | |
*** testing has quit IRC | 21:56 | |
mithro | #fomu, ##tomu and ##fomu redirect to this channel now | 21:57 |
*** ssb has quit IRC | 22:22 | |
*** ssb has joined #tomu | 22:22 | |
*** rohitksingh has joined #tomu | 22:23 | |
*** CarlFK has quit IRC | 22:29 | |
*** AnimaInvicta has joined #tomu | 22:49 | |
*** buZz_ is now known as buZz | 23:13 | |
*** AnimaInvicta has left #tomu | 23:16 | |
*** mneasi has quit IRC | 23:28 | |
*** Toba has joined #tomu | 23:33 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!