Wednesday, 2015-11-04

*** tpb has joined #timvideos00:00
mithroysionneau: I assume you are asleep, but I'm pretty sure if those i2c-tools above can read your virtual EEPROM, then the fx2 will be able too03:17
CarlFKmithro: when versions get promoted to testing and stable, how do we know what the source is?03:25
mithroCarlFK: the git ID is encoded in the firmware and in the firmware name03:25
CarlFKoh cool03:25
mithroCarlFK: see
tpbTitle: HDMI2USB-firmware-prebuilt/archive at master · timvideos/HDMI2USB-firmware-prebuilt · GitHub (at
mithroCarlFK: stable / testing are really just symlinks03:26
*** Bertl_zZ_ has joined #timvideos04:12
*** [d__d] has quit IRC04:13
*** Bertl_zZ has quit IRC04:13
*** se6astian|away has quit IRC04:14
*** se6astian|away has joined #timvideos04:14
*** se6astian|away is now known as se6astian04:14
*** [d__d] has joined #timvideos04:17
*** CarlFK has quit IRC07:21
*** CarlFK has joined #timvideos07:51
*** ChanServ sets mode: +v CarlFK07:51
*** jamesh_ has joined #timvideos08:03
*** jamesh has quit IRC08:06
*** jamesh_ is now known as jamesh08:12
xfxfmithro: how can I help to fix/progress this issue talking to the hdmi2usb?08:19
xfxfyou said it was an issue with the driver?08:19
xfxfany workarounds that come to mind?08:19
mithroxfxf: The issue is with the exart-uart-driver USB serial adapter08:44
mithroxfxf: so, unless you think you can work on that driver there isn't much you can help with that08:45
xfxfi'm no kernel hacker, that's for sure08:45
mithroxfxf: the code I wrote tries to work around the pyseral / exart-uart-driver weirdness08:45
xfxfis this something we can report upstream?08:45
mithroxfxf: there is no "upstream"08:46
mithroxfxf: upstream is currently shenki :-P08:46
xfxfoh, right, you guys wrote the driver08:46
xfxfi assumed it was in the kernel08:46
xfxfso i should prod shenki? :P08:46
mithroxfxf: well, no we didn't - we make the old crappy obsolete driver work again08:46
xfxfright, but it's still evidently crappy08:46
mithroxfxf: correct08:47
xfxflike i'm happy hacking away at application level stuff hence my interest in getting this basic switcher more fleshed out as basic capture software08:47
xfxfto use 'for now' until voctomix or gst-switch is in a usable state08:47
xfxfand i'm keen to get my hands dirty with python again, been doing too much php/rails lately08:47
xfxfoh, while i remember too - i'm keen on solving the issue with gstreamer only capturing at 15fps08:48
xfxfyou wanted to know what the encoer was running at?08:48
xfxfi can test that now08:48
_florent_xfxf: have tried commenting the line I sent you the other day for the 15fps?08:58
tpbTitle: HDMI2USB-misoc-firmware/encoder.c at master · timvideos/HDMI2USB-misoc-firmware · GitHub (at
xfxf_florent_: ah, sorry, i completely forgot about that.  will do!  i haven't been home, am now08:59
_florent_ok thanks09:00
*** Bertl_zZ_ is now known as Bertl09:08
xfxfencoder says09:11
xfxfencoder: 1280x720 @ 30fps (19Mbps) from input0 (q: 85)09:11
xfxfcaptured file when poked with avprobe09:11
xfxf    Stream #0.0(eng): Video: mjpeg, yuvj422p, 1280x720 [PAR 1:1 DAR 16:9], 15 fps, 15 tbr, 1k tbn (default)09:12
xfxfcapture command:09:12
xfxfgst-launch-1.0 v4l2src device=/dev/video1 ! image/jpeg,width=1280,height=720 ! matroskamux name=mux alsasrc device='hw:0,0' ! audio/x-raw,channels=2,rate=48000 ! audioconvert ! vorbisenc ! queue ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=hdmi2usb_recording_`date +%s`.mkv09:12
mithroxfxf: does the file actually have 15fps or does it have 30fps in it?09:12
xfxftotem is claiming 15fps, it looks less juddery than the previous content captured09:13
xfxfi'd normally rely on what the file reports though and not my perception, not really scientific09:14
xfxfi assume you're implying the headers might say 15fps but the content is 30?09:14
mithroxfxf: break the file apart and see how many frames per second are in the file?09:14
xfxfwhat tools would i use to splice apart the files and inspect the frames?09:14
xfxfwell, mplayer with -fps 15 displays slower than -fps 3009:17
xfxf-fps 30 looks the same as if played normally09:17
xfxfso perhaps it is 30 fps now09:18
xfxfthe content i captured the other day09:20
xfxfwith the gstreamer line above09:20
xfxfactually is 30fps i think09:20
xfxfjust because the headers say 15fps then my ffmpeg conversion just converted it to a 15fps file09:20
xfxfas it looked at the fps of the original file09:20
xfxfi'm playing back the mjpeg recording now, looks fine09:20
xfxfalthough the player is claiming it's 15fps09:20
xfxfwhy is that happening?09:21
xfxfso _florent_ commenting out that line doesn't make any difference09:21
_florent_ok, so the issue is probably in the UVC header inserted by the FX2 (fixed to 15fps)09:22
xfxfalso wierd, so each mjpeg frame can contain data about the playback rate?  i had always thought that was the responsibility of the container09:23
mithrokind of09:23
mithrothe source is likely to be the UVC header, but it goes USB->V4L2->gstreamer09:23
tpbTitle: HDMI2USB-misoc-firmware/descriptors_hdmi2usb_alt.c at fx2-refactor · mithro/HDMI2USB-misoc-firmware · GitHub (at
mithroProbably either line 316 or 33109:26
xfxfah, i assume they're defaults?  why not default to 30?09:26
mithroxfxf: because that is what the old code did09:27
mithroThis is the previous version ->
tpbTitle: HDMI2USB-misoc-firmware/descriptors_hdmi2usb.a51 at fx2-refactor · mithro/HDMI2USB-misoc-firmware · GitHub (at
mithroI spent a whole bunch of time converting that a51 into that .c file so I could understand what was going on09:28
tpbTitle: HDMI2USB-misoc-firmware/uvclocal.h at fx2-refactor · mithro/HDMI2USB-misoc-firmware · GitHub (at
xfxfso i see FRAME_INTERVAL_30FPS is defined there09:29
xfxfshould i just change 15 to 30 in that c file?09:29
mithroxfxf: Yes, I just added that09:29
mithroxfxf: I have no idea if that .c file works yet09:29
xfxfoh, right, you're still using the a5109:29
mithroxfxf: this is my fx2-refactor branch09:29
mithrowhich is trying to get the FX2 firmware into a better state were we can improve it09:30
mithroand get it working reliably under Linux, Windows and Mac09:30
xfxfthat explains why trying to egrep for FRAME_INTERVAL locally found nothing09:31
xfxfneat, sounds good09:31
xfxfso i should hang tight until you've done that?09:31
mithroxfxf: well, it seems like you might have a work-around for now?09:32
mithroxfxf: btw did you try my changes to your code?09:33
xfxfsort of, i know what the issue is now, i'll just need to figure out how to get to create a 30fps file (it's only the mjpeg dumped off the device that is playing back properly)09:33
xfxfi did a basic straight capture + manual conversion the other day just to prove this works to myself09:34
xfxfmy intention was to mangle up the gstreamer pipeline more so it's transcoding to disk as part of the capture09:34
xfxfnot sure if the 15fps wierdness might complicate that09:34
mithroI'm sure thaytan and help you figure out a gstreamer pipeline which overrides the information that v4l2 is telling it09:35
xfxfcool, can you do that to the above so the mjpeg saved out does have the right header info?09:37
xfxfabove line i pasted, that is09:37
xfxfi assume if that's done early enough in the pipeline then i shouldn't have an issue adding extra stuff after it09:38
xfxfpretty much as soon as i have some basic switching working09:38
xfxfi'll start recording stuff with it09:38
xfxfeven if it requires some wierd workarounds09:38
xfxfas long as i get usable video out at the other end09:38
mithroxfxf: I don't know how09:43
xfxfthaytan: ping :)09:45
xfxfsee above - the hdmi2usb device with the gstreamer line i pasted seems to be writing out 30fps data with a 15fps header (i assume)09:46
xfxfneed a way to force it to 30fps09:46
thaytangst-launch-1.0 v4l2src device=/dev/video1 ! image/jpeg,width=1280,height=720 ! capssetter caps='image/jpeg,width=1280,height=720,framerate=30/1' ! ....09:47
thaytanlike that09:47
xfxfright, ta, was just looking up the syntax09:47
xfxfwill give it a go09:47
xfxfneat, works, thanks again!09:50
xfxfmithro: another thing that happens too is my canon HDMI camera when plugged into the HDMI2USB doesn't actually feed it any data09:52
xfxfyou have to turn it off and turn it back on again then HDMI2USB will see it09:52
xfxfgiven you force the output resolution on the camera my assumption is it's possibly not handshaking (as much, at all? i don't know)09:52
xfxfmay be common with other cameras or scalers, not sure09:53
xfxf(this is my XA20 camera, not the LCA ones)09:53
mithroxfxf: the camera or the HDMI2USB?09:56
xfxfthe camera has to be power cycled09:57
xfxfthis throws one out in a normal setup routine because you plug everything in, turn it on, and the camera doesn't work09:57
mithroxfxf: have you tried resetting the video_mode with the camera plugged in?09:57
xfxfi believe i did, but i'm happy to try that now09:57
mithroPlease do09:58
ysionneauI guess that to use the tools you linked mithro I need to connect somehow my i2c pins to my computer motherboard?09:58
ysionneausince those tools run on host09:58
mithroysionneau: I was going to ask if you had a beaglebone or buspirate or something?09:58
mithroxfxf: I was wondering if it was a form of or not?09:59
tpbTitle: Support resetting an video input without resetting the output · Issue #80 · timvideos/HDMI2USB-misoc-firmware · GitHub (at
ysionneauhmmm I don't, but I think I might have some compatible board09:59
ysionneauI think there are alternative firmware for other boards09:59
ysionneauoh, I have a minnowboard Max10:00
ysionneaulet's hope it has i2c10:00
mithroysionneau: if you had a beaglebone or similar board, Rohit might actually be able to help10:00
mithrohe's done a whole bunch of i2c work for talking to the VGA chipset10:00
ysionneauyay i2c10:00
xfxfmithro: nope, doesn't work10:00
tpbTitle: Pastebin | IRCCloud (at
xfxfi turn camera on and off10:01
xfxfinput1:  1280x72010:01
tpbTitle: HDMI2USB-vmodvga-misoc/ad9984a.c at c6b961489b114526e65de70c44ccadfe9638b92e · rohit91/HDMI2USB-vmodvga-misoc · GitHub (at
xfxfoh also10:01
xfxfi keep having to do 'output0 off'10:01
xfxfelse the board freaks out10:01
xfxfyou'll note my script does it after every input change10:01
mithrodefine "freaks out"10:01
xfxfthe HDMI out feeding a small monitor i have starts flicking on and off10:01
xfxfer, output1 off rather10:02
xfxfit's coming out of output010:02
xfxfthis was the issue where having all inputs+outputs+encoder caused it to run out of DDR bandwidth10:02
ysionneau < ctr+F i2c , got it10:02
tpbTitle: MinnowBoard MAX - MinnowBoard Wiki (at
ysionneaumine runs Debian Jessie, so those i2c-tools should run10:02
ysionneauit's actually my mail server so I must take care of not frying it10:03
xfxfi'm not clear on what happens but if i do 'output1 off' initially, and then video_matrix toggle encoder/output0, output1 somehow gets re-enabled10:03
xfxfwhich is again why my script just does 'output1 off' after every switch10:04
xfxfseems to work around it10:04
xfxfmithro: and no your script doesn't work for me, will figure out why10:08
mithroxfxf: if you are running out of DDR bandwidth you will be getting FIFO errors reported on the USB output10:09
xfxfwould i see that in dmesg on the host, or in the console of hdmi2usb?10:09
xfxfeither way, unless i do 'output1 off' after every switch then the HDMI output to my little confidence monitor starting flicking on and off10:10
mithroserial console HDMI2USB10:10
xfxfwhich i assumed was a bug10:10
xfxfright, i'm not getting FIFO errors there10:10
xfxfwait, perhaps if i tried actually capturing at the same time i would, i can try10:11
xfxfthis is with the encoder on but not actually doing any capture10:11
xfxfinput0+input1+encoder+output0 on10:11
mithroxfxf: I need a clearer explanation of exactly what is happening and exactly your set up10:12
xfxfyeah, sure, let me reproduce10:12
xfxfah, wait, i think i might have found the issue10:13
xfxfdoes changing video_mode enable both outputs?10:13
mithroxfxf: Not sure, you can look at the code you know10:13
xfxfah, that fixed it10:14
mithroxfxf: that is what I do10:14
xfxfi was doing 'output1 off' before setting the video_mode10:14
xfxfthe latter appears to turn it back on again10:14
mithroxfxf: you should only be doing video_mode once on start up10:14
xfxfall good, not an issue10:14
xfxfyeah i am, the INIT= part of my script10:14
xfxfi just changed the order10:14
xfxfwould it be good behaviour to have hdmi2usb return the status on every command?10:19
xfxfor at least output from commands fed to it?10:19
xfxfit'd stop somebody else from falling into this same trap10:19
mithroxfxf: my changes added a status command10:21
mithro(after each change)10:21
xfxfyeah i notice that10:21
xfxfi mean at the firmware level10:21
xfxfso every time you type a command you get something back from the device that tells you what happened10:22
mithroxfxf: This is all C code, so please feel free to hack on it10:41
tpbTitle: HDMI2USB-misoc-firmware/ci.c at master · timvideos/HDMI2USB-misoc-firmware · GitHub (at
mithroxfxf: you just need to do a "make lm32-firmware; make load-lm32" - don't even need to rebuild the gateware10:42
xfxfsure, i don't mind attempting to hack on it, just verifying if that is a sane design decision10:43
mithroI can't guarantee that :P10:43
mithroI do think ever command having some type of success / error code result seems pretty reasonable10:43
mithrobut I'm going to go home now10:43
xfxfi was just typing the success/error code thing10:44
xfxfseems more sane, means i can parse that in my switchy thingy and handle errors properly10:44
xfxfrather than having it do things blind10:44
_florent_each valid command should already return a ack message no?10:48
_florent_if you want to print the status after a command, just send the status command10:48
mithroxfxf: you might want to take a look at the other lm32 firmware issues on GitHub too10:52
mithroxfxf: I got most of the way through the custom EDID adding patch - would be helpful to finish that10:59
mithroit is rather wet outside11:14
mithroysionneau: is down?11:14
ysionneauhmmm works from here11:16
mithrooh, there DNSSec is broken11:23
*** rohitksingh has joined #timvideos11:35
mithroysionneau meet rohitksingh11:43
rohitksinghysionneau: hi! I follow you on twitter! :)11:43
ysionneauhi rohitksingh :)11:44
ysionneaunice to meet you!11:44
ysionneauI'm going to play a bit with i2c11:44
ysionneaurohitksingh: what's your twitter handle?11:45
rohitksinghysionneau: awesome!11:45
rohitksinghits RohitK_Singh11:45
ysionneauand now I follow you as well :)11:45
rohitksinghhaha... :)11:46
ysionneauI'm going to use the i2c.c from lm32 fw, but to make a i2c slave acting like an EEPROM11:46
ysionneauso I'm going to need a master to test my code11:46
ysionneauI'm thinking of using my Minnow board Max which has i2c pins and runs Debian Jessie11:46
rohitksinghysionneau: ohkay... it should work, I haven't tried using it as slave yet...But, I can try that11:49
rohitksinghany problem you are encountering?11:49
rohitksinghMinnowboard Max side must be working well and good, i guess?11:51
ysionneauso far I don't have much to test11:52
ysionneaubut I'll keep you posted if I have any issue or news11:52
ysionneau12:48 < rohitksingh> Minnowboard Max side must be working well and good, i guess? < it's a pretty good machine, I'm using it as my email server11:52
rohitksinghysionneau: Awesome! Pls do inform me in case of any issues!11:54
ysionneauvery kind of you, thx!11:54
ysionneauwhat's your timezone?11:54
ysionneauI'm UTC+111:54
rohitksinghysionneau: I had looked about Minnowboard Max, ~6 months back...neat little board....11:55
rohitksinghmine is GMT+5:3011:55
ysionneauvery little power consumption, no fan (so : no noise), and ... x86! so all your preferred OS are working11:55
rohitksinghI must try it! Just that it is little inaccessible in India at affordable rate (w/o huge import duties)11:56
ysionneauI think I had lots of shipping cost as well :/11:57
rohitksinghI'm generally available online everyday from now to 7 hrs from now  (UTC 12:00PM to UTC 7:00PM)11:57
rohitksinghyeah...shipping also is around 30 USD :/11:58
_florent_ysionneau: are you sure your i2c slave will be fast enough? You have no restriction using bitbanging when you are the master, but when you are the slave you are not controlling the clock, so you will probably need to implement it in hardware (reuse code from edid)11:59
rohitksinghyeah...thats a valid point...12:00
rohitksinghif hardware implementation is possible/allowed, for slave it would be better to go for it12:01
ysionneauok, first short between gnd+vcc , board reboot12:04
ysionneauI hope I won't kill my email server12:04
ysionneau_florent_: ah good point12:05
_florent_that the reason why edid is done in hardware12:05
ysionneauyep I saw your implementation12:05
mithroi2c clock rate is either 100kHz or 400kHz12:06
_florent_that's not mine, sb0 did it12:06
ysionneauah ok12:06
_florent_mithro: so that's probably too fast for a cpu that is doing others things12:07
rohitksinghmithro: 10kHz also is an allowed speed IIRC12:07
mithro_florent_: The lm32 runs at ~50MHz, right?12:07
ysionneaumeans 100 times the speed12:08
ysionneaubut bitbanging is really slow12:08
ysionneaubut maybe 100 instructions per cycle are enough12:08
mithroHow many cycles per instruction?12:08
ysionneau(per i2c cycle)12:09
rohitksinghmitro: sorry, 10KHz not defined for I2C..only allowed in SMBus...I take my words back :p12:09
mithroIf you have 100 instructions per clock transition seems pretty dooable12:10
ysionneau_florent_: for now I think we want to be able to act as a slave while doing nothing else12:10
ysionneauso full time polling as a slave12:10
_florent_that's for the FX2 configuration?12:11
_florent_what's the size of the emulated EEPROM?12:11
ysionneauyou want to put everything in blockram :p12:12
ysionneaumithro: what's the size of the fx2 fw?12:12
_florent_I'm just going to remove the big buffer of 1280*8 lines for the encoder, so yes there will be block rams availables :)12:13
mithroI think kbytes but it could be kbit12:13
ysionneauthat can fit in block rams12:13
_florent_removing this buffer reduce blockram usage from 88% to less than 50%12:13
mithro_florent_: \o/12:14
ysionneaubut blockram issue is that you need to re synthesize the bitstream to change the fx2 fw12:14
ysionneauor you give access to the blockram via wishbone/etherbone from the host12:14
_florent_yes, that's what is done for edid12:14
ysionneauhaving the fw in spi flash is better I think12:15
ysionneauso that when you change it, and you reboot, it stays12:15
ysionneauyou don't have to re-upload it to the blockram each time12:15
ysionneauor ... let's put it in a an array in the BIOS and let the bios initialize the blockram at boot12:16
ysionneauchanging the fx2 fw would mean reflashing the bios then12:16
ysionneauwhich is ok I would say12:17
_florent_you can also store the fx2 firmware in the flash12:17
_florent_and the lm32 just copy the content of the flash to the i2cslave memory at startup12:17
mithroblockram, not blockrom :)12:17
ysionneauah yes also, sure12:18
ysionneauso, mithro, you prefer I keep on the sw bitbanging approach? or I go the hw way?12:19
mithroI'd say get the software bitbanging working first then accelerate with hardware if needed afterwards12:19
rohitksinghmithro: did you see this?
tpbTitle: Digging HDMI Out Of UDP Packets | Hackaday (at
mithrorohitksingh: they are reporting on some very old stuff there12:29
rohitksinghmithro: oh..okay...I'm reading it now...thought maybe it was interesting :D12:30
*** wanig___ is now known as wanig12:30
rohitksinghoh article is almost 2 years old12:31
tpbTitle: Alternatives · timvideos/HDMI2USB Wiki · GitHub (at
rohitksinghQuite ahead of the curve!!12:32
ysionneauok I can't get my minnowboard to toggle its i2c pins13:16
ysionneaueven using i2cdetect on its 10 i2C buses13:17
ysionneausometimes arduinos are usefull :)13:17
ysionneauwhen you need one, you don't have any13:17
*** travis-ci has joined #timvideos13:59
travis-ci[timvideos/HDMI2USB-misoc-firmware/master#280] (4f2aac2): The build passed. (
*** travis-ci has left #timvideos13:59
*** thaytan has quit IRC14:22
*** thaytan has joined #timvideos14:22
*** ChanServ sets mode: +v thaytan14:22
*** Bertl has quit IRC14:52
*** Bertl has joined #timvideos15:14
*** Bertl is now known as Bertl_oO15:14
*** se6astian is now known as se6astian|away15:52
tumbleweedI remember mithro announcing that the opsis can do 1080p, but this isn't one of the video modes it lists17:16
tumbleweedwas that just theoretical?17:16
CarlFKtumbleweed: I can at least confirm I know what you are talking about ;)17:17
CarlFKI think something was implemented, but maybe as an experiment in some branch/repo17:18
tumbleweedwe were wondering if 1080p would cause less trouble with laptops17:21
tumbleweede.g. all that mode fighting I had to do to enable mirroring at 1080p on people's machines17:21
tumbleweederr at 720p17:21
tumbleweedand with available VGA->HDMI adaptors17:21
tumbleweedCarlFK: any idea how to drive the outputs at modes other than 9?17:22
CarlFKfor sure there is no scaling going on, so whatever comes in goes out17:23
tumbleweedyeah, I know there is no scaling17:23
tumbleweedbut say I wanted to use mode 8 on the input, how do I get something useful on the output17:23
tumbleweedwhere useful = anything at all17:24
CarlFKill set up my Atlys so I can see what that is, but it should output whatver mode 8 is17:25
tumbleweedI can't make it do that17:26
tumbleweedhrm, I think it just wasn't happy with the input17:32
CarlFKtry pattern17:33
tumbleweedI'm really trying to get something useful in via VGA17:35
tumbleweedand that seems possible, but not at HDTV modes17:35
CarlFKflterm --port /dev/ttyVIZ0 --speed 11517:37
tumbleweedwe can get [email protected] to capture17:37
CarlFKUnable to open serial port: Device or resource busy17:37
CarlFKany idea whats going on?17:38
tumbleweedsomething else has it open17:38
CarlFKlsof | grep VIZ ... nothing17:38
tumbleweedlsof /dev/ttyVIZ017:39
CarlFKlsof /dev/ttyVIZ0 ... nothign17:39
tumbleweeddoes the device exist?17:42
CarlFK[  652.198082] vizzini 5-1:1.0: ttyVIZ0: XR21v14x usb uart device17:42
tumbleweedbtw, have you used a rpi or beagle bone black or something, to gst-dvswitch,yet?17:42
CarlFKcrw-rw---- 1 root dialout 248, 0 Nov  4 11:35 /dev/ttyVIZ017:42
tumbleweedyou're in dialout?17:42
CarlFK$ groups17:43
CarlFKjuser adm dialout cdrom sudo audio video plugdev lpadmin17:43
CarlFKbut let me log in and out again17:43
CarlFKthat fixed it.17:43
CarlFKthis is the 3 week old install.. I should re-image it so I am not wordering if this stuff has been fixed17:44
CarlFKI tried something with the pi, forget exactly what, but decided there wasn't enough cpu17:45
tumbleweedyeah, not suprised :)17:45
tumbleweedrpi1 or 2?17:45
tumbleweed2 could be better17:46
CarlFKI have access to all of those things, including the $9 chip, but that all needs to wait till after Node...17:46
CarlFKoutput0: [email protected] from pattern17:46
CarlFKthat works on my lcd17:47
tumbleweedyeah, we eventually got that to work17:47
tumbleweedbut it didn't the first time I tried17:47
tumbleweedthen we started at mode 1 and worked our way up17:47
CarlFKI added Cut to the gui17:49
CarlFKcan't figure out how to connect it to code17:49
*** CarlFK has quit IRC18:47
*** CarlFK has joined #timvideos18:47
*** ChanServ sets mode: +v CarlFK18:47
*** springermac has quit IRC20:28
*** springermac has joined #timvideos20:30
*** rohitksingh has quit IRC20:44
ysionneauso, I've been doing some tests. I hooked up an arduino UNO R3 (acting as I2C master) to my pipistrello FPGA board (acting as I2C slave via the lm32 in bitbang mode)21:24
ysionneauThe arduino sends SCL (i2c clock) at ~ 97 kHz21:25
ysionneauit seems that the lm32 is too slow to send the ACK on time21:25
ysionneauit sends it half a clock cycle late21:25
ysionneauso the packet is NACKed :/21:25
ysionneauand this is with a 83.3 MHz lm3221:26
ysionneauI'm able to synchronize to START bit and read the slave address though21:27
ysionneauACK is 5 us late21:29
ysionneaucalling it a day!21:32
ysionneauhere is the logic analyzer dump
ysionneauChannel 1 is SCL , Channel 2 is SDA21:34
ysionneauthe master is writing to slave 0x821:34
ysionneaucursor 3 is when ACK show happen (SDA low), cursor 4 is when it actually happens21:35
ysionneauand btw cursor 4 length is worth 3 lm32's nop (+ a store word to set SDA to input/high again)21:36
CarlFKmithro: Cut button in vocto:
tpbTitle: Add Cut button. · CarlFK/[email protected] · GitHub (at
*** CarlFK has quit IRC23:43

Generated by 2.13.1 by Marius Gedminas - find it at!