Imaging solutions with Free Software & Open Hardware

Who's online

There are currently 0 users online.

07/20/16 [meta-elphel393][master] by Oleg Dzhimiev: moving back to /

Elphel GIT logs - Wed, 07/20/2016 - 14:09
Oleg Dzhimiev committed changes to the Elphel git project :
moving back to /

07/20/16 [x393][master] by Oleg Dzhimiev: from /tmp back to / - because overlayfs

Elphel GIT logs - Wed, 07/20/2016 - 14:07
Oleg Dzhimiev committed changes to the Elphel git project :
from /tmp back to / - because overlayfs

07/20/16 [meta-elphel393][master] by Mikhail Karpenko: Update camogm start command in init script

Elphel GIT logs - Wed, 07/20/2016 - 13:30
Mikhail Karpenko committed changes to the Elphel git project :
Update camogm start command in init script

Using camogm with Elphel393 camera

Wiki Recent Changes - Wed, 07/20/2016 - 13:25

← Older revision Revision as of 19:25, 20 July 2016 Line 1: Line 1: -Elphel 393 series cameras can be equipped with m.2 SSD drive used for images and video recording. The camera equipped with a drive should be configured in a way that the drive can be accessible from Linux operating system. This is normally done with a configuration script which is executed during system boot. The script is usually located in the root directory on microSD card and called ''init_elphel393.sh''. These is a set of parameters in the beginning of the script and one of them is responsible for SATA controller configuration and driver loading:+Elphel 393 series cameras can be equipped with m.2 SSD drive used for images and video recording. The camera equipped with a drive should be configured in a way that the drive can be accessible from Linux operating system. This is normally done with a configuration script which is executed during system boot. The script is usually located in the root directory on microSD card or in the /etc directory and called ''init_elphel393.sh''. These is a set of parameters in the beginning of the script and one of them is responsible for SATA controller configuration and driver loading:   SATA_EN=1   SATA_EN=1 Line 30: Line 30:   /dev/mmcblk0p1 on /mnt/mmc type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)   /dev/mmcblk0p1 on /mnt/mmc type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)   /dev/sda1 on /mnt/sda1 type ext2 (rw,relatime,errors=continue)   /dev/sda1 on /mnt/sda1 type ext2 (rw,relatime,errors=continue)  +  +'''Note:''' subsequent description of ''camogm'' is no longer valid. Refer to [[Camogm]] wiki page for updated description. The program for video/images recording is called ''camogm''. Its full description for previous series of Elphel cameras is available on [[Camogm]] wiki page. Current version of the program supports four sensor channels and has the same command set as the previous version, but commands can be sent to each channel separately. The program can be started the same way as described in [[Camogm#Starting_camogm|Starting camogm]] section, but now it will create four command pipes instead of one and each pipe will have channel number appended to the name provided on command line: The program for video/images recording is called ''camogm''. Its full description for previous series of Elphel cameras is available on [[Camogm]] wiki page. Current version of the program supports four sensor channels and has the same command set as the previous version, but commands can be sent to each channel separately. The program can be started the same way as described in [[Camogm#Starting_camogm|Starting camogm]] section, but now it will create four command pipes instead of one and each pipe will have channel number appended to the name provided on command line: Mikhail

Camogm

Wiki Recent Changes - Wed, 07/20/2016 - 13:15

← Older revision Revision as of 19:15, 20 July 2016 Line 6: Line 6: *'''jpeg''' - series of the individual JPEG files (1 file per frame) *'''jpeg''' - series of the individual JPEG files (1 file per frame) *'''mov''' - MJPEG video in Apple QuickTime(R) container *'''mov''' - MJPEG video in Apple QuickTime(R) container - As of today the last one (mov) is probably the fastest one in the camera as it uses the minimum of computational resources. Ogg is optimized for streaming and requires additional memory copying and checksum calculation for all of the recorded data, individual JPEG files grow large directories that can use system resources, while recording mov format simply merges FPGA-encoded frames (with JPEG and optional Exif headers added by the software) and the file header (with frame index) is calculated only once per file.+As of today the last one (mov) is probably the fastest one in the camera as it uses the minimum of computational resources. Ogg is optimized for streaming and requires additional memory copying and checksum calculation for all of the recorded data, individual JPEG files grow large directories that can use system resources, while recording mov format simply merges FPGA-encoded frames (with JPEG and optional Exif headers added by the software) and the file header (with frame index) is calculated only once per file. This program makes use of the [[Circbuf|circbuf]] that can hold several seconds of even high resolution/high frame rate video, so switching from file to file and/or waiting for the search operations on the HDD will not cause the frame loss - that can be verified if the Exif headers are enabled - regardless of the format selected each frame will have the exact timestamp (with 1 microsecond resolution). This program makes use of the [[Circbuf|circbuf]] that can hold several seconds of even high resolution/high frame rate video, so switching from file to file and/or waiting for the search operations on the HDD will not cause the frame loss - that can be verified if the Exif headers are enabled - regardless of the format selected each frame will have the exact timestamp (with 1 microsecond resolution). Line 248: Line 248: Please see [[Camogmgui]] Please see [[Camogmgui]]  +  +== Elphel393 series cameras ==  +The functionality of ''camogm'' has been updated in Elphel393 series of cameras. The new version of the program can write data to a raw disk (disk without file system) and send the data over web sockets. The new version of ''camogm'' should be started with two command line arguments:  + camogm -n <named_pipe_name> -p <port_number>  +Where <named_pipe_name> is the file name that will be used to pass commands to ''camogm'' and <port_number> is a port number used for web interface. The existing command set has been extended with several new commands addressing new functions.  +  +=== port_enable ===  + port_enable=<port_number>  +Enable sensor port <port_number>. All sensor ports are enabled by default.  +  +=== port_disable ===  + port_disable=<port_number>  +Disable sensor port <port_number>. ''camogm'' does not read data from disabled ports.  +  +=== rawdev_path ===  +Use  + rawdev_path=<path_to_disk>  +or  + rawdev_path  +commands to set or reset path to raw device buffer. Setting path to raw device buffer along with jpeg format set switches ''camogm'' to raw device buffer operation. All subsequent writes and reads will be performed to or from raw disk. ''camogm'' saves write pointer while the program is running and sequential starts and stops will not lead to data overwrite. ''camogm'' will reject the 'start' command if the path to raw device buffer is set and current image format is not jpeg. You should either reset the path with 'rawdev_path' command without parameters or set format to jpeg with 'format=jpeg' to continue operation. Note, that ''camogm'' does not check the disk in any way and if the path is mistakenly set to a device with file system, the file system and the data on it will be destroyed.  +  +  +''camogm'' can process commands sent over a web socket. A command can be sent as HTTP GET request or as a simple string prefixed with 'cmd/', e.g.:  + cmd/next_file  +''camogm'' can process the following commands:  +  +=== find_file ===  + find_file:2016:07:12_17:14:00  +Find a file with a time stamp which is within one minute time frame from the time stamp given. If such a file was found, ''camogm'' saves the position of the file and 'next_file' command can be used to advance to the next file on disk. If file was not found, ''camogm'' silently resets connection without any data sent.  +  +=== next_file ===  +Get next file from disk. This command should only be used after 'find_file' command successfully finished and returned a file. If file pointer was not set or file was not found, ''camogm'' silently resets connection without any data sent.  +  +=== read_disk ===  +Read disk dump and send it over socket. The dump is split into several pieces and ''camogm'' returns the number of files to be sent in response to the command:  + Number of files: <number>  +The socket is closed right after this string is sent. ''camogm'' opens a socket for each file to be send, waits for connection, sends a file and closes connection after a file was sent.  +  +=== build_index ===  +Read raw device buffer and create disk index directory. This directory contains the offsets of all files found on disk and can be used to retrieve files from disk. This command is a prerequisite for get_index, read_file and read_all_files commands. Note that reading disks of several dozens or hundreds of Gib in size can take much time.  +  +=== get_index ===  +Get disk index directory. Each record in the directory corresponds to a single file and has the following format:  + port_number=<port_number>;unix_time=<unix_time>;usec_time=<usec_time>;offset=<disk_offset>;file_size=<size_in_bytes>  +<unix_time> here is time in Unix format, it represents the number of seconds elapsed since 1970-01-01 00:00:00 +0000 (UTC).  +  +=== read_file ===  + read_file:port_number=<port_number>;unix_time=<unix_time>;usec_time=<usec_time>;offset=<disk_offset>;file_size=<size_in_bytes>  +Read a file from raw disk buffer and send it over socket. The disk index directory should be built prior this command. If a file was not found in disk index directory (for example, because of a mistake in the command string), ''camogm'' silently resets connection without any data sent.  +  +=== read_all_files ===  +Retrieve all files from disk. Disk index directory should be built before this command can be executed. When this command is received, ''camogm'' sends back the number of files in the disk index directory:  + Number of files: <number>  +The socket is closed right after this string is sent. ''camogm'' opens a socket for each file to be send, waits for connection, sends a file and closes connection after a file is sent. Mikhail

07/20/16 [x393][master] by Andrey Filippov: reduced debug verbosity

Elphel GIT logs - Wed, 07/20/2016 - 11:45
Andrey Filippov committed changes to the Elphel git project :
reduced debug verbosity

07/20/16 [x393][master] by AndreyFilippov: Merge branch 'master' of github.com:Elphel/x393

Elphel GIT logs - Wed, 07/20/2016 - 11:02
AndreyFilippov committed changes to the Elphel git project :
Merge branch 'master' of github.com:Elphel/x393

07/20/16 [x393][framepars] by AndreyFilippov: fixed operation in target mode

Elphel GIT logs - Wed, 07/20/2016 - 11:01
AndreyFilippov committed changes to the Elphel git project :
fixed operation in target mode

07/19/16 [x393][framepars] by AndreyFilippov: added version (2 numberfs with a dot between)

Elphel GIT logs - Tue, 07/19/2016 - 23:48
AndreyFilippov committed changes to the Elphel git project :
added version (2 numberfs with a dot between)

07/19/16 [meta-elphel393][master-next] by Oleg Dzhimiev: +python-json

Elphel GIT logs - Tue, 07/19/2016 - 23:07
Oleg Dzhimiev committed changes to the Elphel git project :
+python-json

07/19/16 [x393][framepars] by AndreyFilippov: fixed symlink

Elphel GIT logs - Tue, 07/19/2016 - 19:13
AndreyFilippov committed changes to the Elphel git project :
fixed symlink

07/19/16 [elphel-apps-imgsrv][master-initial] by Mikhail Karpenko: Update doxygen documentation

Elphel GIT logs - Tue, 07/19/2016 - 18:52
Mikhail Karpenko committed changes to the Elphel git project :
Update doxygen documentation

07/19/16 [x393][master] by AndreyFilippov: added cocotb server/client

Elphel GIT logs - Tue, 07/19/2016 - 18:49
AndreyFilippov committed changes to the Elphel git project :
added cocotb server/client

07/19/16 [meta-elphel393][master-next] by Oleg Dzhimiev: initramfs compile

Elphel GIT logs - Tue, 07/19/2016 - 16:17
Oleg Dzhimiev committed changes to the Elphel git project :
initramfs compile

07/19/16 [elphel-apps-camogm][framepars] by Mikhail Karpenko: Clean up Makefile

Elphel GIT logs - Tue, 07/19/2016 - 16:15
Mikhail Karpenko committed changes to the Elphel git project :
Clean up Makefile

07/19/16 [elphel-apps-camogm][framepars] by Mikhail Karpenko: Remove debug code

Elphel GIT logs - Tue, 07/19/2016 - 15:53
Mikhail Karpenko committed changes to the Elphel git project :
Remove debug code

07/19/16 [elphel-apps-camogm][framepars] by Mikhail Karpenko: Append Eclipse project files

Elphel GIT logs - Tue, 07/19/2016 - 15:22
Mikhail Karpenko committed changes to the Elphel git project :
Append Eclipse project files

07/19/16 [elphel-apps-camogm][master] by Mikhail Karpenko: Minor updates to doxygen documentation

Elphel GIT logs - Tue, 07/19/2016 - 15:21
Mikhail Karpenko committed changes to the Elphel git project :
Minor updates to doxygen documentation

07/19/16 [meta-elphel393][master-next] by Oleg Dzhimiev: back to ezynq

Elphel GIT logs - Tue, 07/19/2016 - 11:30
Oleg Dzhimiev committed changes to the Elphel git project :
back to ezynq

07/18/16 [elphel-apps-camogm][master] by Mikhail Karpenko: Fix a couple of compiler warnings

Elphel GIT logs - Mon, 07/18/2016 - 21:13
Mikhail Karpenko committed changes to the Elphel git project :
Fix a couple of compiler warnings

Pages

Subscribe to www3.elphel.com aggregator