Imaging solutions with Free Software & Open Hardware

Who's online

There are currently 0 users online.

Subscribe to Wiki Recent Changes feed
Track the most recent changes to the wiki in this feed. MediaWiki 1.28.0
Updated: 47 min 1 sec ago

Eyesis4Pi 393

Thu, 12/22/2016 - 11:40

Tech Specs of a Single Image Sensor:

← Older revision Revision as of 18:40, 22 December 2016 (5 intermediate revisions not shown)Line 32: Line 32: * Final panoramic image equirectangular projection dimensions - 14000x7000 * Final panoramic image equirectangular projection dimensions - 14000x7000 * 0.05 Pix stitching precision * 0.05 Pix stitching precision  +* Very small parallax - distance between entrance pupils: 46.5 mm  +* High resolution lenses: 26x M12 lens mount * Calibrated fixed lens to compensate for the lenses distortions * Calibrated fixed lens to compensate for the lenses distortions **10" (0.1 pix) in the center 80% x 80% area **10" (0.1 pix) in the center 80% x 80% area **30" (0.3 pix) maximal error over the full FoV **30" (0.3 pix) maximal error over the full FoV **<0.03um/° thermal expansion **<0.03um/° thermal expansion -* 5 FPS - maximum frame rate  +* Precise image capture synchronization -* High-precision IMU [http://www.analog.com/en/products/sensors/inertial-measurement-units/adis16375.html ADIS 16375]+* 5 FPS - maximum frame rate  +* RAW or compressed image formats * Images are geo-tagged - 5Hz GPS receiver ([https://www.pololu.com/product/2138 Locosys LS20031]) * Images are geo-tagged - 5Hz GPS receiver ([https://www.pololu.com/product/2138 Locosys LS20031])  +* High-precision IMU [http://www.analog.com/en/products/sensors/inertial-measurement-units/adis16375.html ADIS 16375] * Recording to: * Recording to: ** internal SSDs ** internal SSDs ** external SSDs ** external SSDs ** a PC over network ** a PC over network -*   * Web Based GUI * Web Based GUI * SYNC cable allows: * SYNC cable allows: ** receive and log external trigger (from a sensor such as odometer or extra GNSS system) ** receive and log external trigger (from a sensor such as odometer or extra GNSS system) ** generate output signal to trigger other sensors or cameras ** generate output signal to trigger other sensors or cameras  +* Weatherproof camera body and camera pole  +* The Eyesis4Pi-393 system is highly customizable * Free Software and Open Hardware * Free Software and Open Hardware Line 85: Line 90: |[[File:Eyesis4pi393 recording internal ssds or network.png|thumb|300px|Fig.3 Recording to internal SSDs or over network]] |[[File:Eyesis4pi393 recording internal ssds or network.png|thumb|300px|Fig.3 Recording to internal SSDs or over network]] |[[File:Eyesis4pi393 footage download from internal ssds.png|thumb|300px|Fig.4 Downloading data from internal SSDs to PC]] |[[File:Eyesis4pi393 footage download from internal ssds.png|thumb|300px|Fig.4 Downloading data from internal SSDs to PC]]  +|}  +  +==Other info==  +====Tech specs of a single image sensor====  +{| border="1" class="wikitable"  +|-  +! Model  +| [http://www.onsemi.com/PowerSolutions/product.do?id=MT9P006 ONSemi MT9P006]  +|-  +! Color Image Sensor  +| 1/2.5" bayer-pattern CMOS  +|-  +! Effective number of pixels  +| 2592x1936 (5,018,112 pixels)  +|-  +! Aspect Ratio  +| Chip 4:3, Region of interest freely adjustable in 16 pixel steps  +|-  +! Sensor Output  +| 12 Bit ADC  +|-  +! Sensor Features  +| Region of interest, on-chip binning and decimation  +|-  +! Dynamic Range  +| 70 db (76 db at 2x2 binning)  +|-  +! Electronic Shutter  +| 1 us to "very long" (~3h) in 1us steps  +|-  +! Shutter Type  +| ERS  +|-  +! Gain  +| Analog &amp; Digital (0 db to 12 db continuous) |} |} Oleg

Eyesis4Pi Calibration

Thu, 12/22/2016 - 11:27

← Older revision Revision as of 18:27, 22 December 2016 Line 1: Line 1: -==IMU==+==Goniometer and IMU== {| {| -|[[File:Eyesis-with-cradle-pattern_small_2.jpeg|500px|thumb|Fig.1 Positive rotation angles in the calibration machine]]+|[[File:Eyesis-with-cradle-pattern_small_2.jpeg|380px|thumb|Fig.1 Positive rotation angles in the calibration machine]] |valign='top'|[[File:Goniometer.jpeg|400px|thumb|Fig.2 Goniometer]] |valign='top'|[[File:Goniometer.jpeg|400px|thumb|Fig.2 Goniometer]] |valign='top'|[[File:Eyesis4pi axes.jpeg|400px|thumb|Fig.3 IMU in Eyesis4&pi;]] |valign='top'|[[File:Eyesis4pi axes.jpeg|400px|thumb|Fig.3 IMU in Eyesis4&pi;]] |} |}  +  +IMU is [http://www.analog.com/en/products/sensors/inertial-measurement-units/adis16375.html ADIS 16375] - 2400 samples per second During the calibration process the goniometer rotates the camera about 2 axes (y & z on Fig.1) by precisely known angles. To calibrate IMU one needs to match the goniometer angles with the IMU data. During the calibration process the goniometer rotates the camera about 2 axes (y & z on Fig.1) by precisely known angles. To calibrate IMU one needs to match the goniometer angles with the IMU data. Oleg

Eyesis4Pi 393

Thu, 12/22/2016 - 11:27

← Older revision Revision as of 18:27, 22 December 2016 (9 intermediate revisions not shown)Line 1: Line 1: ==Status== ==Status== -Production+Available == Overview== == Overview== {| {| |- |- -|[[File:Eyesis4pi 1a.jpeg|150px|thumb|left]]+| valign='top' |[[File:Eyesis4pi 1a.jpeg|150px|thumb|left]] -|'''Elphel Eyesis4Pi-26-393''' is the newer generation of the full-sphere multi-camera systems for stereophotogrammetric applications.<!--360*180 panoramic camera... or less<sup>***</sup>view angle.<sup>*</sup> The camera is designed to be a measurement tool for [http://en.wikipedia.org/wiki/Photogrammetry photogrammetry] and to allow future [http://en.wikipedia.org/wiki/3D_reconstruction_from_multiple_images 3D reconstruction] of the scenes. --> The camera is [http://blogs.elphel.com/2010/11/zoom-in-now-enhance/ calibrated] to compensate for optical aberrations allowing to preserve full sensor resolution over the camera FoV. [http://blog.elphel.com/2011/10/subpixel-registration-and-distrortion-measurement/ Distortion calibration] is performed for precise pixel-mapping to automatically stitch images into panoramas, and also for [http://en.wikipedia.org/wiki/Photogrammetry photogrammetry]and [http://en.wikipedia.org/wiki/3D_reconstruction_from_multiple_images 3D reconstruction]. <!--due to precise optical calibration of sensor+lens modules and pixel-mapping. Eyesis4Pi can be used for panorama capturing and allow to get high quality final images of the panoramas which no other cameras available on the market can produce. -->&nbsp;+|'''Elphel Eyesis4Pi-26-393''' is the newer generation of the full-sphere multi-camera systems for stereophotogrammetric applications.<!--360*180 panoramic camera... or less<sup>***</sup>view angle.<sup>*</sup> The camera is designed to be a measurement tool for [http://en.wikipedia.org/wiki/Photogrammetry photogrammetry] and to allow future [http://en.wikipedia.org/wiki/3D_reconstruction_from_multiple_images 3D reconstruction] of the scenes. --> -There are 24 x 5MPix sensors in the camera head, resulting in 120 MPix image acquisition. Panorama image resolution after stitching is 64 MPix.+* The system is [http://blogs.elphel.com/2010/11/zoom-in-now-enhance/ calibrated] to compensate for optical aberrations allowing to preserve full sensor resolution over the field of view. -High-precision Inertial Measurement Unit IMU (ADIS 16375, 2400 samples per second) is integrated with the camera, as well as 5Hz GPS (Locosys LS20031) to provide precise position and orientation of the camera. Images, synchronized with IMU and GPS data, are recorded to internal Solid State Drives (SSD) or to an external computer over the network.+* [http://blog.elphel.com/2011/10/subpixel-registration-and-distrortion-measurement/ Distortion calibration] is performed for precise pixel-mapping to automatically stitch images into panoramas, and also for [http://en.wikipedia.org/wiki/Photogrammetry photogrammetry] and [http://en.wikipedia.org/wiki/3D_reconstruction_from_multiple_images 3D reconstruction]. <!--due to precise optical calibration of sensor+lens modules and pixel-mapping. Eyesis4Pi can be used for panorama capturing and allow to get high quality final images of the panoramas which no other cameras available on the market can produce. -->&nbsp; -Eyesis4Pi camera system includes Eyesis computer for image downloading and post-processing with pre-installed SDK and Free and Open Source Software for camera calibration, image acquisition and panorama stitching.+* There are 24 x 5MPix sensors in the camera head, resulting in 120 MPix image acquisition. Panorama image resolution after stitching is 64 MPix, the equirectangular projection is 14000x7000.  +* High-precision Inertial Measurement Unit IMU (ADIS 16375, 2400 samples per second) is integrated with the camera, as well as 5Hz GPS (Locosys LS20031) to provide precise position and orientation of the camera.  +* Images, synchronized with IMU and GPS data, can be recorded to internal Solid State Drives (SSD), external swappable SSDs or to a PC over the network.  +* Optionally Eyesis4Pi-393 camera system includes PC for image downloading and post-processing with pre-installed SDK and Free and Open Source Software for camera calibration, image acquisition and panorama stitching.  +* Eyesis4Pi-393 can be mounted on a car for outdoor panoramic applications or carried by a person, which lets successfully create panoramas of small and narrow spaces.<sup>*</sup><br> -Eyesis4Pi can be mounted on a car for outdoor panoramic applications or carried by a person, which lets successfully create panoramas of small and narrow spaces.<sup>**</sup><br>+Automated panoramic imagery and 3-dimensional panoramas are the 2 main applications of Eyesise4Pi-393 camera. -Automated panoramic imagery and 3-dimensional panoramas are 2 main applications of Eyesise4Pi camera.+   +<sup>*</sup> ''Car and backpack mounts are not included.'' ====Improvements over older generation [[Eyesis4Pi]]==== ====Improvements over older generation [[Eyesis4Pi]]==== Line 32: Line 37: **<0.03um/° thermal expansion **<0.03um/° thermal expansion * 5 FPS - maximum frame rate   * 5 FPS - maximum frame rate   -* Integrated high-precision IMU and GPS+* High-precision IMU [http://www.analog.com/en/products/sensors/inertial-measurement-units/adis16375.html ADIS 16375]  +* Images are geo-tagged - 5Hz GPS receiver ([https://www.pololu.com/product/2138 Locosys LS20031]) * Recording to: * Recording to: ** internal SSDs ** internal SSDs ** external SSDs ** external SSDs -** to PC over network+** a PC over network  +* * Web Based GUI * Web Based GUI  +* SYNC cable allows:  +** receive and log external trigger (from a sensor such as odometer or extra GNSS system)  +** generate output signal to trigger other sensors or cameras * Free Software and Open Hardware * Free Software and Open Hardware ==Calibration== ==Calibration== -We have developed full calibration process and post-processing software to compensate for optical aberrations, allowing to preserve full sensor resolution over the camera FOV, and distortions – for precise pixel-mapping for photogrammetry and 3D reconstruction. Check out this [http://blogs.elphel.com/2010/06/elphel-eyesis-camera-optics-and-lens-focus-adjustment/ Elphel Development Blog post] for more details.+We have developed full calibration process and post-processing software to compensate for:  +* '''Optical aberrations''', allowing to preserve full sensor resolution over the camera FoV.  +* '''Distortions''' – for precise pixel-mapping for photogrammetry and 3D reconstruction.  +   +The [[Eyesis4Pi_Calibration|calibration]] is performed using the machine ('''goniometer''') that rotates the camera about 2 axes by precisely known angles. To calibrate IMU one needs to match the goniometer angles with the IMU data.  +   +Check out these articles for more details:  +* [http://blog.elphel.com/2012/09/building-and-calibrating-eyesis4%CF%80/ Building and calibrating Eyesis4Pi]  +* [http://blog.elphel.com/2013/06/elphel-new-camera-calibration-facility/ New calibration facility]  +  {| {| |- |- |[[File:Eyesis4pi393 calibration resized.jpeg|450px|thumb| Calibration process]] |[[File:Eyesis4pi393 calibration resized.jpeg|450px|thumb| Calibration process]] |[[File:Eyesis4pi393 calibration closer resized.jpeg|200px|thumb]] |[[File:Eyesis4pi393 calibration closer resized.jpeg|200px|thumb]]  +|[[File:Eyesis-with-cradle-pattern_small_2.jpeg|340px|thumb| Calibration process drawing]] |} |} Oleg

Eyesis4Pi 393

Thu, 12/22/2016 - 10:42

Calibration:

← Older revision Revision as of 17:42, 22 December 2016 (3 intermediate revisions not shown)Line 1: Line 1: ==Status== ==Status== -Production+Available == Overview== == Overview== {| {| |- |- |[[File:Eyesis4pi 1a.jpeg|150px|thumb|left]] |[[File:Eyesis4pi 1a.jpeg|150px|thumb|left]] -|'''Elphel Eyesis4Pi-26-393''' is the newer generation of the full-sphere multi-camera systems for stereophotogrammetric applications.<!--360*180 panoramic camera... or less<sup>***</sup>view angle.<sup>*</sup> The camera is designed to be a measurement tool for [http://en.wikipedia.org/wiki/Photogrammetry photogrammetry] and to allow future [http://en.wikipedia.org/wiki/3D_reconstruction_from_multiple_images 3D reconstruction] of the scenes. --> The camera is [http://blogs.elphel.com/2010/11/zoom-in-now-enhance/ calibrated] to compensate for optical aberrations allowing to preserve full sensor resolution over the camera FoV. [http://blog.elphel.com/2011/10/subpixel-registration-and-distrortion-measurement/ Distortion calibration] is performed for precise pixel-mapping to automatically stitch images into panoramas, and also for [http://en.wikipedia.org/wiki/Photogrammetry photogrammetry]and [http://en.wikipedia.org/wiki/3D_reconstruction_from_multiple_images 3D reconstruction]. <!--due to precise optical calibration of sensor+lens modules and pixel-mapping. Eyesis4Pi can be used for panorama capturing and allow to get high quality final images of the panoramas which no other cameras available on the market can produce. -->&nbsp;+|'''Elphel Eyesis4Pi-26-393''' is the newer generation of the full-sphere multi-camera systems for stereophotogrammetric applications.<!--360*180 panoramic camera... or less<sup>***</sup>view angle.<sup>*</sup> The camera is designed to be a measurement tool for [http://en.wikipedia.org/wiki/Photogrammetry photogrammetry] and to allow future [http://en.wikipedia.org/wiki/3D_reconstruction_from_multiple_images 3D reconstruction] of the scenes. --> -There are 24 x 5MPix sensors in the camera head, resulting in 120 MPix image acquisition. Panorama image resolution after stitching is 64 MPix.+* The system is [http://blogs.elphel.com/2010/11/zoom-in-now-enhance/ calibrated] to compensate for optical aberrations allowing to preserve full sensor resolution over the field of view. -High-precision Inertial Measurement Unit IMU (ADIS 16375, 2400 samples per second) is integrated with the camera, as well as 5Hz GPS (Locosys LS20031) to provide precise position and orientation of the camera. Images, synchronized with IMU and GPS data, are recorded to internal Solid State Drives (SSD) or to an external computer over the network.+* [http://blog.elphel.com/2011/10/subpixel-registration-and-distrortion-measurement/ Distortion calibration] is performed for precise pixel-mapping to automatically stitch images into panoramas, and also for [http://en.wikipedia.org/wiki/Photogrammetry photogrammetry] and [http://en.wikipedia.org/wiki/3D_reconstruction_from_multiple_images 3D reconstruction]. <!--due to precise optical calibration of sensor+lens modules and pixel-mapping. Eyesis4Pi can be used for panorama capturing and allow to get high quality final images of the panoramas which no other cameras available on the market can produce. -->&nbsp; -Eyesis4Pi camera system includes Eyesis computer for image downloading and post-processing with pre-installed SDK and Free and Open Source Software for camera calibration, image acquisition and panorama stitching.+* There are 24 x 5MPix sensors in the camera head, resulting in 120 MPix image acquisition. Panorama image resolution after stitching is 64 MPix, the equirectangular projection is 14000x7000.  +* High-precision Inertial Measurement Unit IMU (ADIS 16375, 2400 samples per second) is integrated with the camera, as well as 5Hz GPS (Locosys LS20031) to provide precise position and orientation of the camera.  +* Images, synchronized with IMU and GPS data, can be recorded to internal Solid State Drives (SSD), external swappable SSDs or to a PC over the network.  +* Optionally Eyesis4Pi-393 camera system includes PC for image downloading and post-processing with pre-installed SDK and Free and Open Source Software for camera calibration, image acquisition and panorama stitching.  +* Eyesis4Pi-393 can be mounted on a car for outdoor panoramic applications or carried by a person, which lets successfully create panoramas of small and narrow spaces.<sup>**</sup><br> -Eyesis4Pi can be mounted on a car for outdoor panoramic applications or carried by a person, which lets successfully create panoramas of small and narrow spaces.<sup>**</sup><br>+Automated panoramic imagery and 3-dimensional panoramas are the 2 main applications of Eyesise4Pi-393 camera. -Automated panoramic imagery and 3-dimensional panoramas are 2 main applications of Eyesise4Pi camera.+ ====Improvements over older generation [[Eyesis4Pi]]==== ====Improvements over older generation [[Eyesis4Pi]]==== Line 36: Line 39: ** internal SSDs ** internal SSDs ** external SSDs ** external SSDs -** to PC over network+** a PC over network * Web Based GUI * Web Based GUI * Free Software and Open Hardware * Free Software and Open Hardware ==Calibration== ==Calibration== -We have developed full calibration process and post-processing software to compensate for optical aberrations, allowing to preserve full sensor resolution over the camera FOV, and distortions – for precise pixel-mapping for photogrammetry and 3D reconstruction. Check out this [http://blogs.elphel.com/2010/06/elphel-eyesis-camera-optics-and-lens-focus-adjustment/ Elphel Development Blog post] for more details.+We have developed full calibration process and post-processing software to compensate for:  +* '''Optical aberrations''', allowing to preserve full sensor resolution over the camera FoV.  +* '''Distortions''' – for precise pixel-mapping for photogrammetry and 3D reconstruction.    +Check out this [http://blogs.elphel.com/2010/06/elphel-eyesis-camera-optics-and-lens-focus-adjustment/ Elphel Development Blog post] for more details. {| {| |- |- Oleg

Tmp manual

Wed, 12/21/2016 - 21:06

← Older revision Revision as of 04:06, 22 December 2016 Line 154: Line 154: Example: Example: <font size='2'> <font size='2'> -* channel '''2''', '''/home/root''', file prefix='''test_''', '''1GB''' or '''10min''' files whichever occurs first+* '''/home/root''', file prefix='''test_''', '''1GB''' or '''10min''' files whichever occurs first ** setup and start (in one line): ** 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   echo "format=mov;status=/var/tmp/camogm.status;prefix=/home/root/test_;duration=600;length=1073741824;start" > /var/volatile/camogm_cmd Oleg

Eyesis4Pi 393

Wed, 12/21/2016 - 20:04

Overview:

← Older revision Revision as of 03:04, 22 December 2016 (8 intermediate revisions not shown)Line 1: Line 1: ==Status== ==Status== -==Overview==+Production  +== Overview==  +{|  +|-  +|[[File:Eyesis4pi 1a.jpeg|150px|thumb|left]]  +|'''Elphel Eyesis4Pi-26-393''' is the newer generation of the full-sphere multi-camera systems for stereophotogrammetric applications.<!--360*180 panoramic camera... or less<sup>***</sup>view angle.<sup>*</sup> The camera is designed to be a measurement tool for [http://en.wikipedia.org/wiki/Photogrammetry photogrammetry] and to allow future [http://en.wikipedia.org/wiki/3D_reconstruction_from_multiple_images 3D reconstruction] of the scenes. --> The camera is [http://blogs.elphel.com/2010/11/zoom-in-now-enhance/ calibrated] to compensate for optical aberrations allowing to preserve full sensor resolution over the camera FoV. [http://blog.elphel.com/2011/10/subpixel-registration-and-distrortion-measurement/ Distortion calibration] is performed for precise pixel-mapping to automatically stitch images into panoramas, and also for [http://en.wikipedia.org/wiki/Photogrammetry photogrammetry]and [http://en.wikipedia.org/wiki/3D_reconstruction_from_multiple_images 3D reconstruction]. <!--due to precise optical calibration of sensor+lens modules and pixel-mapping. Eyesis4Pi can be used for panorama capturing and allow to get high quality final images of the panoramas which no other cameras available on the market can produce. -->&nbsp;  +   +There are 24 x 5MPix sensors in the camera head, resulting in 120 MPix image acquisition. Panorama image resolution after stitching is 64 MPix.  +High-precision Inertial Measurement Unit IMU (ADIS 16375, 2400 samples per second) is integrated with the camera, as well as 5Hz GPS (Locosys LS20031) to provide precise position and orientation of the camera. Images, synchronized with IMU and GPS data, are recorded to internal Solid State Drives (SSD) or to an external computer over the network.  +Eyesis4Pi camera system includes Eyesis computer for image downloading and post-processing with pre-installed SDK and Free and Open Source Software for camera calibration, image acquisition and panorama stitching.  +   +Eyesis4Pi can be mounted on a car for outdoor panoramic applications or carried by a person, which lets successfully create panoramas of small and narrow spaces.<sup>**</sup><br>  +Automated panoramic imagery and 3-dimensional panoramas are 2 main applications of Eyesise4Pi camera.  +   +====Improvements over older generation [[Eyesis4Pi]]====  +* new [[10393]] system boards  +** faster recording  +** more powerful  +* more compact - the pole is 2 times shorter  +* lighter  +|}  +   +== Features ==  +* 4*π (360x180) full sphere coverage  +* 64 MPix panoramic image resolution after stitching  +* Final panoramic image equirectangular projection dimensions - 14000x7000  +* 0.05 Pix stitching precision  +* Calibrated fixed lens to compensate for the lenses distortions  +**10" (0.1 pix) in the center 80% x 80% area  +**30" (0.3 pix) maximal error over the full FoV  +**<0.03um/° thermal expansion  +* 5 FPS - maximum frame rate  +* Integrated high-precision IMU and GPS  +* Recording to:  +** internal SSDs  +** external SSDs  +** to PC over network  +* Web Based GUI  +* Free Software and Open Hardware  +   +==Calibration==  +We have developed full calibration process and post-processing software to compensate for optical aberrations, allowing to preserve full sensor resolution over the camera FOV, and distortions – for precise pixel-mapping for photogrammetry and 3D reconstruction. Check out this [http://blogs.elphel.com/2010/06/elphel-eyesis-camera-optics-and-lens-focus-adjustment/ Elphel Development Blog post] for more details.  +{|  +|-  +|[[File:Eyesis4pi393 calibration resized.jpeg|450px|thumb| Calibration process]]  +|[[File:Eyesis4pi393 calibration closer resized.jpeg|200px|thumb]]  +|} ==3D Model== ==3D Model== Oleg

Eyesis4Pi 393

Wed, 12/21/2016 - 19:38

← Older revision Revision as of 02:38, 22 December 2016 Line 1: Line 1: ==Status== ==Status== -==Overview==+Production  +== Overview==  +Elphel Eyesis4Pi-393 is the newer generation of the full-sphere multi-camera systems for stereophotogrammetric applications. The camera is [http://blogs.elphel.com/2010/11/zoom-in-now-enhance/ calibrated] to compensate for optical aberrations allowing to preserve full sensor resolution over the camera FoV. [http://blog.elphel.com/2011/10/subpixel-registration-and-distrortion-measurement/ Distortion calibration] is performed for precise pixel-mapping to automatically stitch images into panoramas, and also for [http://en.wikipedia.org/wiki/Photogrammetry photogrammetry]and [http://en.wikipedia.org/wiki/3D_reconstruction_from_multiple_images 3D reconstruction]. <!--due to precise optical calibration of sensor+lens modules and pixel-mapping. Eyesis4Pi can be used for panorama capturing and allow to get high quality final images of the panoramas which no other cameras available on the market can produce. -->&nbsp;  +   +There are 24 x 5MPix sensors in the camera head, resulting in 120 MPix image acquisition. Panorama image resolution after stitching is 64 MPix.  +High-precision Inertial Measurement Unit IMU (ADIS 16375, 2400 samples per second) is integrated with the camera, as well as 5Hz GPS (Locosys LS20031) to provide precise position and orientation of the camera. Images, synchronized with IMU and GPS data, are recorded to internal Solid State Drives (SSD) or to an external computer over the network.  +Eyesis4Pi camera system includes Eyesis computer for image downloading and post-processing with pre-installed SDK and Free and Open Source Software for camera calibration, image acquisition and panorama stitching.  +   +Eyesis4Pi can be mounted on a car for outdoor panoramic applications or carried by a person, which lets successfully create panoramas of small and narrow spaces.<sup>**</sup><br>  +Automated panoramic imagery and 3-dimensional panoramas are 2 main applications of Eyesise4Pi camera.  +   +==Improvements over older generation [[Eyesis4Pi]]==  +* new [[10393]] system boards  +** faster recording  +** more powerful  +* more compact - the pole is 2 times shorter  +* lighter ==3D Model== ==3D Model== Oleg

Price list

Wed, 12/21/2016 - 18:38

← Older revision Revision as of 01:38, 22 December 2016 Line 21: Line 21: |- |- |colspan='2'| |colspan='2'| -|'''NC393'''+|'''NC393-F-CS''' |'''NC393-DEV''' |'''NC393-DEV''' -|'''NC393-H'''+|'''MNC393-H''' |- |- |colspan='2'| |colspan='2'| -|[[File:NC393-CS-sm.jpeg|100px|link=http://www3.elphel.com/nc393-cs]]+|[[File:Nc393 small.jpeg|100px|link=http://www3.elphel.com/nc393-cs]] |[[File:Nc393-dev-sm.jpeg|150px]] |[[File:Nc393-dev-sm.jpeg|150px]] |[[File:Nc-393-printed-H-.jpeg|150px|link=http://www3.elphel.com/mnc393-custom]] |[[File:Nc-393-printed-H-.jpeg|150px|link=http://www3.elphel.com/mnc393-custom]] Line 121: Line 121: $95 $95 | &nbsp; | &nbsp; -++- | &nbsp; | &nbsp; - - Line 187: Line 187: |- style='border-top:solid 3px black;' |- style='border-top:solid 3px black;' |colspan='2'|Price |colspan='2'|Price -|$2725+|$2630 |$1835-$2990 |$1835-$2990 |$3495 |$3495 Oleg

File:Nc393 small.jpeg

Wed, 12/21/2016 - 18:34

uploaded "[[File:Nc393 small.jpeg]]"

Oleg

Price list

Wed, 12/21/2016 - 16:35

Cameras:

← Older revision Revision as of 23:35, 21 December 2016 Line 190: Line 190: |$1835-$2990 |$1835-$2990 |$3495 |$3495 -|-  -|colspan='2'|Price with KIT  -|$TBA  -|$TBA-$TBA  -|$TBA  |} |} -  -  =<font color='DarkBlue'>Camera Kits</font>= =<font color='DarkBlue'>Camera Kits</font>= Oleg

Using camogm with Elphel393 camera

Wed, 12/21/2016 - 12:43

← Older revision Revision as of 19:43, 21 December 2016 (One intermediate revision not shown)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: -  ~# ls -l /var/volatile/+  root@elphel393:~# ls -l /var/volatile/state/ -  prwxr-xr-x    1 root    root            0 May 31 16:55 camogm_cmd0+  -rw-r--r-- 1 root root 176 Dec 21 18:56 camera - prwxr-xr-x    1 root     root             0 May 31 16:55 camogm_cmd1+  prwxrwxrwx 1 root root   0 Dec 21 19:28 camogm.state -  prwxr-xr-x    1 root     root             0 May 31 16:55 camogm_cmd2+  prwxr-xr-x 1 root root   0 Dec 21 19:28 camogm_cmd -  prwxr-xr-x   1 root     root             0 May 31 16:55 camogm_cmd3+ - drwxr-xr-x    2 root    root          180 May 31 16:54 log+ - drwxrwxrwt    2 root    root          160 May 31 16:54 tmp+ - + -''camogm'' is started from ''init_elphel393.sh'' script by default and its output is may not be visible on your console. You can stop current instances of the program and restart it from you terminal if the output should be visible:+ - + - ~# for i in `seq 0 3`; do echo "exit" > /var/volatile/camogm_cmd$i; done+ - ~# camogm /var/volatile/camogm_cmd+ -Alternatively, the status information output can be redirected to a file as described in [[Camogm#Sending_Commands_to_camogm|Sending commands to camogm]].+The status information output can be redirected to a file as described in [[Camogm#Sending_Commands_to_camogm|Sending commands to camogm]]. Note, that ''camogm'' is under development and not all features of the previous version have been ported to new camera. As for now, geo tagging and exif specific commands are not implemented. Watch for updates on our [https://github.com/Elphel github page]. Note, that ''camogm'' is under development and not all features of the previous version have been ported to new camera. As for now, geo tagging and exif specific commands are not implemented. Watch for updates on our [https://github.com/Elphel github page]. Line 54: Line 44: ===Example=== ===Example=== ====1.==== ====1.==== -* channel '''2''' (0-3)+* recorded ports: all active ports will be recorded * mount point '''/mnt/sda1''' (also works for a micro SD card partition, rootfs partition, USB or mounted NFS partition but the recording speed is slower than for an SSD) * mount point '''/mnt/sda1''' (also works for a micro SD card partition, rootfs partition, USB or mounted NFS partition but the recording speed is slower than for an SSD) * max duration = '''10 min''' (new file every 10 mins or other limit) * max duration = '''10 min''' (new file every 10 mins or other limit) * max size = '''1GB''' (new file every 1GB or other limit) * max size = '''1GB''' (new file every 1GB or other limit) * format = '''mov''' * format = '''mov''' -* status updates: '''/var/tmp/camogm2.status'''+* status updates: '''/var/tmp/camogm.status''' start recording: start recording: <font size='2'> <font size='2'> -  echo "format=mov;status=/var/tmp/camogm2.status;prefix=/mnt/sda1/;duration=600;length=1073741824;start" > /var/volatile/camogm_cmd2+  echo "format=mov;status=/var/tmp/camogm.status;prefix=/mnt/sda1/;duration=600;length=1073741824;start" > /var/volatile/camogm_cmd stop recording: stop recording: -  echo "stop" > /var/volatile/camogm_cmd2+  echo "stop" > /var/volatile/camogm_cmd   sync   sync -'''NOTE:''' ''sync'' is important if you power off the camera w/o proper unmounting of the media  +'''NOTE:''' ''sync'' is important if you power off the camera w/o proper unmounting of the media. </font> </font> Oleg

Parsedit.php

Wed, 12/21/2016 - 11:52

← Older revision Revision as of 18:52, 21 December 2016 Line 76: Line 76: * change image format (COLOR) to JP4 for all ports: * change image format (COLOR) to JP4 for all ports:   http://192.168.0.9/parsedit.php?immediate&sensor_port=0&COLOR=5&*COLOR=0xf   http://192.168.0.9/parsedit.php?immediate&sensor_port=0&COLOR=5&*COLOR=0xf  +  +====Program FPS====  +Read [[Trigger 393]] [[Category:353]] [[Category:353]] [[Category:393]] [[Category:393]] Oleg

Tmp manual

Wed, 12/21/2016 - 10:51

Change parameters:

← Older revision Revision as of 17:51, 21 December 2016 (One intermediate revision not shown)Line 204: Line 204: Note 2: The new value is read on the next call. Note 2: The new value is read on the next call.  +  +Example:  +* set 10 fps and enable output trigger signal  + http://192.168.0.9/parsedit.php?sensor_port=0&immediate&TRIG_CONDITION=0&TRIG_OUT=0x66555&TRIG_PERIOD=10000000&TRIG=4 [[Parsedit.php|'''More information''']] [[Parsedit.php|'''More information''']] Line 213: Line 217: ** if opened w/o sensor_port specified the page will show links to available ports ** 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 ** '''sensor_port=x''', where x=0..3 - in the address string - for a single sensor camera it is normally 0 -  -  ==<font color="blue">Temperature monitor</font>== ==<font color="blue">Temperature monitor</font>== Oleg

Trigger 393

Wed, 12/21/2016 - 10:47

← Older revision Revision as of 17:47, 21 December 2016 (One intermediate revision not shown)Line 54: Line 54: ===External trigger receive=== ===External trigger receive=== * http://192.168.0.9/parsedit.php?sensor_port=0&immediate&TRIG_CONDITION=0x95555&TRIG_OUT=0x66555&TRIG_PERIOD=100000000&TRIG=4 * http://192.168.0.9/parsedit.php?sensor_port=0&immediate&TRIG_CONDITION=0x95555&TRIG_OUT=0x66555&TRIG_PERIOD=100000000&TRIG=4 -* at the same time the fpga generator will be generating a 1 fps signal+* at the same time the fpga generator outputs a 1 fps signal - if the sync cable wires are properly connected the camera can be triggered from this 'external' signal  +===Recover from missing external trigger signal to internal trigger===  +* http://192.168.0.9/parsedit.php?sensor_port=0&immediate&TRIG_CONDITION=0*-2  +** '''*-2''' - apply value parameter in the current frame (if not specified, the default is 3) ===Manual triggering from PC=== ===Manual triggering from PC=== Line 76: Line 79: ====Disable==== ====Disable==== -* Update the TRIG_PERIOD in the PHP interface - or simply check the box and hit Apply:+=====Update the TRIG_PERIOD in the current frame===== - http://192.168.0.9/parsedit.php?TRIG&TRIG_CONDITION&TRIG_DELAY&TRIG_OUT&TRIG_PERIOD&TRIG_BITLENGTH&EXTERN_TIMESTAMP&XMIT_TIMESTAMP&refresh+* http://192.168.0.9/parsedit.php?sensor_port=0&immediate&TRIG_PERIOD=10000000*-2  +   +=====Update the TRIG_PERIOD from the user interface=====  +* http://192.168.0.9/parsedit.php?TRIG&TRIG_CONDITION&TRIG_DELAY&TRIG_OUT&TRIG_PERIOD&TRIG_BITLENGTH&EXTERN_TIMESTAMP&XMIT_TIMESTAMP&refresh * Refresh until the changes are applied (with Program Ahead = 3 it's 3 times): * Refresh until the changes are applied (with Program Ahead = 3 it's 3 times):   http://192.168.0.9:8081/trig/pointers   http://192.168.0.9:8081/trig/pointers  + ==<font color="blue">Links</font>== ==<font color="blue">Links</font>== Oleg

Trigger 393

Wed, 12/21/2016 - 10:32

External trigger receive:

← Older revision Revision as of 17:32, 21 December 2016 Line 54: Line 54: ===External trigger receive=== ===External trigger receive=== * http://192.168.0.9/parsedit.php?sensor_port=0&immediate&TRIG_CONDITION=0x95555&TRIG_OUT=0x66555&TRIG_PERIOD=100000000&TRIG=4 * http://192.168.0.9/parsedit.php?sensor_port=0&immediate&TRIG_CONDITION=0x95555&TRIG_OUT=0x66555&TRIG_PERIOD=100000000&TRIG=4 -* at the same time the fpga generator will be generating a 1 fps signal+* at the same time the fpga generator outputs a 1 fps signal - if the sync cable wires are properly connected the camera can be triggered from this 'external' signal - + ===Manual triggering from PC=== ===Manual triggering from PC=== Oleg

Tmp manual

Tue, 12/20/2016 - 19:41

← Older revision Revision as of 02:41, 21 December 2016 Line 37: Line 37: |- |- ! sync ! sync -| sync multiple cameras or other devices - input/output trigger signal through a 4-conductor 2.5mm audio plug (example: [http://www.digikey.com/products/en?keywords=839-1029-ND digikey])+| sync multiple cameras or other devices - input/output trigger signal through a 4-conductor 2.5mm audio plug with cable (example: [http://www.digikey.com/products/en?keywords=839-1029-ND digikey]) |} |} Line 241: Line 241:   http://192.168.0.9/autocampars.php?reboot   http://192.168.0.9/autocampars.php?reboot - +==<font color="blue">Firmware/software update</font>==  +[[Poky_2.0_manual#Write_files_to_media_and_boot|'''More information''']] ==<font color="blue">Firmware images</font>== ==<font color="blue">Firmware images</font>== TBA TBA  +  +==<font color="blue">Other info</font>==  +====switch between ERS and GRR modes in MT9P006====  +* [[Electronic_Rolling_Shutter#ERS_and_GRR_in_MT9P001_on_10393|Read article]]  +====External/internal trigger and FPS control====  +* [[Trigger_393]] Oleg

Trigger 393

Tue, 12/20/2016 - 19:40

← Older revision Revision as of 02:40, 21 December 2016 (2 intermediate revisions not shown)Line 18: Line 18: |- |- | TRIG   | TRIG   -| Trigger mode enable. '''0''' - free running, '''4''' - triggered by external signal or internal FPGA timing generator.+| Trigger mode. '''0x0''' - free running, '''0x4''' - triggered by external signal or FPGA timing generator, '''0x14''' - triggered in GRR mode |- |- -| TRIG_PERIOD +| TRIG_MASTER -| FPGA trigger sequencer output sync period (32 bits, in pixel clocks (100MHz or 10ns)). 0- stop. 1 - single, &gt;=256 repetitive with specified period (values 2..255 are reserved for programming timestamp communication)+| Master sensor_port (0..3) for triggering setup, other ports will have settings duplicated  +|-  +| TRIG_CONDITION  +| FPGA trigger sequencer trigger condition, 0 - internal, else dibits: 00 - do not use, 01 - keep, 10 - active low, 11 - active high for each GPIO[9:0] pin). 10389 board inverts signals, so 0x80000 - input from external connector, 0x08000 - input from internal flex cable (as in Eyesis) |- |- | TRIG_DELAY   | TRIG_DELAY   | FPGA trigger sequencer trigger delay, 32 bits in pixel clocks (100MHz or 10ns) | FPGA trigger sequencer trigger delay, 32 bits in pixel clocks (100MHz or 10ns) |- |- -| EXTERN_TIMESTAMP +| TRIG_OUT -| When 1 camera will use external timestamp (received over inter-camera synchronization cable) if it is available (no action when external syncronization is not connected), when 0 - local timestamp will be used+| FPGA trigger sequencer trigger output to GPIO, dibits: 00 - do not use, 01 - keep, 10 - active low GPIO output, 11 - active high GPIO output. 10389 board inverts signals, so 0x02000 - output to external connector (active high), 0x20000 - output to internal flex connector  +|-  +| TRIG_PERIOD  +| FPGA trigger sequencer output sync period (32 bits, in pixel clocks (100MHz or 10ns)). 0- stop. 1 - single, >=256 repetitive with specified period |- |- | TRIG_BITLENGTH   | TRIG_BITLENGTH   | Bit length minus 1 (in pixel clock cycles) when transmitting/receiving timestamps, without timestamps the output pulse width is 8*(TRIG_BITLENGTH+1). Legal values 2..255 | Bit length minus 1 (in pixel clock cycles) when transmitting/receiving timestamps, without timestamps the output pulse width is 8*(TRIG_BITLENGTH+1). Legal values 2..255  +|-  +| EXTERN_TIMESTAMP  +| When 1 camera will use external timestamp (received over inter-camera synchronization cable) if it is available (no action when external syncronization is not connected), when 0 - local timestamp will be used |- |- | XMIT_TIMESTAMP   | XMIT_TIMESTAMP   | Specify output signal sent through internal/external connector (defined by TRIG_OUT). 0 - transmit just sync pulse (8*(TRIG_BITLENGTH+1) pixel clock periods long), 1 - pulse+timestamp 64*(TRIG_BITLENGTH+1) pixel clock periods long | Specify output signal sent through internal/external connector (defined by TRIG_OUT). 0 - transmit just sync pulse (8*(TRIG_BITLENGTH+1) pixel clock periods long), 1 - pulse+timestamp 64*(TRIG_BITLENGTH+1) pixel clock periods long -|-  -| TRIG_CONDITION   -| trigger condition, 0 - internal, else dibits ((use<<1) | level) for each GPIO[11:0] pin 0x0 - from FPGA, 0x80000 - ext, 0x8000 - int, 0x88000 - any, 0x95555 - add ext, 0x59999 - add int   -|-  -| TRIG_OUT   -| trigger output to GPIO, dibits ((use << 1) | level_when_active). Bit 24 - test mode, when GPIO[11:10] are controlled by other internal signals 0x56555 - ext connector, 0x65555  - internal connector 0x66555 - both, 0x55555 - none  |} |} ==<font color="blue">Examples</font>== ==<font color="blue">Examples</font>==  +===Internal periodic trigger (10 fps, from fpga generator)===  +* http://192.168.0.9/parsedit.php?sensor_port=0&immediate&TRIG_CONDITION=0&TRIG_PERIOD=10000000&TRIG=4  +  +===Internal periodic trigger (4 fps, from fpga generator) + output the signal to external port===  +* http://192.168.0.9/parsedit.php?sensor_port=0&immediate&TRIG_CONDITION=0&TRIG_OUT=0x66555&TRIG_PERIOD=25000000&TRIG=4  +  +===External trigger receive===  +* http://192.168.0.9/parsedit.php?sensor_port=0&immediate&TRIG_CONDITION=0x95555&TRIG_OUT=0x66555&TRIG_PERIOD=100000000&TRIG=4  +* at the same time the fpga generator will be generating a 1 fps signal  + ===Manual triggering from PC=== ===Manual triggering from PC=== Line 52: Line 65: * The command automatically sets a single-shot trigger mode with TRIG_PERIOD=0x1, but it writes the register directly into the FPGA,   * The command automatically sets a single-shot trigger mode with TRIG_PERIOD=0x1, but it writes the register directly into the FPGA,   not updating the TRIG_PERIOD in the PHP interface: not updating the TRIG_PERIOD in the PHP interface: -  http://192.168.0.9/parsedit.php?TRIG&TRIG_CONDITION&TRIG_DELAY&TRIG_OUT&TRIG_PERIOD&TRIG_BITLENGTH&EXTERN_TIMESTAMP&XMIT_TIMESTAMP&IRQ_SMART&refresh+  http://192.168.0.9/parsedit.php?TRIG&TRIG_CONDITION&TRIG_DELAY&TRIG_OUT&TRIG_PERIOD&TRIG_BITLENGTH&EXTERN_TIMESTAMP&XMIT_TIMESTAMP&refresh </font> </font> Line 60: Line 73: ====Check status==== ====Check status==== -  http://192.168.0.9/parsedit.php?immediate&TRIG&TRIG_PERIOD&IRQ_SMART&SENS_AVAIL&FRAME+  http://192.168.0.9/parsedit.php?immediate&TRIG&TRIG_PERIOD&SENS_AVAIL&FRAME ====Disable==== ====Disable==== * Update the TRIG_PERIOD in the PHP interface - or simply check the box and hit Apply: * Update the TRIG_PERIOD in the PHP interface - or simply check the box and hit Apply: -  http://192.168.0.9/parsedit.php?TRIG&TRIG_CONDITION&TRIG_DELAY&TRIG_OUT&TRIG_PERIOD&TRIG_BITLENGTH&EXTERN_TIMESTAMP&XMIT_TIMESTAMP&IRQ_SMART&refresh+  http://192.168.0.9/parsedit.php?TRIG&TRIG_CONDITION&TRIG_DELAY&TRIG_OUT&TRIG_PERIOD&TRIG_BITLENGTH&EXTERN_TIMESTAMP&XMIT_TIMESTAMP&refresh * Refresh until the changes are applied (with Program Ahead = 3 it's 3 times): * Refresh until the changes are applied (with Program Ahead = 3 it's 3 times):   http://192.168.0.9:8081/trig/pointers   http://192.168.0.9:8081/trig/pointers -  -===Internal periodic trigger (from fpga generator)===  -* TRIG_CONDITION=0x0  -* set the TRIG_PERIOD (values 256+ are clock intervals - 10ns)  -* TRIG=0x4  -  -===Internal periodic trigger (from fpga generator) + output the trigger signal===  -* TRIG_CONDITION=0x0  -* set the TRIG_PERIOD  -* TRIG=0x4  -* TRIG_OUT=0x66555  -  -===External trigger===  -====Receive====  -GPIO[10] needs to be configured to receive the trigger signal:  -<font size='2'>  -* (Same parameters for master and slave)  - TRIG_OUT=0x565555  - set the TRIG_PERIOD=100000000 (dec,=1fps)  - TRIG=0x4  -  -====Generate====  -* TRIG_CONDITION=0x0  -* set the TRIG_PERIOD  -* TRIG=0x4  -* TRIG_OUT=0x66555  -</font>  ==<font color="blue">Links</font>== ==<font color="blue">Links</font>== Oleg

Trigger 393

Tue, 12/20/2016 - 19:31

← Older revision Revision as of 02:31, 21 December 2016 (One intermediate revision not shown)Line 18: Line 18: |- |- | TRIG   | TRIG   -| Trigger mode enable. '''0''' - free running, '''4''' - triggered by external signal or internal FPGA timing generator.+| Trigger mode. '''0x0''' - free running, '''0x4''' - triggered by external signal or FPGA timing generator, '''0x14''' - triggered in GRR mode |- |- -| TRIG_PERIOD +| TRIG_MASTER -| FPGA trigger sequencer output sync period (32 bits, in pixel clocks (100MHz or 10ns)). 0- stop. 1 - single, &gt;=256 repetitive with specified period (values 2..255 are reserved for programming timestamp communication)+| Master sensor_port (0..3) for triggering setup, other ports will have settings duplicated  +|-  +| TRIG_CONDITION  +| FPGA trigger sequencer trigger condition, 0 - internal, else dibits: 00 - do not use, 01 - keep, 10 - active low, 11 - active high for each GPIO[9:0] pin). 10389 board inverts signals, so 0x80000 - input from external connector, 0x08000 - input from internal flex cable (as in Eyesis) |- |- | TRIG_DELAY   | TRIG_DELAY   | FPGA trigger sequencer trigger delay, 32 bits in pixel clocks (100MHz or 10ns) | FPGA trigger sequencer trigger delay, 32 bits in pixel clocks (100MHz or 10ns) |- |- -| EXTERN_TIMESTAMP +| TRIG_OUT -| When 1 camera will use external timestamp (received over inter-camera synchronization cable) if it is available (no action when external syncronization is not connected), when 0 - local timestamp will be used+| FPGA trigger sequencer trigger output to GPIO, dibits: 00 - do not use, 01 - keep, 10 - active low GPIO output, 11 - active high GPIO output. 10389 board inverts signals, so 0x02000 - output to external connector (active high), 0x20000 - output to internal flex connector  +|-  +| TRIG_PERIOD  +| FPGA trigger sequencer output sync period (32 bits, in pixel clocks (100MHz or 10ns)). 0- stop. 1 - single, >=256 repetitive with specified period |- |- | TRIG_BITLENGTH   | TRIG_BITLENGTH   | Bit length minus 1 (in pixel clock cycles) when transmitting/receiving timestamps, without timestamps the output pulse width is 8*(TRIG_BITLENGTH+1). Legal values 2..255 | Bit length minus 1 (in pixel clock cycles) when transmitting/receiving timestamps, without timestamps the output pulse width is 8*(TRIG_BITLENGTH+1). Legal values 2..255  +|-  +| EXTERN_TIMESTAMP  +| When 1 camera will use external timestamp (received over inter-camera synchronization cable) if it is available (no action when external syncronization is not connected), when 0 - local timestamp will be used |- |- | XMIT_TIMESTAMP   | XMIT_TIMESTAMP   | Specify output signal sent through internal/external connector (defined by TRIG_OUT). 0 - transmit just sync pulse (8*(TRIG_BITLENGTH+1) pixel clock periods long), 1 - pulse+timestamp 64*(TRIG_BITLENGTH+1) pixel clock periods long | Specify output signal sent through internal/external connector (defined by TRIG_OUT). 0 - transmit just sync pulse (8*(TRIG_BITLENGTH+1) pixel clock periods long), 1 - pulse+timestamp 64*(TRIG_BITLENGTH+1) pixel clock periods long -|-  -| TRIG_CONDITION   -| trigger condition, 0 - internal, else dibits ((use<<1) | level) for each GPIO[11:0] pin 0x0 - from FPGA, 0x80000 - ext, 0x8000 - int, 0x88000 - any, 0x95555 - add ext, 0x59999 - add int   -|-  -| TRIG_OUT   -| trigger output to GPIO, dibits ((use << 1) | level_when_active). Bit 24 - test mode, when GPIO[11:10] are controlled by other internal signals 0x56555 - ext connector, 0x65555  - internal connector 0x66555 - both, 0x55555 - none  |} |} ==<font color="blue">Examples</font>== ==<font color="blue">Examples</font>==  +===Internal periodic trigger (10 fps, from fpga generator)===  +* http://192.168.0.9/parsedit.php?sensor_port=0&immediate&TRIG_CONDITION=0&TRIG_PERIOD=10000000&TRIG=4  +  +===Internal periodic trigger (4 fps, from fpga generator) + output the trigger signal===  +* http://192.168.0.9/parsedit.php?sensor_port=0&immediate&TRIG_CONDITION=0&TRIG_OUT=0x66555&TRIG_PERIOD=25000000&TRIG=4 ===Manual triggering from PC=== ===Manual triggering from PC=== Line 52: Line 60: * The command automatically sets a single-shot trigger mode with TRIG_PERIOD=0x1, but it writes the register directly into the FPGA,   * The command automatically sets a single-shot trigger mode with TRIG_PERIOD=0x1, but it writes the register directly into the FPGA,   not updating the TRIG_PERIOD in the PHP interface: not updating the TRIG_PERIOD in the PHP interface: -  http://192.168.0.9/parsedit.php?TRIG&TRIG_CONDITION&TRIG_DELAY&TRIG_OUT&TRIG_PERIOD&TRIG_BITLENGTH&EXTERN_TIMESTAMP&XMIT_TIMESTAMP&IRQ_SMART&refresh+  http://192.168.0.9/parsedit.php?TRIG&TRIG_CONDITION&TRIG_DELAY&TRIG_OUT&TRIG_PERIOD&TRIG_BITLENGTH&EXTERN_TIMESTAMP&XMIT_TIMESTAMP&refresh </font> </font> Line 60: Line 68: ====Check status==== ====Check status==== -  http://192.168.0.9/parsedit.php?immediate&TRIG&TRIG_PERIOD&IRQ_SMART&SENS_AVAIL&FRAME+  http://192.168.0.9/parsedit.php?immediate&TRIG&TRIG_PERIOD&SENS_AVAIL&FRAME ====Disable==== ====Disable==== * Update the TRIG_PERIOD in the PHP interface - or simply check the box and hit Apply: * Update the TRIG_PERIOD in the PHP interface - or simply check the box and hit Apply: -  http://192.168.0.9/parsedit.php?TRIG&TRIG_CONDITION&TRIG_DELAY&TRIG_OUT&TRIG_PERIOD&TRIG_BITLENGTH&EXTERN_TIMESTAMP&XMIT_TIMESTAMP&IRQ_SMART&refresh+  http://192.168.0.9/parsedit.php?TRIG&TRIG_CONDITION&TRIG_DELAY&TRIG_OUT&TRIG_PERIOD&TRIG_BITLENGTH&EXTERN_TIMESTAMP&XMIT_TIMESTAMP&refresh * Refresh until the changes are applied (with Program Ahead = 3 it's 3 times): * Refresh until the changes are applied (with Program Ahead = 3 it's 3 times):   http://192.168.0.9:8081/trig/pointers   http://192.168.0.9:8081/trig/pointers -===Internal periodic trigger (from fpga generator)===  -* TRIG_CONDITION=0x0  -* set the TRIG_PERIOD (values 256+ are clock intervals - 10ns)  -* TRIG=0x4  -===Internal periodic trigger (from fpga generator) + output the trigger signal===  -* TRIG_CONDITION=0x0  -* set the TRIG_PERIOD  -* TRIG=0x4  -* TRIG_OUT=0x66555  ===External trigger=== ===External trigger=== Oleg

Trigger 393

Tue, 12/20/2016 - 19:03

New page

==<font color="blue">Description</font>==
10389 board is required.

The triggering is used for one or several cameras synchronization or setting the frame rate (or fps). The conditions of the trigger can be generated either internally or externally. For external triggering a 4-conductor 2.5mm audio plug with cable (example: [http://www.digikey.com/products/en?keywords=839-1029-ND digikey]) is required.

To program trigger go to: '''http://192.168.0.9/parsedit.php => External Trigger Controls'''

'''NOTE: Be careful with changing parameters when TRIG=4. Camera drivers are driven by the frame sync interrupts from the sensor, so if the sensor is not triggered - everything can get stuck. The Program Ahead value sets the number of frame sync interrupts the camera will wait wait for until a parameter is reprogrammed.'''

[[File:Parsedit screenshot 3.png|thumb|750px|External Trigger Controls page]]

==<font color="blue">Parameters</font>==

{| border="1"
|-
| ''parameter''
| ''description''
|-
| TRIG
| Trigger mode enable. '''0''' - free running, '''4''' - triggered by external signal or internal FPGA timing generator.
|-
| TRIG_PERIOD
| FPGA trigger sequencer output sync period (32 bits, in pixel clocks (100MHz or 10ns)). 0- stop. 1 - single, &gt;=256 repetitive with specified period (values 2..255 are reserved for programming timestamp communication)
|-
| TRIG_DELAY
| FPGA trigger sequencer trigger delay, 32 bits in pixel clocks (100MHz or 10ns)
|-
| EXTERN_TIMESTAMP
| When 1 camera will use external timestamp (received over inter-camera synchronization cable) if it is available (no action when external syncronization is not connected), when 0 - local timestamp will be used
|-
| TRIG_BITLENGTH
| Bit length minus 1 (in pixel clock cycles) when transmitting/receiving timestamps, without timestamps the output pulse width is 8*(TRIG_BITLENGTH+1). Legal values 2..255
|-
| XMIT_TIMESTAMP
| Specify output signal sent through internal/external connector (defined by TRIG_OUT). 0 - transmit just sync pulse (8*(TRIG_BITLENGTH+1) pixel clock periods long), 1 - pulse+timestamp 64*(TRIG_BITLENGTH+1) pixel clock periods long
|-
| TRIG_CONDITION
| trigger condition, 0 - internal, else dibits ((use<<1) | level) for each GPIO[11:0] pin 0x0 - from FPGA, 0x80000 - ext, 0x8000 - int, 0x88000 - any, 0x95555 - add ext, 0x59999 - add int
|-
| TRIG_OUT
| trigger output to GPIO, dibits ((use << 1) | level_when_active). Bit 24 - test mode, when GPIO[11:10] are controlled by other internal signals 0x56555 - ext connector, 0x65555 - internal connector 0x66555 - both, 0x55555 - none
|}

==<font color="blue">Examples</font>==

===Manual triggering from PC===
====Enable====
<font size='2'>
http://192.168.0.9:2323/trig/pointers

* TRIG=4 should be set in advance
* The command automatically sets a single-shot trigger mode with TRIG_PERIOD=0x1, but it writes the register directly into the FPGA,
not updating the TRIG_PERIOD in the PHP interface:
http://192.168.0.9/parsedit.php?TRIG&TRIG_CONDITION&TRIG_DELAY&TRIG_OUT&TRIG_PERIOD&TRIG_BITLENGTH&EXTERN_TIMESTAMP&XMIT_TIMESTAMP&IRQ_SMART&refresh
</font>

====Trigger/Refresh====
<font size='2'>
http://192.168.0.9:8081/trig/pointers

====Check status====
http://192.168.0.9/parsedit.php?immediate&TRIG&TRIG_PERIOD&IRQ_SMART&SENS_AVAIL&FRAME

====Disable====
* Update the TRIG_PERIOD in the PHP interface - or simply check the box and hit Apply:
http://192.168.0.9/parsedit.php?TRIG&TRIG_CONDITION&TRIG_DELAY&TRIG_OUT&TRIG_PERIOD&TRIG_BITLENGTH&EXTERN_TIMESTAMP&XMIT_TIMESTAMP&IRQ_SMART&refresh
* Refresh until the changes are applied (with Program Ahead = 3 it's 3 times):
http://192.168.0.9:8081/trig/pointers

===Internal periodic trigger (from fpga generator)===
* TRIG_CONDITION=0x0
* set the TRIG_PERIOD (values 256+ are clock intervals - 10ns)
* TRIG=0x4

===Internal periodic trigger (from fpga generator) + output the trigger signal===
* TRIG_CONDITION=0x0
* set the TRIG_PERIOD
* TRIG=0x4
* TRIG_OUT=0x66555

===External trigger===
====Receive====
GPIO[10] needs to be configured to receive the trigger signal:
<font size='2'>
* (Same parameters for master and slave)
TRIG_OUT=0x565555
set the TRIG_PERIOD=100000000 (dec,=1fps)
TRIG=0x4

====Generate====
* TRIG_CONDITION=0x0
* set the TRIG_PERIOD
* TRIG=0x4
* TRIG_OUT=0x66555
</font>

==<font color="blue">Links</font>==
* [[10389]] extension board

[[Category:393]] Oleg

Pages