Difference between revisions of "Tmp manual"

From ElphelWiki
Jump to: navigation, search
(Firmware images)
Line 142: Line 142:
* Recording is done by the '''camogm''' program
* Recording is done by the [[Camogm|'''camogm''']] program
* If recording to internal or external SSD, please, read about [[Tmp_manual#eSATA_port_switching|eSATA port switching]]
* If recording to internal or external SSD, please, read about [[Tmp_manual#eSATA_port_switching|eSATA port switching]]
* <font color='red'>important:</font> Event logger (GPS, IMU, IMG, EXT) recording is started/stopped separately. See [[Tmp_manual#Record_the_Event_Logger_data_.28GPS.2CIMU.2CIMG_.26_EXT.29|instructions]] below.
* <font color='red'>important:</font> Event logger (GPS, IMU, IMG, EXT) recording is started/stopped separately. See [[Tmp_manual#Record_the_Event_Logger_data_.28GPS.2CIMU.2CIMG_.26_EXT.29|instructions]] below.

Latest revision as of 17:46, 9 August 2017

Important Notes

In the package

  • 10393 camera system
Fig.1 10393 interfaces
  • Power supply wall adapter (default: 18-75V, more information)
  • CAT6 network cable
  • μUSB-to-USB cable
  • Recovery μSD card
  • If the camera is calibrated the calibration data will be on a separate storage media or on the internal SSD (likely /mnt/sda1)


See Fig.1:

GigE gigabit network
μSD micro SD card slot - boot or storage
console serial console port, use μUSB-to-USB cable
eSATA+USB 2-in-1. Connect USB or eSATA device. USB2.0 host
μUSB USB2.0 host
sync sync multiple cameras or other devices - input/output trigger signal through a 4-conductor 2.5mm audio plug with cable (example: digikey)

Power on

  • Plug in the power supply
  • Connect to LAN using the network cable


  • Boot time: ~30s
  • The default boot is from the on-board NAND flash. More information on available boot options and recovery boot.


IP Address
User root
Password pass
  • The default IP address is set in the /etc/elphel393/init_elphel393.py.
  • If present the internal SSD will be formatted into 2 partitions:
    • /dev/sda1 - ext4 (~64-100GB)
    • /dev/sda2 - raw partition (no file system) for fast recording

Command line access

  • ssh from PC terminal:
$ ssh root@

Serial console access

  • Use a microUSB-USB cable to connect console μUSB port (see Fig.1) to PC - the cable's end should be thin enough otherwise interferes with an inserted mmc (multi media card = μSD card).
  • In Linux the minicom program can be used
$ minicom -c on

Most likely the device will be /dev/ttyUSB0. Settings:

  • 115200 8N1, no for hardware/software flow control

Refer to the following article for more details on using minicom: Using minicom to connect to Elphel393 camera

Web user interface (camvc) (if not found - (type in the browser address bar - will be changed soon)):

  • The page contains links to camvc user interface for each individual camera port.
  • camvc was ported from the 10353 camera series:
    • change parameters like image format, resolution, auto exposure, auto white balance and more. Alternative way to change parameters is described below.
    • pause compressor and search within buffered images
    • help tips available - see Fig.2 - select then mouse over a control element of interest
Fig.2 enable camvc help tips
Fig.3 camvc controls

Download live images


  • For a currently opened port (displayed in the window title and as "...sensor_port=0..." in the URL):
Fig.4 Acquire an image from the Camera Control Interface


port 0:
port 1:
port 2:
port 3:

command line

wget -O filename.jpeg
wget -O filename.jpeg
wget -O filename.jpeg
wget -O filename.jpeg



Multipart JPEG stream


  • turn on:
~root@elphel393:~# /usr/bin/str
  • url:


gst-launch-1.0 souphttpsrc is-live=true location= ! jpegdec ! xvimagesink 


  • Recording is done by the camogm program
  • If recording to internal or external SSD, please, read about eSATA port switching
  • important: Event logger (GPS, IMU, IMG, EXT) recording is started/stopped separately. See instructions below.
  • For SATA devices camogm supports:
    • recording to a partition with a file system - up to 80MB/s
    • (default) faster recording to a partition without a file system (raw partition) avoiding OS calls - up to 220MB/s
  • To extract data from a raw partition use dd or these scripts to get the data and split it into images. Follow this link for details.
  • Can record to an mmc partiton or usb.
  • More info
  • If the prefix parameter, which is absolute path + prefix, for a channel is not set the file will be written somewhere to rootfs.
    • if prefix is empty then the absolute path must end with a slash.


Example 1: (provide a correct media mount point - /mnt/sda1/)

Follow this link for GUI description.

command line


  • /home/root, file prefix=test_, 1GB or 10min files whichever occurs first
    • setup and start (in one line):
echo "format=mov;status=/var/tmp/camogm.status;prefix=/home/root/test_;duration=600;length=1073741824;start" > /var/volatile/camogm_cmd
    • stop recording:
echo "stop" > /var/volatile/camogm_cmd

Event Logger (GPS, IMU, IMG & EXT)



  • Start:

  • Stop:

  • Help:

command line

  • start:
root@elphel393:~# cat /dev/imu > /path/filename.log
  • stop - CTRL-C or kill the process


Change parameters

More information

Change: - update values - submit form
    • GET request - XML response

Note 1: if the parameter's value is specified in URL it will be applied. The call can have mixed specified and unspecified parameters.

Note 2: The new value is read on the next call.


  • set 10 fps and enable output trigger signal

More information


  • parsedit.php and autocampars.php were ported from 353 camera series. There are a few changes from the originals related to 4x sensor ports:
    • parameters are individual for each sensor port - writing parameters to multiple port at once is controlled with a (bit-)mask input box
    • if opened w/o sensor_port specified the page will show links to available ports
    • sensor_port=x, where x=0..3 - in the address string - for a single sensor camera it is normally 0

Image formats


  • color: YCbCr 4:2:0, 3x3 pixels
  • mono6: monochrome - color YCbCr 4:2:0 with zeroed out color components
  • mono : monochrome - color YCbCr 4:0:0 with omitted color components

Note: Is not the best for processing since a lot of information is lost at demosaicing

jp4 raw

Temperature monitor

10393 hwmon.jpeg

eSATA port switching

  • requres 10389
  • available connections:
    • camera <=> internal SSD (default)
    • camera <=> external drive (external drive will need a separate power source)
    • PC <=> internal SSD
  • More information

Proper shutdown

  • if not properly shutdown - μSD might get corrupted (run sync at least)
shutdown -hP now

Same effect:

Firmware/software update

More information

Firmware images

Other info

Change default ip address

  • nano or vi
ssh root@
root@elphel393:~# nano /etc/elphel393/init_elphel393.py
edit - save


  • sed
root@elphel393:~# sed -i.bkp 's/' /etc/elphel393/init_elphel393.py
root@elphel393:~# sed -i.bkp 's/' /etc/elphel393/init_elphel393.py


#boot from flash?
root@elphel393:~# overlay_sync 1 
root@elphel393:~# shutdown -hP now
#boot from card?
root@elphel393:~# sync
root@elphel393:~# reboot -f

Set up histogram window and autoexposure parameters

Read article

Tools for calibrated systems

  • Install ImageJ plugins
    • decode jp4 raw format
    • aberrations correction
    • distortion correction (pixel mapping)
    • rectification and projection
    • JP46 Reader camera - decode JP4/JP46
    • Eyesis correction - post-process JP4s using calibration data

Switch between ERS and GRR modes in MT9P006

External/internal trigger and FPS control

SSD/MMC/USB formatting

Boot modes

Pointers monitor

  • Displays sensor, compressor and buffer states per 10393 port:

Known problems

  • [solved] Vertical artifacts in jpegs. Images are ok at 100% quality. Fixed, testing.
  • - multipart jpeg displays corrupted frames from time to time. Reason: network bandwidth?
  • [solved] Sometimes on power-on (NAND flash boot) cannot mount the card's rootfs partition. Kernel Panics. Power off/on. Soft "reboot -f" works ok.
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)

More info

  • Changing exposure/quality/gains - can corrupt images - needs testing.
  • After rewriting rootfs to μSD card - some of the cards get a corrupted partition - re-partitioning (reformatting?) solves the problem.
On the camera the rootfs is mounted as RW and some of the files are changed (also links created) -
most of the changes are now moved to tmpfs but something might have been missed.


  • In case rootfs is on flash, it might make sense (or maybe not as the history is updated only once on session exit) to disable bash sessions command history - disable bash history
  • When using overlays, deleting, existing in the lower layer, dirs can cause errors (hopefully it gets fixed someday), example:
    • /mnt/sda1 exists in lower layer: /tmp/rootfs.ro/tmp
    • upper layer is mounted to "/"
# rmdir /mnt/sda1
# mkdir /mnt/sda1
mkdir: cannot create directory '/mnt/sda1': Operation not supported