Chronos > Software Dev

Will there ever be a 100,000 FPS version again?

<< < (2/6) > >>

Nikon1:
Decisions are Decisions i guess, but is there still any way for me as an user to get around that minimum Resolution limit (which, from what i understand is the only thing, apart from internal Timing at some point ofc, keeping it from beeing able to record way higher Framerates)?
 .
 Like modifying the firmware on my own or something? And i mean me as someone who cant really do programming or stuff.
 To at least run it on an experimental Level. I assume nobody actually using the top end Frame-Rate Options or even those "extended" Framerate-Options like the 100k one would expect Cinema-Level Quality from that kind of footage, but sometimes you are just at a point, where every bit of fps are helpfull to see whats happening at all, even if it looks ever so bad...
 I also got asked very recently to shoot some stuff, at which, when you do the Math, even the 24k max FPS on the 2.1 will give you like 1 Frame of actual action if you get lucky or you even miss it completely. Image Quality doesnt matter at all for this, just trying to figure out whats going on.
 So for things like that, even a bit more Framerate would help a lot, even if i had to actually go and modify the Firmware myself, as long as its somewhat reasonable and doable for an average dude who isnt a Programmer.
 So is there ANY way to do that?

lwaters:
I completely agree, while it may not have been pretty- there was still information we were using. How absolutely frustrating.

sanjay:
Hey Everyone,

I'd like to provide some steps on how to modify the sensor driver code in a Chronos 1.4 to get to ~100k FPS. While there is no intention to support such a capability in an official release of software, the functionality in question here resides in an open-source codebase, so I'm suggesting modifications that you already have the right to do since you own the camera outright. You don't need to be a programmer so long as you follow the steps l have added below, but you will need a terminal program such as PuTTY or TeraTerm, a micro or mini usb cable to connect from the Chronos to your PC, and an ethernet connection that allows for the camera to reach the internet.

Please note that we will not provide technical support related to the noise and general glitches that result in using your Chronos 1.4 at this resolution and any other configuration that wasn't released via an official software update.


Alright, let's get to it (commands to enter in your terminal are in blue:

1. SSH into the camera by connecting the USB Micro cable to your computer, opening a terminal program such as PuTTy.
   192.168.12.1 Port 22
   user: root
   password: chronos

2. Connect the camera to the internet via the ethernet cable so it can get some extra packages.

3. Stop the control software.
   service chronos-control stop

4. Run the following command to get some required software on the camera:
   apt-get update
    apt-get install git ca-certificates python3-setuptools

5. Clone the Pychronos repository into the home directory of the camera
   cd ~/
    git clone https://github.com/krontech/pychronos.git

6. Edit the sensor driver to extend the minimum frame size
(github link to the commit where I reverted this feature: https://github.com/krontech/pychronos/commit/223859426da71c23b90f0b09e766002c7b47e468#diff-ce76eae0bee25361c5353bd1ac92ff77907ec6e42adff4ee0605b87fb7e5704e)
   nano pychronos/pychronos/sensors/lux1310.py
      change MIN_VRES = 96 to MIN_VRES = 32 on line 32
      change numRows = 64 to numRows = min(64, fSize.vRes) on line 652
      save and exit the file with Ctrl + O then Ctrl + X

6. Navigate into the pychronos directory
   cd ~/pychronos

7. Build the package with your modifications by running
    python3 setup.py build

8. Install the package with your modifications by running
    python3 setup.py install

9. Power off the camera using the power button

10. Start the camera, navigate to Record Settings, enter a resolution of 320 x 32 and press Max next to FPS. The camera should show 109,890 FPS. You'll want to black cal before shooting as usual.

If the above steps leave the pychronos install in a broken state, you can delete contents in /usr/local/lib/python3.4/dist-packages/ and then reboot to load the pychronos build that originally shipped with the software image.




Here's a quick example of how a Chronos 1.4 will behave when aimed at a glass of water at 109,890 FPS: https://youtu.be/yXWM5_OZ84w

As can be seen in my video, the output suffers from occasional noise spikes and the bottom most rows are not being read out properly. As you can imagine, we'd likely receive many support emails/calls from folks who would wonder what was going on if we were to leave it implemented as-is for an official release. However, for those who really need the throughput, I hope this helps.

Nikon1:
Wow, huge thanks for providing that info!
 Will this work on an 2.1 also?
 I am aware, that the 2.1 will be nowhere near able to match the 100kfps of the 1.4 just from Sensor Hardware Limitations, as far as i remember that correctly, but i mean is there Any more Framerate to be gained on the 2.1 or is this Mod working on the 1.4 only?
 Thanks anyways however, i am sure this will help a bunch of 1.4 owners out a lot, that just want to go as fast as the hardware possibly can.

mklinger:

--- Quote from: Nikon1 on July 29, 2021, 07:23:11 PM ---Wow, huge thanks for providing that info!
 Will this work on an 2.1 also?
 I am aware, that the 2.1 will be nowhere near able to match the 100kfps of the 1.4 just from Sensor Hardware Limitations, as far as i remember that correctly, but i mean is there Any more Framerate to be gained on the 2.1 or is this Mod working on the 1.4 only?
 Thanks anyways however, i am sure this will help a bunch of 1.4 owners out a lot, that just want to go as fast as the hardware possibly can.

--- End quote ---

Actually, from the Luxima datasheet from the LUX2100 sensor, used in the Chronos 2.1, it can achieve 125,000 fps at 1920x8 and they mention it can achieve 300,000+ fps windowed down, which I presume would be 832x8 (but that's not specified directly in this simple datasheet):

https://www.luxima.com/product_briefs/LUX2100.html

I believe I have read that aside from the potential quality issues, the reason they're not supporting these smaller/faster vertical resolutions are due to limitations in the H.264 encoding algorithms that can't handle it.

What would be fun to add as a wish-list feature would be to open up these faster resolutions in the raw modes only, like DNG. 

Like Sanjay mentions, all this code is open-source, so anyone can mess around with it, but without access to the full sensor datasheets and the Chronos camera hardware details, it might be a lot of trial and error.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version