Thursday, 2017-07-20

*** tpb has joined #timvideos00:00
mithropaddatrapper: awesome!00:20
mithroIshan_Bansal: you want a special type of thing that I can't recall the name off00:21
*** ivodd has quit IRC01:45
*** ivodd has joined #timvideos01:45
*** hyadez has joined #timvideos02:11
*** sb0 has joined #timvideos02:16
*** CarlFK has quit IRC02:18
*** CarlFK has joined #timvideos02:21
*** ChanServ sets mode: +v CarlFK02:21
*** rohitksingh_work has joined #timvideos03:42
*** SamSagaZ has joined #timvideos04:22
Ishan_BansalThis is the code for the respective module dc_rom :
tpbTitle: [Python] from litex.gen import * from import * from litej - (at
Ishan_Bansaland the corresponding value of the address comes from the testbench as
tpbTitle: [Python] def main_generator(dut): yield dut.addr.eq(4) - (at
Ishan_BansalCarlFK : ping05:00
shenkiIshan_Bansal: can you commit all your code and push it to github?05:10
shenkiIshan_Bansal: i would like to reproduce your error here to help you debug05:11
shenkiput it in a temporary branch if it is not ready to be published05:11
Ishan_Bansalshenki : I have added the code for and new_rom_tb.py05:27
tpbTitle: litejpeg/litejpeg/core/huffman at huffman · ishan98/litejpeg · GitHub (at
shenki$ PYTHONPATH=../ python3 new_rom_tb.py05:51
shenkiTraceback (most recent call last):05:51
shenki  File "", line 7, in <module>05:51
shenki    from litejpeg.core.huffman.dc_rom import dc_rom05:51
shenki  File "/home/joel/dev/timvideos/litejpeg/litejpeg/core/huffman/", line 5, in <module>05:51
shenki    from litejpeg.core.huffman.tablebuilder import build_huffman_rom_tables05:51
shenkiImportError: No module named 'litejpeg.core.huffman.tablebuilder'05:51
shenkiIshan_Bansal: what am I doing wrong? :)05:52
mithroIshan_Bansal: You want to just use a memory object for what you are doing05:52
Ishan_Bansalmithro : I don't want to use memory object in this case, I am currently trying with arrays.05:54
mithroIshan_Bansal: Why don't you want to use a memory object?05:55
Ishan_Bansalshenki : can you try to run only once.05:55
Ishan_Bansalmithro : I talked to sb0 regarding this error and he told me that the arrays are specially designed for taking signals as index so thats why I am wondering what is the problem in this. It is not that I don't want to use the memory element just want to try with arrays. :)06:00
mithroIshan_Bansal: But you aren't using an array here at all?06:01
mithroYou are using a Python List06:01
tpbTitle: API reference Migen 0.5.dev0 documentation (at
Ishan_BansalOh sorry, the above code is the one of the first try. The new code of the is :
tpbTitle: litejpeg/ at huffman · ishan98/litejpeg · GitHub (at
Ishan_Bansalmithro : ping06:08
Ishan_Bansalshenki : Is the error while running is the same ?06:09
mithroIshan_Bansal: What is the error when running
Ishan_Bansalmithro :
tpbTitle: Traceback (most recent call last): File "", line 26, in - (at
mithroIshan_Bansal: You are trying to assign a string which contains a single ASCII character 0 to a Signal06:12
mithroMy guess is that you are not converting the strings to integers when reading them from the source file06:12
Ishan_Bansalmithro : That worked. :)06:15
mithroIshan_Bansal: Although, I'm still pretty certain you want to use a Memory object here....06:18
Ishan_Bansalmithro : Is it because the data we want to store is fixed.06:26
mithroIshan_Bansal: Sure, memory objects can be read only06:28
mithroIshan_Bansal: The big question is if you need multiple values from the table at one time06:28
shenkiIshan_Bansal: yes, the smae error06:29
shenki$ PYTHONPATH=. python3 litejpeg/core/huffman/dc_rom.py06:30
shenkiTraceback (most recent call last):06:30
shenki  File "litejpeg/core/huffman/", line 5, in <module>06:30
shenki    from litejpeg.core.huffman.tablebuilder import build_huffman_rom_tables06:30
shenkiImportError: No module named 'litejpeg.core.huffman.tablebuilder'06:30
Ishan_Bansalshenki : just check if the module named tablebuilder is present in the the litejpeg/core/huffman directory06:40
Ishan_Bansalshenki : if the module is present you can try after once running the present along with the litejpeg directory, may be the litejpeg is not added to the pythonpath.06:44
Ishan_Bansalmithro : No, I didn't think their is need of the multiple values at a time as the data inside the memory is the one which is for the encoding of the given input from the rle, hence their is a need of a single value per input.06:48
mithroIshan_Bansal: I wonder if it could even be stored in external DDR06:50
*** CarlFK has quit IRC06:51
shenki$ git grep tablebuilder06:57
shenkilitejpeg/core/huffman/ litejpeg.core.huffman.tablebuilder import build_huffman_rom_tables06:57
shenkiIshan_Bansal: it does not exist. did you forget to commit a file?06:58
shenkiIshan_Bansal: what does git status show?06:58
Ishan_Bansalshenki : I have added the file. Sorry about that.07:02
Ishan_Bansalthanks for telling07:02
shenkiIshan_Bansal: no worries07:03
shenkiyou should add genearted and temporary files to .gitignore07:04
shenkithat way, when you type 'git status' you should not see any untracked files07:04
shenkiit is a good way to ensure you have committed all of your changes07:04
Ishan_Bansalshenki : I will take care of that.07:06
*** CarlFK has joined #timvideos07:16
*** ChanServ sets mode: +v CarlFK07:16
Ishan_Bansalmithro : creating the memory element stores the data in the SRAM.07:28
mithroSRAM == blockram in the FPGA != Off chip DDR RAM07:28
shenkiin english07:33
shenkiSRAM is the BRAM (block RAM) in the FPGA fabric07:33
shenkiDDR is the off-FPGA memory07:33
Ishan_BansalSo DDR must be slow as compared to the SRAM.07:36
mithroIshan_Bansal: depends on how you define slow, SRAM has low latency but is very small in size, DDR has high latency but is megabytes in size07:37
shenkiIshan_Bansal: correct, ddr is very very slow compared to sram07:39
shenkisingle clock cycles vs 1000s of clock cycles07:39
shenkii did my honours project on this subject :D07:40
mithroshenki: Except if you try to have a multiple megabytes of SRAM on the Spartan 6 you maximum cycle rate is going to be like 2Hz07:42
shenkiyes. there are lots of exceptions07:43
mithroAlso totally depends if this is critical path latency or not07:44
mithropaddatrapper: Morning?07:59
paddatrappermithro: morning07:59
Ishan_BansalIn this case since the data we need to store is not that large so I think size is not an issue.08:00
paddatrappermithro: trying to join the chat with no success08:01
mithroIshan_Bansal: potentially, however it's something to think about08:01
mithropaddatrapper: I'm just trying to get readthedocs working with doxygen08:02
paddatrappermithro: cool no worries08:02
mithrodoxygenclass: Cannot find file: /home/docs/checkouts/
tpbTitle: HDMI2USB FX2 Firmware HDMI2USB FX2 Firmware 1.0.0 documentation (at
mithropaddatrapper: Weekly report look okay08:04
mithropaddatrapper: Do you want to try to debug your interrupt problem?08:05
paddatrappermithro: Yeah I'm stuck as to what to try next - It's clear the interrupts are an issue, however everything I've done hasn't helped08:07
mithropaddatrapper: So first, describe what you are seeing08:08
paddatrappermithro: If ENABLE_USBRESET() and ENABLE_HISPEED() are called, the firmware crashes on EA=1 (allow interrupts)08:09
mithropaddatrapper: define "crash"?08:09
paddatrapperif they are commented out, so the only enabled interrupt is SUDAV (setup data available), then the firmware runs, but the sudav interrupt is never called08:10
paddatrappermithro: crash meaning the following line is never called, nor are any of the interrupt handlers08:10
paddatrapperit also crashes if only one (ENABLE_USBRESET() or ENABLE_HISPEED()) is called08:13
mithroWhat code / branch should I be looking at?08:14
tpbTitle: HDMI2USB-fx2-firmware/firmware.c at audio-data · paddatrapper/HDMI2USB-fx2-firmware · GitHub (at
mithropaddatrapper: So, the first thing I would want to check is to see what interrupt handlers you have08:19
paddatrappermithro: sudav_isr, usbreset_isr and hispeed_isr08:19
mithropaddatrapper: You want to go lower level than that and see what the compiler is putting at the ISR locations08:19   00001D5C  _sudav_isr                         firmware08:20
paddatrapperfirmware.rst:      00006B 02 1D 5C         [24]  886    ljmp    _sudav_isr08:22
paddatrappermithro: and the _sudav_isr assembly is correct for what is being done08:24
mithropaddatrapper: So, is the that in the right location for sudav_isr ?08:25
mithropaddatrapper: are any of the other ISR's blank?08:27
paddatrappermithro: not that I can see08:30
mithropaddatrapper: So what do you do in your ISR?08:30
paddatrapperthough should theses be different:08:30
paddatrapperfirmware.lst:      0008F1                       2685 _hispeed_isr08:30   00001E20  _hispeed_isr                       firmware08:30
paddatrapperfirmware.rst:      001E20                       2685 _hispeed_isr:08:31
tpbTitle: HDMI2USB-fx2-firmware/firmware.c at audio-data · paddatrapper/HDMI2USB-fx2-firmware · GitHub (at
paddatrapperI haven't changed then from before when they worked, aside to add the printf for debugging08:32
mithropaddatrapper: Where they printing before?08:32
paddatrappermithro: I added the printf since then, before they were simply executing08:33
mithropaddatrapper: Are you sure?08:33
mithropaddatrapper: They shouldn't be executing if you never enabled the interrupt?08:33
paddatrapperadded here:08:33
tpbTitle: audio: Debug interrupts · paddatrapper/[email protected] · GitHub (at
paddatrapperBefore I changed the descriptors, the interrupts were enabled and working08:34
paddatrappermithro: it was working as of08:35
tpbTitle: audio: Make comments compatible with doxygen · paddatrapper/[email protected] · GitHub (at
mithropaddatrapper: Have you tried setting the LEDs in the ISR?08:36
paddatrappermithro: yup, they don't light up08:37
mithropaddatrapper: So when you enable the interrupts, any interrupts which are currently pending will fire08:38
paddatrapperso either none are pending, or the handlers are not linked correctly08:40
mithropaddatrapper: So, if the next command after enabling the interrupts is turning on a light and you don't see that the CPU has obviously jumped into one of the ISRs08:40
paddatrappermithro: then it is a handler implemented in the fx2lib, all three handlers I implement are supposed to light an led08:41
mithropaddatrapper: take a look at
tpbTitle: fx2lib/lib/interrupts at master · mithro/fx2lib · GitHub (at
mithropaddatrapper: You also want to check that you are putting your interrupts at a valid location08:45
mithropaddatrapper: That is what the "check_int2jt" target in the hdmi2usb makefile is doing08:45
tpbTitle: Snippet | IRCCloud (at
paddatrappermithro: I can find the INT2VEC Value that each vector is supposed to have, but not their memory location08:46
tpbTitle: fx2lib/autovector.h at master · mithro/fx2lib · GitHub (at
paddatrappermithro: INT2JT at 0x3f3e but requested 0x3f0008:46
mithropaddatrapper: welp, that is not going to work :-P08:46
mithropaddatrapper: You have NFI how long it took me to figure out that issue :-P08:47
paddatrapperI'm sure! How do I fix it?08:47
mithropaddatrapper: you have too much data that needs to fit before the interrupt vector08:48
paddatrappermithro: i.e the descriptors are too big?08:48
mithrolook at the map file08:48
mithroThe map file describes where the linker ended up putting everything08:50
mithropaddatrapper: You only get 16k of space to store all code and data - so enabling to many printf's can quickly run you out of memory08:51
paddatrappermithro: even building without debug enabled has the issue08:51
paddatrapperwith exactly the same memory offset08:52
mithropaddatrapper: If you try and put multiple things at the location it will go wrong too08:52
paddatrappershouldn't that be a linker error?08:53
mithropaddatrapper: For some reason no, it just cats them together08:53
mithropaddatrapper: Looking at the file08:54
mithroyou have08:54
mithro-X 0x020008:54
mithro-C 0x3c0008:54
mithro-b HOME = 0x000008:54
mithro-b XSEG = 0x3c0008:54
mithro-b PSEG = 0x3c0008:54
mithro-b ISEG = 0x000008:54
mithro-b BSEG = 0x000008:54
mithro-b INT2JT=0x3f0008:54
mithroIt's likely the XSET/PSEG is overflowing...08:57
mithro-X says the xdata segment should be 512 bytes08:57
mithrohex(0x3c00 + 0x0200) == '0x3e00'08:58
paddatrapper00003C00  s_PSEG08:59
paddatrapper00003C00  s_XISEG08:59
paddatrapper00003C00  s_XSEG09:00
mithropaddatrapper: Yes, but how big are they?09:00
paddatrapperNext thing is 00003F3E  s_INT2JT09:01
paddatrapperso I guess hex(0x3f3e - 0x3c00) == 0x033e09:02
mithroIt's the descriptors...09:02
paddatrapperIt's always the descriptors :)09:02
mithroC:   00003E00  _code_descriptors                  descriptors09:03
paddatrappermithro: reducing the device strings helped, so I need to reduce the descriptors size09:06
mithropaddatrapper: So, I can't build your committed stuff09:07
mithroDMI2USB-fx2-firmware/audio$ make09:07
mithrocd ../third_party/fx2lib/lib/ && make -j109:07
mithromake[1]: Entering directory `/usr/local/google/home/tansell/foss/timvideos/hdmi2usb/fx2/HDMI2USB-fx2-firmware/third_party/fx2lib/lib'09:07
mithromake[1]: Nothing to be done for `all'.09:07
mithromake[1]: Leaving directory `/usr/local/google/home/tansell/foss/timvideos/hdmi2usb/fx2/HDMI2USB-fx2-firmware/third_party/fx2lib/lib'09:07
mithro      CC  descriptors.rel09:07
mithroIn file included from descriptors.c:23:09:07
mithrodescriptors.h:26:25: error: audio-extra.h: No such file or directory09:07
mithro../third_party/fx2lib-linux-headers/audio.h:269: warning 116: left shifting more than size of object changed to zero09:07
mithro../third_party/fx2lib-linux-headers/audio.h:270: warning 116: left shifting more than size of object changed to zero09:07
mithro../third_party/fx2lib-linux-headers/audio.h:353: warning 116: left shifting more than size of object changed to zero09:07
mithro../third_party/fx2lib-linux-headers/audio.h:354: warning 116: left shifting more than size of object changed to zero09:07
mithrodescriptors.c:91: error 20: Undefined identifier 'UAC_BCD_V10'09:07
mithrodescriptors.c:122: error 20: Undefined identifier 'UAC_OUTPUT_TERMINAL_STREAMING'09:07
mithrodescriptors.c:225: error 20: Undefined identifier 'UAC_BCD_V10'09:07
mithrodescriptors.c:256: error 20: Undefined identifier 'UAC_OUTPUT_TERMINAL_STREAMING'09:07
mithrodescriptors.c:91: error 2: Initializer element is not constant09:07
mithrodescriptors.c:122: error 2: Initializer element is not constant09:07
mithrodescriptors.c:225: error 2: Initializer element is not constant09:07
mithrodescriptors.c:256: error 2: Initializer element is not constant09:07
mithromake: *** [descriptors.rel] Error 109:07
mithro[email protected]:~/foss/timvideos/hdmi2usb/fx2/HDMI2USB-fx2-firmware/audio$ git status -v09:07
mithroOn branch audio-data09:07
mithroYour branch is up-to-date with 'padda/audio-data'.09:07
mithronothing to commit, working tree clean09:07
mithroThat was suppose to go to the pastebin09:07
paddatrappermithro: there's supposed to be a PR against the linux headers for that...09:07
paddatrapperSeems I forgot to open it09:08
mithropaddatrapper: You can move the descriptors down09:09
paddatrapperPR opened
tpbTitle: Add extra audio defines by paddatrapper · Pull Request #2 · mithro/fx2lib-linux-headers · GitHub (at
paddatrappermithro: how?09:09
mithropaddatrapper: I'll give ya 3 guesses :-P09:10
paddatrappermithro: using a macro in the c? (__at() or something similar)09:10
paddatrapperI see we already define DSCR_AREA, so changing that09:11
mithroHowever, I seem to recall the descriptors have to be within a given section of memory09:12
mithroGo check the FX2 datasheet09:12
* paddatrapper checks...09:12
mithropaddatrapper: IIRC it's in the fine print somewhere really hard to find :-/09:14
mithropaddatrapper: We should document it somewhere....09:14
paddatrapper /descriptors in the TRM09:16
mithropaddatrapper: I've found "The start address needs to be word-aligned"09:17
paddatrappermithro: the only descriptor memory location reference I've found was for GPIO waveform descriptors09:19
mithropaddatrapper: Ahh ha!09:23
mithropaddatrapper: Turns out past me actually did document it :-P09:24
paddatrappermithro: ok, so sudptr points to the descriptors? And that can be either in Main RAM or scratch RAM?09:27
mithroSUDAV (Setup Data Available)09:28
mithroSUDPTR (Setup Data Pointer)09:28
paddatrappermithro: I thought that was the initialisation data from the host09:28
mithroTake a look at Table 2-2 "How the Firmware Handles USB Device Requests"09:29
mithropaddatrapper: And maybe "Figure 2-5. Using Setup Data Pointer (SUDPTR) for Get_Descriptor Requests "09:30
paddatrappermithro: ah I see09:31
paddatrapperSo I can move descriptors to scratch RAM, at some address that is work aligned?09:32
mithropaddatrapper: You should just be able to move the descriptors downwards it seems...09:35
mithroPut them starting at 3D00 ?09:36
paddatrapperpasses the check09:38
paddatrapper\o/ it works!09:38
paddatrapperthanks for the help09:38
mithropaddatrapper: Can you make your audio_extra.h a bit closer to the other xxx_extra.h files?09:39
paddatrappermithro: ure09:39
mithroActually it seems like those files are a bit weird too :-P09:40
paddatrapperhow would you prefer them?09:40
paddatrapperhe firmware currently crashes pulse audio, which makes me happy09:41
mithropaddatrapper: So that INT2JT should end up being in a common makefile somewhere09:42
* paddatrapper cannot type today...09:43
paddatrappermithro: yeah. I want to re-work the Makefile.fx2, Makefile and {audio/hdmi2usb}/Makefile to simplify it all into a common base09:44
mithropaddatrapper: Actually that might just be good to move into a python / shell script which checks things after compiler?09:44
paddatrappermithro: what do you mean?09:45
mithropaddatrapper: "sdcc xxx.c;"09:45
paddatrapperah I see. That may work better. Certainly more flexible09:46
mithroThat code is rather horrific shell :-P09:46
mithropaddatrapper: You could also check that the descriptors are in a valid location09:46
mithroAnd that09:46
mithroMemory blocks 0xE200-0xE3FF, 0xE480-0xE4FF, 0xE700 0xE73F, and 0xE800-0xEFFF) are reserved; they must not be used for data storage.09:47
mithropaddatrapper: One thing that makes sense to do, is remove the "low speed" descriptor -- as the device doesn't really function usefully at 12Mbit/second09:48
paddatrappermithro: the spec requires it09:49
mithropaddatrapper: Drivers don't however :-P09:49
paddatrapperI'll test that then :)09:49
mithropaddatrapper: Actually you might be able to just put a small "does not work" type descriptor there...09:50
paddatrapperIt certainly doesn't require endpoints, terminals, etc09:50
mithromicolous: ping?09:51
paddatrappermithro: I'll be back in a bit09:52
mithropaddatrapper: Okay09:52
xfxfjea: i'm not intending on reimaging the existing machines; i'm hesitant to move distro immediately before an event + have used the laptop for a handful of other events since.  plus I sunk about a day and a half trying to do the ansible stuff and it seems broken for me now.  haven't yet tried CarlFK's new installer, it's down the priority list, a million other things to do09:55
xfxfthat said, if you use the new ansible stuff for your conf successfully, would love to know info09:56
xfxfi just noticed a handful of problems with it (i.e. things I'd do differently) and decided not to go down that path given I already have working machines09:56
xfxfi'll poke CarlFK at some point and work through it, just again, too many things to juggle, strategically picking what makes sense09:57
xfxfmy intention for the ansible stuff was to actually not have to ever re-image the machines from a USB stick, just run ansible on them before every event to get the latest toys :/09:58
xfxf(which given can probably still happen, but it means moving away from a known/proven working ubuntu install to a debian one.  which probably isn't a big deal, but i'm playing this conservatively given there's other improvements i'm focussing on)10:01
Ishan_BansalHey I am getting an error while executing the test bench :
Ishan_Bansalthe error on executing is :
tpbTitle: [Python] from litex.gen import * from import * from lit - (at
tpbTitle: Traceback (most recent call last): File "", line 29, in - (at
mithroIshan_Bansal: I'm guessing that your dc_rom function is returning None10:21
Ishan_BansalI think there is something wrong on how the testBench is been connected to the submodule but I am not able to figure out what ?10:21
mithroIshan_Bansal: I'm guessing it's line 16 --         self.submodules.dc_rom = dc_rom(self,self.addr,,self.data_size)10:22
mithroIshan_Bansal: Infact if it's the code at then you can't do what you are doing...10:23
tpbTitle: litejpeg/ at huffman · ishan98/litejpeg · GitHub (at
Ishan_Bansalmithro : No the code is as follows :
tpbTitle: [Python] from litex.gen import * from import * from litej - (at
mithroIshan_Bansal: That is just a function, not a proper migen module10:24
Ishan_Bansalmithro : whats the thing that doesn't make it as a module ?10:27
mithroIshan_Bansal: 'def xxx():' creates a Python function, 'class A(Module):' creates a module10:27
mithroIshan_Bansal: Look at your other code10:27
Ishan_BansalI think getting a lot of confusion due to this previously also.10:27
mithroIshan_Bansal: See
tpbTitle: HDMI2USB-litex-firmware/ at master · timvideos/HDMI2USB-litex-firmware · GitHub (at
Ishan_Bansalmithro : so If I create a class out of this and write all this stuff in the def__init__()so that is sufficient to make it as a module.10:36
mithroIshan_Bansal: Yes, you are creating a Python class10:36
Ishan_BansalAlso what is the difference in adding a submodule and calling a function ?10:36
mithroIshan_Bansal: Do you know about Object Oriented Programming? (OOP)10:37
Ishan_Bansalmithro : I used python for about two sems. Ok, submodule is like creating an object.10:40
paddatrappermithro: It is now a working audio device that pulse picks up and reads data from10:40
mithroIshan_Bansal: Creating an "instance" of a "class"10:42
mithropaddatrapper: BTW Have you seen ?10:47
tpbTitle: Fx2lib: include/eputils.h File Reference (at
paddatrappermithro: I use RESETTOGGLE and RESETFIFO from there, yeah11:01
mithropaddatrapper: I mean more the generated docs11:01
paddatrapperAh yes! Awesome11:02
paddatrappermithro: want me to implement the same for the fx2 firmware?11:03
paddatrappermithro: also could you review PR #23, #27 and #32 in the fx2 firmware?11:06
tpbTitle: Audio descriptors by paddatrapper · Pull Request #23 · timvideos/HDMI2USB-fx2-firmware · GitHub (at
tpbTitle: examples/lights: Add support for other boards by paddatrapper · Pull Request #27 · timvideos/HDMI2USB-fx2-firmware · GitHub (at
tpbTitle: Move lights header to common directory by paddatrapper · Pull Request #32 · timvideos/HDMI2USB-fx2-firmware · GitHub (at
xfxfjea: that said, i have some new machines, we might try giving those an image on wed night or thu, but will play it by ear.  certainly the main mixing machines at least will be based on the LCA install (with a few updates I've added)11:17
xfxfi.e. be nice to stick the little embedded x86 boards i have into a opsis case, for under the podiums11:17
*** rohitksingh_work has quit IRC11:59
*** rohitksingh_work has joined #timvideos12:05
*** rohitksingh_work has quit IRC12:10
Ishan_Bansalmithro : The rom and the test bench worked, also one silly but great doubt about submodule is now clear.12:24
Ishan_BansalFeeling Amazing :P12:24
*** rohitksingh has joined #timvideos13:30
CarlFKxfxf: jea: test the damm ansible :p14:20
CarlFKand to do that, you need a box you can test on, and maybe brick, which is fine if you have a way to wipe/install the OS.  like the usb stick14:21
CarlFKyou dont *need* the usb stick, but you need something, and that is kinda the obvious choice14:22
CarlFKmithro: make symlinks14:23
*** rohitksingh has quit IRC17:55
*** CarlFK has quit IRC19:06
*** CarlFK has joined #timvideos19:56
*** ChanServ sets mode: +v CarlFK19:56
*** CarlFK has quit IRC20:54
*** CarlFK has joined #timvideos21:16
*** ChanServ sets mode: +v CarlFK21:16
*** CarlFK has quit IRC22:53
*** CarlFK has joined #timvideos22:53
*** ChanServ sets mode: +v CarlFK22:53
*** tvCommitBot has joined #timvideos23:51
-tvCommitBot- [av-foss-stack] CarlFK created pyohio (+1 new commit):
-tvCommitBot- av-foss-stack/pyohio f49c7d0 Carl Karsten: A branch for a show let's go23:51
*** tvCommitBot has left #timvideos23:51

Generated by 2.13.1 by Marius Gedminas - find it at!