01:35 | aombk2 | left the channel | |
01:36 | aombk2 | joined the channel | |
02:41 | aombk3 | joined the channel | |
02:45 | aombk2 | left the channel | |
02:53 | aombk | joined the channel | |
02:56 | aombk3 | left the channel | |
02:57 | aombk2 | joined the channel | |
03:00 | aombk | left the channel | |
03:06 | aombk3 | joined the channel | |
03:10 | aombk | joined the channel | |
03:10 | aombk2 | left the channel | |
03:13 | aombk3 | left the channel | |
03:36 | aombk | left the channel | |
03:40 | aombk | joined the channel | |
03:48 | aombk | left the channel | |
03:50 | aombk | joined the channel | |
07:04 | BogdanXOR | left the channel | |
07:34 | BogdanXOR | joined the channel | |
07:39 | BogdanXOR | left the channel | |
08:04 | BogdanXOR | joined the channel | |
08:09 | BogdanXOR | left the channel | |
08:13 | BogdanXOR | joined the channel | |
10:57 | BogdanXOR | left the channel | |
11:41 | BogdanXOR | joined the channel | |
16:23 | BogdanXOR | left the channel | |
16:43 | BogdanXOR | joined the channel | |
17:00 | se6astian | MEETING TIME
| |
17:00 | se6astian | who is here?
| 17:00 | Bertl | is here
|
17:00 | se6astian | Bertl already told me he has some interesting news!
| |
17:02 | se6astian | quick updates from me: we discussed moving the wiki to github hosted asciidocs with CI builds of PDF and HTML content - nothing decided yet but the topic is moving
| |
17:03 | se6astian | I sourced new stock of wifi sticks (ralink based) and ethernet/usb cables, nothing fancy but most arrived already
| |
17:03 | se6astian | anuejn and me plan to meet next monday to tinker with the axiom raw recorder setup/solution and push that forward hopefully then
| |
17:04 | se6astian | BogdanXOR: I received your ninja v for further testing
| |
17:04 | se6astian | but had no time to do so yet, but bertl briefed me about the steps already
| |
17:04 | se6astian | so Bertl, what news do you have for us?
| |
17:04 | Bertl | well, I spent the last week investigating and evaluating an idea of mine for a cheap but reasonably powerful axiom recorder solution
| |
17:05 | Bertl | just to recap, the main problems so far (regarding axiom recorder) have been
| |
17:05 | Bertl | 1) how do we get the image data from the Axiom Beta into the recorder?
| |
17:06 | Bertl | 2) how do we get the received data onto some medium which is fast enough to record raw data
| |
17:07 | Bertl | so far, the best solutions for 1) have been various capture cards, mostly USB based but also PCIe cards
| |
17:07 | Bertl | while those work reasonably well, the better solutions tend to cost a lot and PCIe usually is not 'small' enough to easily package in a recording device
| |
17:08 | Bertl | (at least not for off the shelf solutions)
| |
17:08 | Bertl | another problem is with USB being a limiting factor and many systems we investigated can not handle the full USB 3.0 speeds and if they can, certainly not for two capture solutions
| |
17:09 | Bertl | the second part, the storage system is a problem too, but this seems to get better at least if some NVMe is available
| |
17:10 | Bertl | considering those issues, I got interested in the new RP1 chip used in the raspberry pi 5
| |
17:11 | Bertl | this chip basically is a custom processor and chipset solution with quite some peripherals and a number of PCIe lanes which connect it to the main processor on the RPi5
| |
17:13 | Bertl | among those peripherals we have gigabit ethernet, 2x MIPI d-phys with four MIPI engines (2x CSI and 2x DSI), two independent USB 3.0 busses and two eMMC/SD interfaces
| |
17:13 | Bertl | this is all connected via PCIe gen 2 and one PCIe lane is still available from the main CPU which can be used for something else
| |
17:14 | tpw_rules | (peanut gallery: is that chip available now? existing comments i see suggest it's not)
| |
17:15 | Bertl | no, it is not easily available, but the good news is, it comes on the RPi5 and that is available for less than 100 bucks
| |
17:15 | tpw_rules | would it be scraped from the rpi5 or just the rpi5 would form the complete solution?
| |
17:15 | Bertl | and the RPi5 itself was the basis of my tests
| |
17:16 | Bertl | so, for the data in part, I was investigating the USB side and the MIPI side
| |
17:16 | Bertl | and turns out, the MIPI side is almost perfect for us
| |
17:16 | Bertl | I've been testing with a relatively cheap HDMI to MIPI converter for now
| |
17:16 | tpw_rules | (peanut gallery again: mipi is horrifying to implement afaict if you would want to do it yourself)
| |
17:16 | Bertl | and that allows us to capture 1080p60 in RGB888 very reliably
| |
17:17 | Bertl | for now, we do not plan to do MIPI, although that could be the next step
| |
17:17 | Bertl | we can use 4 lanes on each of the two interfaces
| |
17:18 | Bertl | so we can easily connect two HDMI outputs at 1080p60 in full raw to the system and also capture it successfully
| |
17:18 | Bertl | now for the storage part, we have actually two working solutions
| |
17:19 | Bertl | one is to attach an NVMe to the one remaining PCIe lane
| |
17:19 | Bertl | which can be configured as PCIe Gen 3 (despite only being certified at Gen 2 for various reasons)
| |
17:19 | Bertl | this gives us a sustained throughput of 850-950MB/s
| |
17:20 | Bertl | (you need a fast Gen 3 or Gen 4 NVMe for that, but they are relatively cheap as well)
| |
17:21 | Bertl | so far I tested a setup with one HDMI to MIPI and recorded 10 minutes if 1080p60 at 3x8bit data directly to NVMe
| |
17:22 | Bertl | the total cost of the device is about 260 EUR
| |
17:22 | Bertl | and the test was done with pseudo random data from the Axiom Beta
| |
17:23 | se6astian | what HDMI to MIPI converter did you test Bertl? the somlabs one?
| |
17:23 | Bertl | it took about a second for the stream to stabilize (at the start) and from the 36000 captured frames I got one frame with an error
| |
17:23 | se6astian | cool!
| |
17:23 | se6astian | https://somlabs.com/product/dsi2hdmi/ ?
| |
17:23 | Bertl | all frames were checked (all data) and no frames were lost
| |
17:26 | Bertl | for the HDMI to MIPI solution I used cards based on the toshiba TC358743
| |
17:26 | Bertl | the best and cheapest solution here was from Geekworm, the C790 one
| |
17:27 | Bertl | this can be directly used on the RPi5 as it has support for the four lanes and a cable option for the CM4/zero which is the same interface as the RPi5 has
| |
17:27 | Bertl | an interesting detail here is that our friends from antmicro have created a board which features two of those for HDMI capture some years ago
| |
17:28 | Bertl | and when I contacted them, they sent me two of those boards for testing as well
| |
17:28 | Bertl | (they need an adapter because the MIPI side is a custom solution)
| |
17:29 | Bertl | that said, the HDMI to MIPI route could in the future, assuming that we can source the toshiba chips somewhere, be integrated into the Axiom Beta plugins
| |
17:30 | Bertl | so basically generate HDMI and directly convert it into MIPI
| |
17:31 | Bertl | alternatively we could use other chips or cheap FPGA solutions (like the GoWin parts) to do LVDS to MIPI CSI directly without the HDMI step
| |
17:31 | se6astian | very interesting, Geekworm C790 is 37€ (https://www.amazon.de/Geekworm-Raspberry-Module-TC358743-Supports/dp/B0B76XB1JZ)
| |
17:32 | Bertl | another approach we are currently investigating is to use USB-C in Alt mode for HDMI, which in turn would allow to have 3 USB-C HDMI outputs on one dual plugin module
| |
17:32 | Bertl | (very similar to the triple DP++ module we did back then)
| |
17:33 | Bertl | two of those connections could go to a custom HAT/RPi5 board which contains the two converter
| |
17:33 | Bertl | while the third output can be used for non-raw preview
| |
17:34 | Bertl | and finally, with the detached sequencer, we can basically transport the full sensor format over those channels at reasonably high frame rates (>40FPS)
| |
17:35 | Bertl | all in all, I think this is a viable recorder solution for the Axiom Beta at an excellent price point
| |
17:35 | Bertl | note that you could even add USB 3.x sticks for direct recording or similar as long as you distribute the bandwidth accordingly
| |
17:36 | se6astian | you mentioned a second working storage solution, is that the USB Sticks approach?
| |
17:36 | Bertl | well, that's it from my side, if there are any questions, I'm happy to answer them
| |
17:37 | Bertl | yes, basically RAID over USB 3.0
| |
17:37 | Bertl | which comes kind of naturally if you record each MIPI CSI stream to a separate USB stick/bus
| |
17:38 | Bertl | so doesn't even need special handling or so
| |
17:38 | se6astian | do the mipi csi video inputs show up as v4l sources or how did you record/view them in your tests?
| |
17:38 | Bertl | they are integrated in v4l2 but they need a media setup to work
| |
17:39 | se6astian | that is a setup script?
| |
17:39 | Bertl | after the setup, it's basically something like this:
| |
17:39 | Bertl | v4l2-ctl --verbose -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat='RGB3' --stream-mmap=4 --stream-skip=3 --stream-count=36000 --stream-to=/dev/nvme0n1 --stream-poll
| |
17:39 | Bertl | and yes, the setup is done in a script
| |
17:39 | se6astian | very nice
| |
17:40 | Bertl | setup invovles 'routing' the data in the correct way
| |
17:40 | Bertl | *involves
| |
17:41 | Bertl | the only limitation (which is not a real limitation with the new sequencer) is that the maximum resolution seems to be 1920x1200 at 60Hz over 4 CSI lanes
| |
17:41 | se6astian | yeah thats fine for us
| |
17:41 | se6astian | how did you connect the nvme ssd to the pi5?
| |
17:42 | Bertl | so we can't simply send 2048x1536 for example (as we do on the Magewell cards), as the toshiba chip does not recognize those formats
| |
17:42 | Bertl | for the NVMe I bought (also from geekworm) a bottom adapter card
| |
17:42 | Bertl | which is basically a second base for the RPi5 where the NVMe goes
| |
17:43 | Bertl | this is attached via a tiny flex board to the RPi5 PCIe connector
| |
17:43 | se6astian | the X1001 ? https://geekworm.com/products/x1001
| |
17:43 | Bertl | the X1002 is the bottom version
| |
17:43 | se6astian | ah, great
| |
17:43 | Bertl | an yes, they are pretty cheap as well
| |
17:45 | Bertl | I plan to do some more tests with USB storage and the second MIPI channel this week (the second adapter just arrived)
| |
17:45 | se6astian | does any of this require CPU power ?
| |
17:45 | se6astian | reading/writing mipi/ssd?
| |
17:45 | Bertl | yes, but it is acceptable
| |
17:46 | Bertl | about 50% of one core is involved in MIPI capture and writing to NVMe
| |
17:46 | se6astian | sounds reasonable
| |
17:46 | Bertl | (there are four cores available on the RPi5)
| |
17:46 | Bertl | we also have almost independent two HDMI outputs on the RPi5
| |
17:46 | Bertl | and a GPU, where the data can also be routed to
| |
17:47 | Bertl | so a special 4k preview or something like that would be an option in the future ;)
| |
17:47 | se6astian | very nice, yes
| |
17:47 | se6astian | latency would need to be tested
| |
17:48 | Bertl | of course, but we still have minimal latency on the 'third' HDMI output from the Beta, so not a problem for real time stuff
| |
17:48 | se6astian | exactly
| |
17:48 | se6astian | super nice
| |
17:49 | Bertl | also RPi in general is a quite popular platform
| |
17:49 | Bertl | so we do not need to worry about access as well as software support
| |
17:52 | se6astian | indeed
| |
17:52 | se6astian | anything else to report/share?
| |
17:54 | Bertl | not much, I sent you the assembled power connector boards for inspection
| |
17:54 | Bertl | together with the Ninja V+ from BogdanXOR for testing last week
| |
17:54 | Bertl | that's it
| |
17:55 | se6astian | yes, I will test those soon as well when I get to my dupont cable collection
| |
17:55 | se6astian | many thanks
| |
17:55 | se6astian | anyone else who wants to report?
| |
17:57 | se6astian | MEETING CONCLUDED, thanks Bertl!
| |
18:08 | Bertl | thanks for the moderation se6astian!
| |
21:54 | anuejn | Bertl: very nice experiments
| |
21:55 | anuejn | I have some proven-to-work gateware for mipi dsi transmission on the lattice ecp5 parts
| |
21:56 | anuejn | though I only needed rather low bandwidth
| |
21:56 | tpw_rules | what do you do for a phy?
| |
21:56 | anuejn | I implemented an appnote from lattice that suggests using 4(?) resistors
| |
21:57 | tpw_rules | ahh, i didn't realize that was sanctioned
| |
21:57 | tpw_rules | does it work for csi?
| |
21:58 | anuejn | https://www.latticesemi.com/view_document?document_id=52562
| |
21:58 | anuejn | (page 12)
| |
21:59 | anuejn | though for csi we could get away with the simplified diagram on page 13
| |
21:59 | anuejn | because CSI is normally doing HS only
| |
22:00 | anuejn | I think that adapting the code I have for CSI would not be a lot of work
| |
22:00 | anuejn | and I would be quite interested in doing it actually
| |
22:02 | anuejn | Bertl: do you think that would also work for 7-Series HR IO?
| |
22:05 | aombk2 | joined the channel | |
22:10 | aombk | left the channel | |
22:16 | aombk2 | left the channel | |
22:18 | aombk | joined the channel |