Monday, 2015-09-21

*** tpb has joined #timvideos00:00
*** rohitksingh has joined #timvideos04:27
mithroCarlFK: pong - I replied to your email05:28
CarlFKmithro: thanks05:32
CarlFKmithro: "Flash the firmware onto the Atlys board"  I am liking that05:32
mithroCarlFK: I actually spent the weekend working on your problem05:32
CarlFKlol05:32
CarlFKthank you.05:32
mithroCarlFK: The problem is that nobody has done "Flash the firmware onto the Atlys board" bit before05:32
CarlFKoh.05:33
CarlFKok, lets skip that05:33
mithroCarlFK: In theory it should be 3 commands to get that working05:33
mithroCarlFK: but nobody has tested it05:33
mithroCarlFK: the find_board.py program I was working on over the weekend scans your system for a Atlys (or Opsis) board in any "state" and then should eventually help you get it into the state you want.05:37
CarlFKmithro: that sounds like what I want05:37
CarlFKmithro: at ps1 when experimenting around with Jay's chromebook, at least once I power cycled the Atlys, then spent what seemed like a min or two getting it back up05:38
mithroCarlFK: If you know you always want the device in a certain configuration, then udev rules are much easier than this script05:38
CarlFKI am hoping that can be cut down to under 30 seconds05:38
mithroCarlFK: because a udev rule is effectively "when device of type X is plugged in, run command Y"05:39
mithroSo you end up with 3 udev rules05:39
mithro(a) When Atlys is plugged in, upload the programming firmware05:40
mithro(b) When programming firmware is found, program the device05:40
mithro(c) When programmed device is found, upload the final .hex file05:40
CarlFKmithro: would't that be the same as:  power cycld Atlys, run script that does all 3?05:41
mithroCarlFK: no - because you have to write the machinery which does the "detect the programming has finished" and "wait for the device to come back" and then "figure out where the hell linux put it" stuff05:42
CarlFKah I think I understand05:43
mithroWhere as udev does all that auto-magically for you05:43
CarlFKso udev takes care of the timing and some ID's get passed in05:43
mithroCarlFK: yeah05:44
mithroCarlFK: so - I think the first step is getting flcli onto your machines05:45
CarlFKmithro: where/what is flcli?05:53
mithrohttps://github.com/makestuff/flcli05:54
tpbTitle: makestuff/flcli · GitHub (at github.com)05:54
mithroCarlFK: you want the first half of https://gist.github.com/makestuff/7486988 I think05:54
tpbTitle: Build FPGALink and the cksum VHDL example, and use flcli to write data to an Atlys board, and then read data back from it. · GitHub (at gist.github.com)05:54
CarlFKmithro: I have pealed that apart.. just a sec...05:55
mithroThis part05:55
mithrohttps://www.irccloud.com/pastebin/pCP3SrBJ/05:55
tpbTitle: Pastebin | IRCCloud (at www.irccloud.com)05:55
CarlFKmithro: any idea why that release?  there are 2 more recent ones:  https://github.com/makestuff/flcli/releases06:00
tpbTitle: Releases · makestuff/flcli · GitHub (at github.com)06:00
mithroCarlFK: get the latest release06:01
mithroI just googled flcli and clicked the first link :P06:01
CarlFKwget -qO- http://tiny.cc/msbil ... ../scripts/msget.sh makestuff/flcli   <- very convoluted way of making some dirs and doing some git clone06:02
mithroCarlFK: I was trying to see if there is a way to compile flcli as a static brinary06:02
mithroCarlFK: it pulls dependencies06:03
CarlFKmithro: I think it is just:06:03
CarlFKgit clone https://github.com/makestuff/common.git06:03
CarlFKmkdir apps; cd apps06:03
tpbTitle: makestuff/common · GitHub (at github.com)06:03
CarlFKgit clone https://github.com/makestuff/flcli.git06:03
CarlFKgit clone https://github.com/makestuff/fx2loader.git06:03
tpbTitle: makestuff/flcli · GitHub (at github.com)06:03
tpbTitle: makestuff/fx2loader · GitHub (at github.com)06:03
CarlFK(and a few more empty dirs that the tar file create)06:04
mithroUsing the upstream tar will continue to work as he moves things around06:04
CarlFKbleck - pull a copy local and get tumbleweed to package it :D06:05
mithroCarlFK: I've been trying to convince someone to package makestuff things for a while06:09
CarlFKmithro: looks like I got it to build:06:16
CarlFK[email protected]:~/temp/apps/flcli$ ./lin.x64/rel/flcli -h06:16
CarlFKFPGALink Command-Line Interface Copyright (C) 2012-2014 Chris McClelland06:16
mithroCarlFK: great!06:17
CarlFKsec... let me confirm06:17
mithroSUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="YYYY", RUN+="ZZZZ"06:18
*** rohitksingh has quit IRC06:18
mithroCarlFK: on a machine which has the complete toolchain on it06:20
CarlFKmithro: do we need fx2loader too?06:20
mithroCarlFK: do a "make gateware; PROG=fpgalink make load-gateware; make fx2-firmware"06:20
mithroCarlFK: the make load-gateware command will fail if you don't have an Atlys plugged in - but it should still generate the xsvf file you need06:21
mithroCarlFK: hrm - actually - flcli might already have the logic for waiting in it....06:25
*** travis-ci has joined #timvideos06:29
travis-ci[timvideos/HDMI2USB-misoc-firmware/flterm-fix#161] (61ccda0): The build passed. (https://travis-ci.org/timvideos/HDMI2USB-misoc-firmware/builds/81333351)06:29
*** travis-ci has left #timvideos06:29
CarlFKmithro: somewhere in make deps it does:06:29
CarlFKwget -qO libargtable2.tgz --no-check-certificate https://github.com/makestuff/libargtable2/archive/dev.tar.gz06:29
CarlFKwget -O argtable2.tgz http://downloads.sourceforge.net/project/argtable/argtable/argtable-2.13/argtable2-13.tar.gz06:29
tpbTitle: Download argtable from SourceForge.net (at downloads.sourceforge.net)06:29
CarlFKmithro: when you say "compile flcli as a static brinary" do you mean no shared object files?06:36
mithroYeah06:36
CarlFKk - I didn't do that.  [email protected]:~/makestuff/apps/flcli/lin.x64/rel$ ls06:36
CarlFKflcli            libbuffer.so  libfpgalink.so   libs.txt libargtable2.so  liberror.so   libfx2loader.so  libusbwrap.so06:36
mithroCarlFK: yeah - I don't know how to do that06:37
mithrohttps://www.irccloud.com/pastebin/KRBXScIG/06:37
tpbTitle: Pastebin | IRCCloud (at www.irccloud.com)06:37
mithroCarlFK: that script works for me locally06:37
shenkio/06:38
CarlFKmithro: here is my clone and build script: http://paste.ubuntu.com/12512720/06:38
tpbTitle: Ubuntu Pastebin (at paste.ubuntu.com)06:38
mithroCarlFK: okay06:39
mithroCarlFK: well you need to get the .xsvf and the .hex file from somewhere too06:39
mithrohey shenki06:39
shenkimithro: we were talking about a kernel port last night06:40
CarlFKmithro: I was just simplifying the convoluted wget tar thing06:40
shenkimithro: what was the architecture?06:40
mithroshenki: yes - lm32 is the architecture - take a look at https://wiki.debian.org/HelmutGrohne/rebootstrap and read the lm32 section06:41
tpbTitle: HelmutGrohne/rebootstrap - Debian Wiki (at wiki.debian.org)06:41
mithroshenki: the other architecture we could support is or1k06:41
mithroshenki: see the or1k of the above thing too06:41
mithroshenki: does that help?06:43
shenkimithro: yeah, that jogged the memory06:44
shenkimithro: reading up on the mmu06:44
CarlFKmithro: looks like those three flcli commands.. except I need to enable the encoder cuz it isn't the default06:54
CarlFK^^^ 3 commands worked06:55
shenkimithro:07:24
shenki$ make make lm32-firmware make load-lm32-firmware make fx2-firmware make load-fx2-firmware make view07:24
shenkiLONELY BOY07:24
shenkierr07:24
shenki$ make lm32-firmware07:24
shenkicd build/misoc && python3 make.py -X ../.. -t atlys_hdmi2usb -Ot firmware_filename ../../firmware/lm32/firmware.bin -Op programmer impact  build-headers07:24
shenki/bin/bash: line 0: cd: build/misoc: No such file or directory07:24
shenkiMakefile.hdmi2usb:22: recipe for target 'lm32-firmware' failed07:24
shenkimake: *** [lm32-firmware] Error 107:24
shenkimithro: did i miss a step?07:24
mithroshenki: that looks like you didn't do a get-env.sh correctly07:33
shenkimithro: ok07:38
mithroshenki: get-env should have downloaded build/misoc08:15
*** wanig has quit IRC10:04
*** wanig has joined #timvideos10:04
mithroshenki: did you fix it?12:05
mithroCan everyone sign up and skull / like / etc https://hackaday.io/project/7772-numato-opsis-fpga-based-open-video-platform ?14:08
tpbTitle: Numato Opsis: FPGA-based open video platform Hackaday.io (at hackaday.io)14:08
CarlFKmithro: if you are still up, have anything for me to test on clean boxes?14:43
mithroCarlFK: are you happy with creating the .xsvf / .hex file and the above flash script?14:47
CarlFKmithro: kinda.  I am a little fuzzy on why those files can't be created by someone else14:48
mithroCarlFK: because you need to be self sufficient and useful member of society14:49
CarlFKmithro: you need to watch the Debconf talk on volunteers14:51
CarlFKand I want to streamline the process of getting the Atlys up14:51
CarlFKI don't care if you want me to hack on the code.  that isn't happening any time soon14:52
mithroCarlFK: the files will be generated from travis-ci soon14:55
CarlFKmithro: are the bit/bin files used to create something (hex and ?) that is specific to the board?  like Atlys / Numato  ?14:55
mithroCarlFK: I explained it in the reply to your email14:56
CarlFKmithro: ok, so thats my understanding. how many boards are we (all people tim vidoes or whoever is working)  working with right now?  just the two, right?14:59
mithroCarlFK: the HDMI2USB.tv MiSoC firmware currently works with two boards and has 3 configurations15:00
mithrohttps://travis-ci.org/timvideos/HDMI2USB-misoc-firmware15:00
tpbTitle: Travis CI - Test and Deploy Your Code with Confidence (at travis-ci.org)15:00
CarlFKmithro: 3  configurations = the states as the different parts are uploaded or enabled right?15:01
mithroCarlFK: no - as in base, hdmi2usb and hdmi2ethernet15:02
mithroCarlFK: the boards do have 3 states they can be in15:03
mithroCarlFK: which I've started calling "unconfigured, jtag, operating"15:03
CarlFKmithro: got it.15:04
CarlFKmithro:  it seems my Atlys is working with 100% of the laptops I have tested with.  can you do a release that I can use for pyconza so that a regression doesn't slip in?15:07
CarlFKand if I report any issues, there won't be any question what code I am using15:08
mithroCarlFK: btw having you understand how to generate firmware for the boards means you can help get someone like tumbleweed set up with building the firmware and he can fix issues while at your event15:41
CarlFKmithro: i seriously doubt there will be any fixing issues at the event15:42
CarlFKmithro: given how stable things seem to be, I would not want to risk making it worse15:43
CarlFKif some laptop doesn't work, we will spend maybe a min or two, then use the twinpact15:43
mithroCarlFK: I would hope that you corner the person in the evening and steal there laptop to do more extensive testing and figure out why it doesn't work15:47
CarlFKmithro: I wold try, but generally the event soaks up all my time15:48
CarlFKthats why tumbleweed needs to come to Node conf so there is someone with nothing to do :D15:49
tumbleweed:)15:59
tumbleweedhttps://en.wikipedia.org/wiki/Metric_system#/media/File:Metric_system_adoption_map.svg17:42
tpbTitle: Metric system - Wikipedia, the free encyclopedia (at en.wikipedia.org)17:42
tumbleweedUS, Burma, Liberia :P17:42
tumbleweederr, wrong place for this17:42
tumbleweedCarlFK: ^^17:42
CarlFKtragic.17:43
*** automatical has joined #timvideos18:08
*** ysionneau has joined #timvideos19:40
ysionneauhi there!19:40
ysionneaucongratz about the fund raising having great success!19:41
CarlFK:)20:14
CarlFKtumbleweed: do you have any hdmi cables to hook things up to your Atlys board?  (I am thinking I should order a few and have them shipped to your address so you can pack them.20:27
tumbleweedI think I have one, plus a micro-HDMI cable that came with the board20:33
tumbleweedI'll check when I get home20:33
ysionneauis it possible to "subscribe" to the google group and receive the mails like a normal mailing list ?20:38
ysionneauI mean, with a non Google email address20:39
CarlFKysionneau: um.. I think so20:39
ysionneauah yes20:40
ysionneauI need to send an email to [email protected]20:40
ysionneauhummm failed20:42
ysionneauah, done!20:42

Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!