| 01:58 | karl[m] | left the channel |
| 01:58 | holger[m] | left the channel |
| 01:58 | apurvanandan[m] | left the channel |
| 01:58 | bluez_[m] | left the channel |
| 02:01 | holger[m] | joined the channel |
| 02:01 | karl[m] | joined the channel |
| 02:01 | apurvanandan[m] | joined the channel |
| 02:01 | bluez_[m] | joined the channel |
| 02:03 | hans[m]1 | left the channel |
| 02:03 | fabian[m]1 | left the channel |
| 02:03 | elkos | left the channel |
| 02:03 | pedro[m] | left the channel |
| 02:03 | francois[m] | left the channel |
| 02:03 | gretax[m] | left the channel |
| 02:03 | robert[m]1 | left the channel |
| 02:03 | oscar[m] | left the channel |
| 02:03 | apurvanandan[m] | left the channel |
| 02:03 | holger[m] | left the channel |
| 02:03 | karl[m] | left the channel |
| 02:03 | bluez_[m] | left the channel |
| 02:03 | Guest93381 | left the channel |
| 02:03 | promach3 | left the channel |
| 02:03 | joe[m]1 | left the channel |
| 02:03 | panintended | left the channel |
| 02:03 | pierre[m]5 | left the channel |
| 02:03 | davidak[m] | left the channel |
| 02:03 | preetimenghwani[ | left the channel |
| 02:03 | alexandros[m] | left the channel |
| 02:03 | metal_dent[m] | left the channel |
| 02:03 | MarkVandenBorre[ | left the channel |
| 02:03 | john_the_savage[ | left the channel |
| 02:06 | WalterZimmermann | joined the channel |
| 02:10 | apurvanandan[m] | joined the channel |
| 02:11 | joe[m] | joined the channel |
| 02:11 | davidak[m] | joined the channel |
| 02:11 | karl[m] | joined the channel |
| 02:11 | preetimenghwani[ | joined the channel |
| 02:11 | aleb | joined the channel |
| 02:11 | oscar[m] | joined the channel |
| 02:11 | elkos | joined the channel |
| 02:11 | alexandros[m] | joined the channel |
| 02:11 | john_the_savage[ | joined the channel |
| 02:11 | robert[m] | joined the channel |
| 02:11 | bluez_[m] | joined the channel |
| 02:11 | holger[m] | joined the channel |
| 02:11 | francois[m] | joined the channel |
| 02:11 | pedro[m]2 | joined the channel |
| 02:11 | metal_dent[m] | joined the channel |
| 02:11 | pierre[m] | joined the channel |
| 02:11 | fabian[m]1 | joined the channel |
| 02:11 | hans[m]2 | joined the channel |
| 02:11 | panintended | joined the channel |
| 02:11 | gretax[m] | joined the channel |
| 02:42 | promach3 | joined the channel |
| 02:42 | MarkVandenBorre[ | joined the channel |
| 05:06 | intracube | left the channel |
| 05:07 | intracube | joined the channel |
| 06:08 | BAndiT1983|away | changed nick to: BAndiT1983
|
| 06:52 | flyinprogrammer | joined the channel |
| 08:13 | flyinprogrammer | left the channel |
| 08:13 | flyinprogrammer | joined the channel |
| 08:46 | kbeckmann | joined the channel |
| 09:31 | kbeckmann | se6ast1an: hi! about the ft60x and throughput.. the stuff that i've done successfully with real-time data and ft600 has been working great up to around ~70 MB/s. Above that, I really need a larger FIFO.
|
| 09:35 | flyinprogrammer | left the channel |
| 09:50 | kbeckmann | if i generate data from the fpga, i can stream at 194MB/s, however there will be a lot of random, but short, delays which is why a larger FIFO is needed when you want to stream real-time data.
|
| 09:54 | mumptai | joined the channel |
| 10:00 | WalterZimmermann | left the channel |
| 10:06 | se6ast1an | hi kbeckmann!
|
| 10:06 | se6ast1an | you are very quick :)
|
| 10:06 | se6ast1an | too quick for me
|
| 10:06 | se6ast1an | but now I am back
|
| 10:06 | kbeckmann | haha i just had some spare time now.
|
| 10:08 | se6ast1an | what transfer mode are you using with USB
|
| 10:08 | kbeckmann | 245
|
| 10:09 | se6ast1an | we want to get to the USB3 bandwidth limit so 70MB/s or even 194MB/s is still not really what we aim for
|
| 10:09 | kbeckmann | i have not tried to use the fancier mode, it seems a bit complicated. but makes sense if you are pumping data in both directions simultaneously.
|
| 10:09 | kbeckmann | well the ft600 has a theoretical max of 200MB/s
|
| 10:10 | kbeckmann | it has only 16 bits in contrast to tf601/tf602 that has 32 :)
|
| 10:10 | kbeckmann | ft*
|
| 10:10 | kbeckmann | so 194 / 200 is probably as good as it gets.
|
| 10:10 | se6ast1an | ah, we use the FT601
|
| 10:11 | se6ast1an | but Isochronous transfer is not supported from what we gathered so far IIRC
|
| 10:12 | kbeckmann | right. and bulk will always have some random delays/jittar to it.
|
| 10:13 | kbeckmann | i don't know how the ft602 works, but my guess is that it's just ft601 with some extra descriptor glue and some more configuration functionality.
|
| 10:13 | kbeckmann | i'm not even sure if you can have isochronous mode at these speeds.
|
| 10:17 | kbeckmann | honestly I'm not sure what is causing the random jitter. it could be the driver. i should try again with this driver that is a kernel module, it might work better actually. https://github.com/lambdaconcept/ft60x_driver
|
| 10:20 | kbeckmann | se6ast1an: what data rates were you able to get with your ft601 adapter? were you limited by your fifo filling up and having to drop input data, or were you not able to reach a high data rate at all when sending generated data from the fpga?
|
| 10:22 | se6ast1an | we need to wait for Bertl_zZ, he will be able to share details
|
| 10:22 | kbeckmann | if you were having issues with your gateware, you could look at https://github.com/lambdaconcept/usbsniffer/blob/master/gateware/ft601.py for a good implementation.
|
| 10:22 | kbeckmann | cool
|
| 10:23 | se6ast1an | the large fifo should not be an issue, the fpga side will very likely also not be the bottleneck
|
| 10:23 | kbeckmann | which fpga are you using again?
|
| 10:24 | se6ast1an | from what I remember Bertl_zZ said the FT601 had eratic behaviour and higher datarates worked only unreliably...
|
| 10:25 | se6ast1an | Lattice MachXO
|
| 10:25 | se6ast1an | on the usb3 module
|
| 10:25 | se6ast1an | zynq 7020 on the camera core side
|
| 10:26 | kbeckmann | alright
|
| 10:26 | kbeckmann | looks like lcmxo2-2000hc-6tg100c from the photo
|
| 10:30 | kbeckmann | looks like it doesn't have a huge amount of embedded ram. are you able to buffer the frame on the camera module and consume the framebuffer asynchronously? in my case i am receiving a HDMI stream that doesn't wait for anybody, so I have to buffer as much as possible (because the ft60x will randomly stall because of how USB works).
|
| 10:34 | kbeckmann | sorry for all the questions.. i don't know a lot about your architecture, should read up on that :)
|
| 10:36 | se6ast1an | no worries
|
| 10:36 | se6ast1an | but I am afraid we have to wait for Bertl_zZ to wake up :)
|
| 10:36 | se6ast1an | for these technical details
|
| 10:56 | Bertl_zZ | changed nick to: Bertl
|
| 10:56 | Bertl | morning folks!
|
| 10:59 | Bertl | kbeckmann: we basically retrieve the data from DDR memory on the camera side and send it directly to the MachXO2
|
| 10:59 | Bertl | so buffering/feedback is possible, but we need a 'guaranteed' throughput as we are transporting live data as well
|
| 11:01 | Bertl | kbeckmann: why should 'USB' randomly stall on a dedicated USB connection of good quality?
|
| 11:27 | Bertl | off for now ... bbl
|
| 11:27 | Bertl | changed nick to: Bertl_oO
|
| 11:28 | kbeckmann | I see, that's great. This means that even if the transfers stall for short periods of time, this should be fine. As far as I understand it, bulk transfers don't have any guarantee of when they will occur, so your OS might handle some interrupt and not do another USB transfer for a while.
|
| 11:50 | kbeckmann | Bertl_oO: something that i also noticed, was that it's really important to transfer large chunks of data to the FT60x. The datasheet mentions this as well. If you transfer less than 1024 bytes, this will lead to a small USB bulk transfer which will lead to increased overhead which in turn will lower your throughput. Maybe this is what happened to you? I worked around this by using ping-pong
|
| 11:50 | kbeckmann | buffers and only initiate a transfer when i had a full 4096 bytes to transfer.
|
| 11:58 | Nick123 | joined the channel |
| 12:25 | Nick123 | left the channel |
| 12:34 | kbeckmann | It seems that the USB spec allows for isochronous transfers utilizing up to 80% of the available bandwidth, which for SuperSpeed means arond 500 MB/s. However your device still needs to support and configure this, which the FT60x doesn't seem to do, not even the ft602 that uses the UVC (USB Video Class). So you'd have to go for the Cypress FX3 or similar if you want this.
|
| 12:51 | Bertl_oO | well, the OS (on the USB controller side) is Linux, so I think it will not just ignore USB transfers because some interrupt is handled ... at least we get around 420MB/s transfer via USB storage which also uses block transfers
|
| 12:53 | Bertl_oO | the FT60x is limited to 32bit so the maximum data rate we can produce there is 3.2 Gigabit/s but I do not see why that should not be doable with a 5Gbit/s connection
|
| 12:54 | Bertl_oO | and yes, we figured out (too late) that the FT60x (not even the FT602) officially support isochronous transfers ... which seems especially strange as the FT602 is intended for UVC video
|
| 12:56 | Bertl_oO | the main problem so far seems to be to figure out the perfect package size as the payload on the bus is limited and to find a driver which is not based on the FTDI libraries which seem to do an awful job at receiving the data reliably :)
|
| 12:57 | Bertl_oO | so we are very much interested in alternative/known good solutions which can unlock the full potential of the FT60x chips
|
| 13:24 | se6ast1an | and yes we are also having our eyes on the FX3 now
|
| 13:57 | kbeckmann | Bertl_oO: regarding drivers, it might be worth checking out https://github.com/lambdaconcept/ft60x_driver
|
| 14:22 | RexOrMatrix[m] | joined the channel |
| 14:22 | RexOrMatrix[m] | Is the imec Temp Cam on schedule?
|
| 14:39 | oscar[m] | left the channel |
| 14:40 | se6ast1an | RexOrMatrix[m]: wrong channel probably but yes
|
| 14:42 | BAndiT1983 | changed nick to: BAndiT1983|away
|
| 14:50 | flyinprogrammer | joined the channel |
| 15:20 | MichaelSchwarzma | joined the channel |
| 15:22 | BAndiT1983|away | changed nick to: BAndiT1983
|
| 15:33 | BAndiT1983 | changed nick to: BAndiT1983|away
|
| 15:33 | BAndiT1983|away | changed nick to: BAndiT1983
|
| 17:41 | flyinprogrammer | left the channel |
| 18:58 | MichaelSchwarzma | left the channel |
| 19:29 | BAndiT1983 | changed nick to: BAndiT1983|away
|
| 20:06 | BAndiT1983|away | changed nick to: BAndiT1983
|
| 21:39 | Bertl_oO | off to bed now ... have a good one everyone!
|
| 21:40 | Bertl_oO | changed nick to: Bertl_zZ
|
| 21:49 | panintended | Hi all
|
| 21:49 | panintended | Here's a PR for T1203 (the observer pattern for subscribing to attribute changes)
|
| 21:50 | panintended | https://github.com/apertus-open-source-cinema/AXIOM-Remote/pull/20
|
| 21:50 | panintended | Sorry it took a while, but today I had finally some breathing room with my day job :)
|
| 21:51 | panintended | Still no tests to go with it, but se6ast1an said it might still be worth merging it to the main repo
|
| 21:53 | se6ast1an | thanks!
|
| 21:53 | BAndiT1983 | hi panintended, just merged, thanks for your support!
|
| 21:53 | BAndiT1983 | will go through it soon, maybe tomorrow
|
| 21:56 | se6ast1an | great
|
| 22:05 | panintended | cool, any questions please let me know and I'll get back to you the soonest possible!
|
| 22:05 | panintended | have a good night guys
|
| 22:05 | panintended | talk to you soon
|
| 22:28 | BAndiT1983 | changed nick to: BAndiT1983|away
|
| 00:20 | mumptai | left the channel |