Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - foobar

Pages: 1 [2] 3 4 5
16
Software Dev / Re: Chronos V0.4.0 Beta - Debian and Networking
« on: March 24, 2020, 10:45:38 AM »
Sad to hear this, because the new version is very user friendly. Does this mean to switch back to the  version 0.3.2 or is it also avaliable on the debian unstable?

We will continue to keep the new GUI2 as an option on the unstable branch for you to experiment with, we just have to say that we are unable to commit to fixing problems that you might find in it, and that our officially supported user interface is going to be the existing Chronos user interface.

This does not mean that we are abandoning the v0.4.0 software and its features, just that the user interface will continue to have the same look and feel as our v0.3.2 and earlier releases.

17
Software Dev / Re: Chronos V0.4.0 Beta - Debian and Networking
« on: March 23, 2020, 01:31:34 PM »
After discussing the state of the new GUI with the rest of the software team, we have found that it isn't ready for serious use and that there are too many outstanding issues for us to be able to reasonably address with the size of team we have available. As such, we have decided that we will not be supporting this new GUI going forward, and we will instead make the original GUI our focus for the camera. Therefore, if you encounter bugs or missing features in the new GUI, we cannot promise that we will be able to fix them, and we encourage you to switch back to the original GUI if these issues become problematic.

We will keep the new GUI accessible via the software update tool for the time being as an experimental option, and we would be glad to receive any feedback about it and its features. If there are things that you like about the new GUI, we would like to try and migrate those features into the original GUI.

I apologize for getting your hopes up with the new look and feel and I hope that you will forgive me for releasing software that is incomplete and full of bugs.

18
Software Dev / Re: Chronos V0.4.0 Beta - Debian and Networking
« on: March 23, 2020, 12:06:42 PM »
The networking shares work by configuring your laptop as the SMB server, to which the camera will connect as a client. From the screenshots you have provided, it looks like you have configured your camera correctly. However, due to the age of the Linux kernel running on the camera (version 3.2, which is about 10 years old now), we are only able to support SMBv1 for the time being. This means that you will need to enable the SMBv1 Server feature on your Windows 10 laptop for sharing to work.

As someone who has an interest in network security, this situation makes me quite sad; SMBv1 is quite old, and has many known vulnerabilities in it, which is why Microsoft disables it by default.

19
Chronos User Discussion / Re: Introducing Chronos 2.1 HD!
« on: March 16, 2020, 12:43:44 PM »
Since I have been the one enabling this recent speed boost, I figure I would share some of my findings with the 2.1 and going below the 96 pixel vertical height.

We have found that at present there is roughly a 3.75us frame overhead that we can't work around for the time being, that when added to the frame readout time starts to become significant at higher resolutions. As such we are not really able to achieve the 100kfps that may have been promised by the LUX2100 datasheet. The lowest vertical resolution I have successfully been able to get the LUX2100 to operate at is 16 pixels, which yields a speed of 47kfps, or 640x16 at 85kfps. However, I must also report that I have observed rare frame corruption occurring at these speeds, so we can probably make these speeds available to you with the caveat that some frame corruption may occur, but we are unlikely to officially support them in the immediate future.

I should also point out that due to this frame corruption, I haven't committed any changes to the LUX2100 for the time being, so the software still limits you to 96 pixels of vertical resolution on a Chronos 2.1 and I have not made any of these changes to the LUX1310 final. So please consider this to be experimental and subject to change.

20
Software Dev / Re: Chronos V0.4.0 Beta - Debian and Networking
« on: March 02, 2020, 01:37:07 PM »
I have published some fixes to the package repository that should address the black calibration failures reported by NiNeff.

For a camera that is running Debian, you can apply these fixes by connecting your camera to the internet via its Ethernet port, navigating to the Software Update screen and tapping the 'Check for Updates' button. This procedure will take a couple of minutes to download the updates from our server, but when it completes the camera should reboot automatically with the newest software.

Updating a Camera Over the Internet
Ensure that the camera is connected to the internet via its Ethernet jack, and that it has link. You can also view the network connection status from the camera on the Network tab of the Util Window.

Once the network connectivity has been established, navigate to the Storage tab of the Util window, and click on the Apply Software Update button to open the Software Update tool.


Under the 'Update From Package Repository' group, tap the Check for Updates to begin the update procedure.


The first step of the network update procedure is to download the latest package lists from the Debian and Krontech package repositories, and process them to locate any packages that have received updates.


If there are updates found, you will be prompted to proceed. Tap Yes to download and install the updates, or hit No to return the Software Update tool.


While the update is in progress, the camera should reports its progress as packages are downloaded, unpacked, and then installed onto your camera.


When the upgrade is completed, the camera should automatically reboot for the new software to take effect.


Changes Added in chronos-voyager-20200302.img.xz

chronos-control: 0.4.0~beta23 -> 0.4.0~beta29
python3-pychronos: 0.4.0~beta23 -> 0.4.0~beta29
  • startRecording D-Bus call signature changed to accept arguments.
  • Generate documentation for Enum types.
  • Add systemTemperature property.
  • Fix atomic read access bug when reading live calibration frames.
  • Add digitalGain property.

chronos-gui: 0.4.0~beta15 -> 0.4.0~beta20
chronos-update: 0.4.0~beta15 -> 0.4.0~beta20
  • Rename Chronos 2.1 GUI to reflect its experimental status.
  • Move digital gain widget to the recording settings window.
  • Add stylesheet to the frame preview window.
  • Add temperature and battery status to the about tab.

chronos-http: 0.4.0~beta13 -> 0.4.0~beta17
  • Fixed the record button, added storage location selector, added a 'mono dark theme.
  • Split css so that themes can be changeable.
  • Added screenCap script to get live JPEG images out of the video system.

chronos-pwrutil: 0.4.0~beta13 -> 0.4.0~beta14
chronos-tools: 0.4.0~beta13 -> 0.4.0~beta14
chronos-video: 0.4.0~beta13 -> 0.4.0~beta14
  • Add ability to update PMIC firmware on boot.

chronos-gui2: 0.4.0~beta131 -> 0.4.0~beta135
  • Fixed typo on main screen for Tungsten color preset.
  • Fixed bug with change in call signature for startRecording method.
  • Added insufficient space warnings, added dependency on dosfstools.
  • Fix black calibration results not persisting to disk.

21
Software Dev / Re: Chronos V0.4.0 Beta - Debian and Networking
« on: February 29, 2020, 01:18:28 PM »
some more quick findings:
 - I like the new UI, but menues lack a "back" option in addition to "done" which returens you all te way to the front page
I don't have a camera in front of me to test, but I seem to recall that most of the screens in the new GUI are only one layer deep from the front page, "back" and "done" are kinda the same thing for these pages. I will go through the GUI again on Monday to write up a more concrete bug report for this.

- the web interface does not show video for me, haven't done any more tests with it, but it looks great otherwise
We were trying not to announce the web interface yet, since it's really just a prototype at this point, but it came along for the ride with the HTTP/JSON API since they are built together in the same software package. In the version that got released in the beta, there is no video support yet on the web interface, and in the version that's in the unstable release it has crude video stream that works at about 1fps...  this is not ideal but we are working on it. The camera does natively support an RTSP stream for accessing the video at real-time, but we have found that getting this integrated into a browser is difficult.

- the new interface does not seem to have an option to restore the saved calibration data on the chronos 1.4, only to restore settings.
 - the restore calibration data fails on the old interface with the following message: "Error: tar command failed" if there is no calibration file on the external media. a more appropriate error message would be nice.
 - the slider for exposure is very sluggisch and barely reacts to screen input
 - as i pressed the button right next to the network acces password (the striped box) to hide the actually entered characters i got an error in red: "Status: Error, See journalctl." At that point i had not connected an ethernet cable yet.
 - great idea for the paython scripts! however the about.txt file gives an error as it can't be executed.
 - the saved footage screen does not detect videos shot with the previous software version. Also it displayes "1gb free / 12 gb total (94%full)" where I have no idea what it is referencing. The sd card is only 23% full.
I have logged some issues on github to track these things as we investigate them:

- i accidentally zoomed in on the main screen and can't find an easy way to zoom back out. pinching does not seem to work. but great feature to be able to zoom!
This feature is accessed by double-tapping the video window on the main screen and it should act like a toggle. So double-tap once to zoom in, and then double-tap again to zoom back to normal.

- the alphabetical order of the submenues on the new GUI seems suboptimal, is there a way to reorder them?
 - great ideea to be able to search for menues/settings!
At present, we don't have the ability to sort or dynamically change the ordering of the menus. They are created in a fixed order, but I agree that alphabetical is probably not the best sorting.

22
Software Dev / Re: Chronos V0.4.0 Beta - Debian and Networking
« on: February 29, 2020, 12:27:25 PM »
Great to finally have something new to paly with. great work guys!
I got as far as step 6: generating the calibration failed with the following error on my 1.4:

"Error during black calibration, error 22: API call fail"
with just the option for "ok"

Also: is this blinking extracting cube supposed to be this way?
https://www.youtube.com/watch?v=XdVor2fjf0U
looks wrong to me.

Ah, thank you for finding that, it turns out there is an issue in the factory calibration that has a probability of failing at very high framerates. I've managed to get a fix together that should be in the unstable release soon, and I should be able to get that change published into the beta when I get back to the office on Monday.

What is happening with the spinning cube is that your camera failed during this calibration phase, and the sensor is no longer outputting video. When the video system has nothing to display, it shows the loading animation instead. You will probably need a reboot of the camera to get video working again after this failure mode.

For the technical details, you can see the issue on github

23
Software Dev / Re: Chronos V0.4.0 Beta - Debian and Networking
« on: February 27, 2020, 01:17:33 PM »
This GUI is intended for experimental use only, please use the "Chronos" GUI if you require a stable and well-tested user interface.

To try out the new GUI2, described in this thread, you can access it by the software update menu as follows:
  • Navigate to the Storage tab of the Util Window
  • Tap the Apply Software Update button to open the software update tool.
  • Change the User Interface from Chonos to GUI2 (Experimental)
  • Tap the Apply button to have the UI selection take effect.
  • Tap the Quit button to exit the software update tool and return to the GUI.








24
Software Dev / Chronos V0.4.0 Beta - Debian and Networking
« on: February 27, 2020, 12:22:13 PM »
We are pleased to announce the beta release for our v0.4.0 software. The major focus of this release is to enable networking capabilities of the camera, and a new GUI to choose from. Under the hood, we have also replaced the operating system of the camera and will now be using an embedded build of the Debian operating system. This is the software that we are currently shipping on our Chronos 2.1 cameras, and is now also available for users of the Chronos 1.4.

    +----------------------------------+
   ++                                  ++
   |        Chronos V0.4.0-beta         |
   ++                                  ++
    +----------------------------------+


Notable Changes:
   - Support for the LUX2100 image sensor.
   - API for camera control via JSON/HTTP over the Ethernet port.
     * Examples: https://github.com/krontech/chronos-examples
   - Saving of media over network to an NFS and Samba share.
   - Software updates can be downloaded over the internet.
   - Real-time video stream from the camera using RTSP.
   - Experimental new GUI is available via the software update screen.
      * For more information: http://forum.krontech.ca/index.php?topic=498

Fixed Bugs:
   - Improved accuracy of overlay timestamps in frame trigger and shutter gating.

Minutae:
   - Internal D-Bus and Python APIs for camera control.
   - Move software update and GUI selection into a standalone tool.
   - Add the ability to switch between GUIs via the software update too.
   - Add Support for exposure trigger and shutter gating to IO3 (isolated).
   - Reogranized the trigger/IO settings window to make IO1 and IO2 consistent.
   - Allow specifying folders and complex paths in the save settings.

Changes During Beta:
   - Updates in build 20200302
   - Updates in build 20200331


Installation Instructions
The most up-to-date instructions can be found in the chronos-updates respository on GitHub, but we have done our best to transcribe them here for you. The update procedure shown here should be familiar to anyone who has used a embedded Debian system such as the Beaglebone or Raspberry Pi.

Since this update requires a complete replacement of the operating system, we currently only offer this upgrade by completely replacing the contents of the microSD card. We are working on a more user friendly upgrade procedure that will hopefully be available in the next couple of weeks using the v0.3.2 software update procedure.

Step 1: Backup Factory Calibration
This step is required for Chronos 2.1 users, failure to do so may result in degrated image quality due to missing calibration files after the upgrade. Users of the Chronos 1.4 may skip this step, and re-generate their calibration data in step 6.

To backup your factory calibration data:
  • Insert a FAT32-formatted USB drive into the USB/eSATA port on the side of the camera.
  • Navigate to the Storage tab of the Util Window.
  • Tap the Backup Calibration Data button to begin the backup procedure.
  • If successful, a message box will apear showing Calibration backup successful
  • Tap Ok to close the message box.
  • Tap the Eject Disk button to safely eject the USB drive.

Step 2: Download the Latest Software Image

There are two ways to write the Debian image to an SD card:
a. using an SD card reader on a computer
b. using a Chronos 1.4 camera, and the update-to-debian app, which writes the Debian image to an SD card with a capacity of at least 4GB in the camera's top slot. After writing the image, continue with "Step 5: Insert the microSD Card into Your Camera" in this topic. More information is in this post: http://forum.krontech.ca/index.php?topic=531.msg3049#msg3049

Download the latest Debian image from debian.krontech.ca/builds. The image file will have an img.xz extension, and contains a sector-by-sector compressed image of the microSD card. The software images are named in the form chronos-<release>-<builddate>.img.xz, and at present there are two releases available for download: voyager and unstable.

The voyager release is contains the software being tested for version v0.4.0, and represents a state of our software that has received some testing to flush out bugs. The features available in this release should be stable, and packages will be updated only as necessary to resolve bugs. This is analogous to the Debian testing release.

The unstable builds are generated nightly whenever new software is commited to our software repositories, and will always contain the bleeding edge code and latest features. However, this is not recommended except for development use, as software may break and APIs may change without notice. This is analgoous to the Debian sid release.

At some point in the distant future, we expect to make voyager the stable release, and a new codename will be chosen for the beta release of v0.5.0 when new features are ready for beta testing.

Step 3: Connect a microSD Card to Your Computer
Use your computer's microSD card slot, or a USB adaptor to connect a microSD card to your computer. Since this procedure will completely overwrite the contents of the microSD card, it is advisable to use a new card, and keep the original microSD card if you ever want to go back to the v0.3.2 or any earlier release. You will need to use a microSD card at least 4GB in size to install the Debian filesystem image.

Step 4: Write the Image to Your microSD Card
There are several options available to write the Debian filesystem image to your microSD card, depending on which operating system you are using.

With balenaEtcher
BalenaEtcher is an open-source tool that can be used to decompress and write filesystem images to storage media, such as the microSD card that the Chronos cameras use for their operating systems. BalenaEtcher is available for Windows, macOS and Linux.


When starting balenaEtcher, select the img.xz file that you want to install, the storage device it is to be written to, and then click the Flash! buton to begin the flashing process.


After starting the flashing process, balenaEtcher will display a progress bar as it first flashes, and then verifies the written image to the microSD card.


Finally, when flashing is completed. You can remove the microSD card from your computer.


Linux Command Line
The image can also be written directly to a microSD card using the xzcat and dd tools. However, this tool can be extremely dangerous if misused (dd is sometimes refered to as the disk destroyer), and it will just as easily overwrite your computer's root filesystem as it will the microSD card if you set the output device incorrectly.

First locate the block device of the microSD as it was detected by your operating system. In this example, it appears as /dev/sdX.
Code: [Select]
user@example:~$ lsblk -p
NAME                                       MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
/dev/nvme0n1                               259:0    0   477G  0 disk 
├─/dev/nvme0n1p3                           259:3    0 475.7G  0 part 
│ └─/dev/mapper/nvme0n1p3_crypt            253:0    0 475.7G  0 crypt
│   ├─/dev/mapper/ubuntu--gnome--vg-root   253:1    0 474.8G  0 lvm   /
│   └─/dev/mapper/ubuntu--gnome--vg-swap_1 253:2    0   980M  0 lvm   [SWAP]
├─/dev/nvme0n1p1                           259:1    0   512M  0 part  /boot/efi
└─/dev/nvme0n1p2                           259:2    0   732M  0 part  /boot
/dev/sdX                                     8:16   1  14.9G  0 disk 
├─/dev/sdX2                                  8:18   1   3.4G  0 part  /media/user/ROOTFS
└─/dev/sdX1                                  8:17   1  39.2M  0 part  /media/user/BOOT

Before we can write an image to the microSD card, we must first ensure that it is not mounted by your operating system. We can use the lsblk tool to list any devices mounted for this card, and unmount them as needed.
Code: [Select]
user@example:~$ for part in $(lsblk -n -o MOUNTPOINT /dev/sdX); do umount $part; done

The image can then be decompressed and written directly to the block device as follows. The decompressed image will be approximately 3.7 GB in size and, depending on the write speed of your microSD card, can take between 5 and 15 minutes to complete writing.
Code: [Select]
user@example:~$ xzcat chronos-voyager-20200226.img.xz | sudo dd of=/dev/sdX status=progress
[sudo] password for user:
3711142400 bytes (3.7 GB, 3.5 GiB) copied, 751 s, 4.9 MB/s   

Other Links

The process described here is very similar to the installation of many other embedded Linux systems. You can find similar guides for both the Raspberry Pi and Beaglebone, which may provide some useful suggestions on other ways to create a microSD card if these tools don't work for you.

Step 5: Insert the microSD Card into Your Camera
Remove the old microSD card from the slot located on the bottom of your camera, near the model and serial number, and replace it with the newly created microSD card with the v0.4.0 release. You will need to push the card in passed the detent to ensure it stays latched in place.


Once installed, you can power the camera on and you should be greeted with a Chronos boot logo, and eventually the user interface.

Step 6: Restore Factory Calibartion
After installing a new software image onto your microSD card, it is important to restore the factory calibration data to maintain the image quality of your Chronos camera.

Chronos 1.4: Generate Calibration
Users of the Chronos 1.4 can generate their calibration data automatically by navigating to the Factory tab of the Util Window, and tapping the Black Cal All Standard Resolutions button. This procedure can take up to 10 minutes to complete, and should be performed only once the camera has warmed up to its normal operating temperature.

Chronos 2.1: Restore Calibration
Users of the Chronos 2.1 must restore their calibration data by copying it off their camera before upgrading, as their camera is not capable of generating its own calibration data. To restore the calibration data:
  • Insert the USB drive with factory calibration data on it from step 1.
  • Navigate to the Storage tab of the Util Window.
  • Wait for the USB drive to appear in the USB/SATA storage status box.
  • Tap the Restore Calibration Data button to copy the calibration data back onto the microSD card.
  • Tap the Eject Disk button to safely eject the USB drive.

25
Chronos User Discussion / Re: Chronos Ring and ethernet support.
« on: August 28, 2019, 10:04:06 AM »
Yes, the cameras that we have been using in the Chronos ring are all running Debian, with a cople changes to the configuration and packages. The difficulty is that running the network control API, we do not have a GUI working just yet and the only way to control the cameras is through their network interface. This presents a fairly significant loss of general usability, which is why we haven't been shipping this our production cameras.

If you want to try out a camera running Debian, there should be some rough instructions in the README of the chronos-updates repository on how to build and install Debian onto your camera. We recommend doing this on a spare microSD card so that you can still revert back to a working camera by swapping the operating system cards.

26
Software Dev / Re: Camera powers off after update to 0.3.2
« on: July 24, 2019, 01:46:59 PM »
Also worth noting, you can distinguish between the cause of the reboot by watching the status LED on the top of the camera, it will blink red when the watchdog timer triggers a reboot. If the camera is rebooting for some other reason, such as a thermal overload or when the auto power-off feature is configured the red LED will not blink.

27
Software Dev / Re: Camera powers off after update to 0.3.2
« on: July 24, 2019, 09:46:06 AM »
That is very troubling, I'm sorry to hear that you've run into a problem like this.

Out of curiosity, does the camera ever show battery information in the bottom right hand corner of the screen before it shuts down? And if so, is the cycle time between the splash screen and the undesired reboot consistent?

When the auto power-on/off modes are disabled, or the camera is on AC power, there should only be two cases where the camera will reboot itself:
  • The main CPU has not made any communication to the power manager firmware within 60 seconds of boot.
  • The power manager firmware has detected an over-temperature condition and shut off power to the system for safety.

The most likely cause is that for some reason the software running on the main CPU is not requesting power information from the power manager firmware within that 60 second window.

28
Chronos User Discussion / Re: frame straddling
« on: July 17, 2019, 11:50:45 AM »
I'm afraid that this particular pattern of exposure and frame timing will not work. When the camera is operating in gated burst mode the rising edge of the trigger signal starts the exposure for a frame and the falling edge ends the exposure and begins the frame readout. During frame readout, the exposure for the next frame can be started but the exposure must continue for long enough that the falling edge happens after the readout of the first frame completes. A falling edge of the trigger signal while frame readout is in progress will be ignored because the pixel storage nodes on the image sensor are in use and are not able to accept another frame.

Because the image sensor does not have a physical shutter, there is no way to stop or pause the exposure of a frame, the exposure control is actually a signal that just continuously resets the state of the photodiodes to an unexposed state. At the end of exposure, the charge is transferred from the photodiodes into storage capacitors that hold the charge during sampling and readout. Therefore, the end of exposure must be concurrent with the start of the frame readout and only one frame can be held in the storage nodes at a time.

29
Do the vertical bands and the increased noise level issues persist after performing a black calibration? Note that changing the framerate will cause a change in frame timing that may invalidate the black calibration. In particular, framerates above 1053fps at 1280x1024 will need a different black calibration from framerates below 1053fps.

As for the horizontal lines; There is a horizontal artifact that appears in the raw image that corresponds to timing of where the shutter signal changes relative to the frame readout. The line of the image where this occurs is normally corrected by the black calibration. However, if the shutter is changed after black calibration then the calibration data will no longer correct for this artifact. The result is that you will see one or two horizontal lines on the image that will persist until a new black calibration is performed. This issue has existed in all previous software releases of the Chronos.

Another possible cause of horizontal lines that we are aware of when changing the shutter from the main window. If the shutter is changed in the middle of a frame it can result in a change in brightness partway through the image and this appears as bright flashes while changing shutter. However the issue should not persist for longer than a single frame.

30
Thanks for the testing and feedback everyone. I have updated this thread with an updated build of the beta software. Please see the first post for a link to the camUpdate-v0.3.2-beta-6-gd0ce2a6.zip installer package. As a brief description of what has changed since the beta-1 backage:

Notable Features:
 - Reverted to two-point (linear) gain correction. After further testing the 3-point correction just seems to cause problems at the more aggressive gain settings.

Minutae:
 - Add a watchdog to reboot the camera in case of power-on boot failure.

Fixed Bugs:
 - Memory leak in the M3 video coprocessor which could lead to a crash after lots of H.264 encoding.
 - Ignore video which was recorded during black calibration.
 - Changes to exposure may be overwritten during black calibration.

Pages: 1 [2] 3 4 5