Eyesis4Pi 393 User Guide - Recording
Example
← Older revision Revision as of 23:08, 22 April 2017 (12 intermediate revisions by the same user not shown)Line 6: Line 6: git clone https://git.elphel.com/Elphel/eyesis4pi-393-gui.git git clone https://git.elphel.com/Elphel/eyesis4pi-393-gui.git git pull (repeat any time to get the latest) git pull (repeat any time to get the latest) −https://git.elphel.com: − https://git.elphel.com/Elphel/eyesis4pi-393-gui/tree/master Follow the instructions in INSTALL.txt: Follow the instructions in INSTALL.txt: Line 14: Line 12: 2. Make the src folder visible to the web server: 2. Make the src folder visible to the web server: − 2a. Create a link, terminal: "sudo ln -sf <path-to-eyesis4pi_gui-folder> /var/www/eyesisgui"+ 2a. Create a link, terminal: "sudo ln -sf <path-to-eyesis4pi_gui-folder> /var/www/html/eyesisgui" 2b. Or copy all the files to /var/www/eyesisgui. 2b. Or copy all the files to /var/www/eyesisgui. − Note: "/var/www" is the (apache2) web server's document root folder.+ Note: ''/var/www/html'' is apache2 document root folder. − (for recording to the device over network only)+ (for recording over network only to host device) 2c. Make the footage root folder "/data/footage" writable for everyone. 2c. Make the footage root folder "/data/footage" writable for everyone. + + 3. Make editable ''eyesis4pi-393-gui/settings.xml'' for the webserver + $ chmod 777 settings.xml + This file restores the settings from previous session. + Line 35: Line 38: * Connect all cables - power, network, eSATA. * Connect all cables - power, network, eSATA. * Power on: switch, SSD enclosure, Eyesis4Pi393. Boot takes about 1 min. * Power on: switch, SSD enclosure, Eyesis4Pi393. Boot takes about 1 min. −* Setup PC IP (can be done beforehand).+* Setup PC IP (can be done beforehand, see [[Eyesis4Pi_393_User_Guide_-_Recording#Network_Setup|Network Setup]]) * Refresh GUI after camera boots * Refresh GUI after camera boots − Note 1: If GUI is refreshed before subcamera has mounted SSD it will not display SSD free space. Refresh in a few moments or until SSD gets mounted.+ http://127.0.0.1/eyesisgui + + Note: If GUI is refreshed before subcamera has mounted SSD it will not display SSD free space. Refresh in a few moments or until SSD gets mounted. <b> <b> − Important Notice: Use a fan to cool the camera's pole when shooting indoors.+ Important Note: Use a fan to cool the camera's pole when shooting indoors. </b> </b> {| {| Line 145: Line 150: == Setting recording parameters: camera settings == == Setting recording parameters: camera settings == − +===Description=== * '''Settings''' -> '''Camera'''-tab * '''Settings''' -> '''Camera'''-tab − '''Trigger period,ms ''' - 1/FPS, 200 = 5fps, 250 = 4fps, 500 = 2fps, 1000 = 1fps...+ '''Trigger period,ms ''' - 1/FPS, 250 = 4fps, 500 = 2fps, 1000 = 1fps... '''HDRVexpos''' - not used. '''HDRVexpos''' - not used. '''Manual Exposure''' - used when auto exposure is off. '''Manual Exposure''' - used when auto exposure is off. Line 171: Line 176: | [[File:Eyesis4pi393gui tab other.png|thumb|500px]] | [[File:Eyesis4pi393gui tab other.png|thumb|500px]] |} |} + +===Example=== +# '''Trigger period''' = '''250''' - hit '''APPLY''' below '''AutoExp frame ahead''' +# '''Compression quality''' = '''96''' - edit or use +/-, the value is applied on change +# Start recording == Start == == Start == OlegEyesis4Pi 393 User Guide - Recording
Download & Install
← Older revision Revision as of 22:38, 22 April 2017 Line 6: Line 6: git clone https://git.elphel.com/Elphel/eyesis4pi-393-gui.git git clone https://git.elphel.com/Elphel/eyesis4pi-393-gui.git git pull (repeat any time to get the latest) git pull (repeat any time to get the latest) −https://git.elphel.com: − https://git.elphel.com/Elphel/eyesis4pi-393-gui/tree/master Follow the instructions in INSTALL.txt: Follow the instructions in INSTALL.txt: Line 20: Line 18: (for recording to the device over network only) (for recording to the device over network only) 2c. Make the footage root folder "/data/footage" writable for everyone. 2c. Make the footage root folder "/data/footage" writable for everyone. − == Equipment/Package == == Equipment/Package == OlegLoad custom bitstream
← Older revision
Revision as of 21:50, 20 April 2017
(One intermediate revision by the same user not shown)Line 3:
Line 3:
Reasons: Reasons:
−* Different banks have different (software - controlled and regulated) voltages and they need to be set up before loading.+* Different banks have different (software controlled and regulated) voltages and they need to be set up before loading.
** voltages are set by the software through i2c ** voltages are set by the software through i2c
Line 31:
Line 31:
==Init== ==Init==
−* '''detect_sensors''' driver reads the device tree to get the default system configuration which gets later updated by '''autocampars'''+* '''detect_sensors''' driver reads the device tree to get the default system configuration which gets later updated by '''autocampars''' application
* /etc/init.d/init_elphel393 * /etc/init.d/init_elphel393
... ...
Oleg
Load custom bitstream
← Older revision
Revision as of 21:50, 20 April 2017
(13 intermediate revisions by the same user not shown)Line 1:
Line 1:
−==from u-boot==+==Description==
−==from OS==+The default bitstream is loaded from OS not from u-boot.
+
+Reasons:
+* Different banks have different (software controlled and regulated) voltages and they need to be set up before loading.
+** voltages are set by the software through i2c
+
+==Bitstreams paths==
+* Location on target system: ''/usr/local/verilog/''
+{| class='wikitable'
+! name
+! project
+! description
+|-
+|x393_parallel.bit
+|[https://git.elphel.com/Elphel/x393 x393]
+|for 5MPix sensor with parallel interface + SATA
+|-
+|x393_hispi.bit
+|[https://git.elphel.com/Elphel/x393 x393]
+|for 14MPix sensor with serial interface + SATA
+|-
+|x393_sata.bit
+|[https://git.elphel.com/Elphel/x393_sata x393_sata]
+|SATA only
+|-
+|x359.bit
+|[https://git.elphel.com/Elphel/x359 x359]
+|for external MUX 3-to-1 board
+|}
+
+==Init==
+* '''detect_sensors''' driver reads the device tree to get the default system configuration which gets later updated by '''autocampars''' application
+* /etc/init.d/init_elphel393
+ ...
+ $CONFDIR/init_elphel393.py "{\"usb_hub\":1, \"ip\":1,\"imgsrv\":1, \"autoexp_daemon\":1, \"autocampars\":1, \"sata\":1, \"gps\":1, \"eyesis\":0 }"
+ ...
+** in this line the extra init procedures are listed, to disable/skip certain procedure set 0, to enable - set 1
+** everything is done in ''/etc/elphel393/init_elphel393.py'' which runs other scripts.
+** the bitstream is loaded by '''autocampars''' or '''sata''' (if autocampars is skipped)
+
+===autocampars===
+* project: [https://git.elphel.com/Elphel/elphel-apps-autocampars elphel-apps-autocampars]
+* top script: '''autocampars.php'''
+** Location on target system: ''/usr/bin/''
+** loads ''/usr/local/verilog/x359.bit'' to the external MUX board
+** depending on configuration (determined in init_elphel393.py) calls '''/usr/bin/autocampars.py''' with arguments listed in the files in ''/usr/local/verilog''. The default one is ''/usr/local/verilog/hargs'':
+ -d TARGET_MODE=1
+ -f /usr/local/verilog/system_defines.vh
+ -f /usr/local/verilog/x393_parameters.vh /usr/local/verilog/x393_cur_params_target.vh /usr/local/verilog/x393_localparams.vh
+ -l /usr/local/verilog/x393_cur_params_target.vh
+ -p PICKLE="/usr/local/verilog/x393_mcntrl.pickle
+ -c bitstream_set_path /usr/local/verilog/x393_parallel.bit
+ -c setupSensorsPower "PAR12" all 0 0.1
+ -c measure_all "*DI"
+ -c setSensorClock 24.0 "2V5_LVDS"
+ -c set_rtc
+
+The file with arguments can be found in the fpga projects, example:
+ https://git.elphel.com/Elphel/x393/tree/master/py393
+Location on target system: ''/usr/local/verilog/''
+
+===sata===
+* project [https://git.elphel.com/Elphel/x393_sata x393_sata]
+* Location on target system: ''/usr/local/verilog/''
+* '''/usr/local/bin/x393sata.py''' loads it default bitstream if fpga has not been programmed yet.
+ ...
+ DEFAULT_BITFILE="/usr/local/verilog/x393_sata.bit"
+ ...
+
[[Category:393]] [[Category:393]]
Oleg
Load custom bitstream
← Older revision
Revision as of 21:07, 20 April 2017
(5 intermediate revisions by the same user not shown)Line 1:
Line 1:
−==from u-boot==+==Description==
−==from OS==+The default bitstream is loaded from OS not from u-boot.
+Reasons:
+* Different banks have different (software - controlled and regulated) voltages and they need to be set up before loading.
+** voltages are set by the software through i2c
+
+==Bitstreams paths==
+* ''/usr/local/verilog/''
+{| class='wikitable'
+! name
+! description
+|-
+|x393_parallel.bit
+|for 5MPix sensor with parallel interface + SATA
+|-
+|x393_hispi.bit
+|for 14MPix sensor with serial interface + SATA
+|-
+|x393_sata.bit
+|SATA only
+|-
+|x359.bit
+|for external MUX 3-to-1 board
+|}
+
+==Init==
+* /etc/init.d/init_elphel393
+ ...
+ $CONFDIR/init_elphel393.py "{\"usb_hub\":1, \"ip\":1,\"imgsrv\":1, \"autoexp_daemon\":1, \"autocampars\":1, \"sata\":1, \"gps\":1, \"eyesis\":0 }"
+ ...
+** in this line the extra init procedures are listed, to disable/skip certain procedure set 0, to enable - set 1
+** everything is done in ''/etc/elphel393/init_elphel393.py'' which runs other scripts.
+** the bitstream is loaded by '''autocampars''' or '''sata''' (if autocampars is skipped)
+
+
+
[[Category:393]] [[Category:393]]
Oleg
Load custom bitstream
Created page with "==from u-boot== ==from OS== Category:393"
New page
==from u-boot====from OS==
[[Category:393]] Oleg
Eyesis4Pi 393 User Guide - Recording
Error 5 (frame buffer overflow)
← Older revision Revision as of 19:26, 18 April 2017 (One intermediate revision by the same user not shown)Line 195: Line 195: ===Error 5 (frame buffer overflow)=== ===Error 5 (frame buffer overflow)=== −* Frame buffer overflow counter (<font color='red'>'''dropped frames'''</font>).+* Frame buffer overflow counter ( = <font color='red'>'''dropped frames'''</font>). * Possible causes: * Possible causes: ** FPS and compression quality (combined) set too high: 5fps + 100% ** FPS and compression quality (combined) set too high: 5fps + 100% OlegEyesis4Pi 393 User Guide - Recording
Error 5 (frame buffer overflow)
← Older revision Revision as of 19:26, 18 April 2017 (3 intermediate revisions by the same user not shown)Line 193: Line 193: == Troubleshooting == == Troubleshooting == + +===Error 5 (frame buffer overflow)=== +* Frame buffer overflow counter ( = <font color='red'>'''dropped frames'''</font>). +* Possible causes: +** FPS and compression quality (combined) set too high: 5fps + 100% +** SSD write speed is slowed +{| +|[[File:Eyesis4pi 393 gui error5.png|thumb|400px|Buffer overflow errors]] +|} +* Errors are displayed as '''err5(N)''' against each buffer, where N is a cumulative number of errors + <!-- <!-- OlegEvent logger
from command line (10393)
← Older revision Revision as of 01:01, 18 April 2017 (One intermediate revision by the same user not shown)Line 25: Line 25: [LocalTimeStamp]: SRC: [MasterTimeStamp] [LocalTimeStamp]: SRC: [MasterTimeStamp] </font> </font> −===Syncing with an external device===+===Syncing with an external device (Eyesis4PI - 10353 based)=== An external device (e.g., odometer) can be connected with a camera / camera rig. An external device (e.g., odometer) can be connected with a camera / camera rig. Line 41: Line 41: mount_point=/absolute_path - the path at which the storage is mounted (usb or nfs) mount_point=/absolute_path - the path at which the storage is mounted (usb or nfs) * STOP: http://192.168.0.9/phpshell.php?command=killall%20-1%20log_imu * STOP: http://192.168.0.9/phpshell.php?command=killall%20-1%20log_imu −====from command line (10393)====+====from command line (10393 only)==== * START: * START: mkdir /www/pages/logs mkdir /www/pages/logs OlegEyesis4Pi data structure
Intro
← Older revision Revision as of 00:54, 18 April 2017 Line 1: Line 1: ==Intro== ==Intro== −Eyesis4Pi stores images and gps/imu logs separately.+Eyesis4Pi stores footage and GPS/IMU logs separately. {| class="wikitable" {| class="wikitable" −! scope="col" width="100" | Data+! scope="col" width="100" | Model −! scope="col" width="270" | Stored on+! scope="col" width="270" | Footage storage +! scope="col" width="270" | GPS/IMU log storage ! scope="col" width="100" | Comments ! scope="col" width="100" | Comments |- valign="top" |- valign="top" −| Images+| Eyesis4PI −| Host PC or (9x) internal SSDs (if equipped)+| Host PC or 9x internal SSDs (if equipped) +| Internal Compact Flash cards (2x16GB) | | |- valign="top" |- valign="top" −| IMU/GPS logs+| Eyesis4PI-393 −| Internal Compact Flash cards (2x16GB)+| Host PC or 3x internal/external SSDs (''/dev/sda2'' - '''no file system''') +| 3x internal/external SSDs (''/dev/sda1'' - ext4 partition) | | |} |} − − − − ==IMU/GPS logs== ==IMU/GPS logs== OlegEyesis4Pi data structure
Intro
← Older revision Revision as of 00:54, 18 April 2017 (One intermediate revision by the same user not shown)Line 1: Line 1: ==Intro== ==Intro== −Eyesis4Pi stores images and gps/imu logs independently.+Eyesis4Pi stores footage and GPS/IMU logs separately. {| class="wikitable" {| class="wikitable" −! scope="col" width="100" | Data+! scope="col" width="100" | Model −! scope="col" width="270" | Stored on+! scope="col" width="270" | Footage storage +! scope="col" width="270" | GPS/IMU log storage ! scope="col" width="100" | Comments ! scope="col" width="100" | Comments |- valign="top" |- valign="top" −| Images+| Eyesis4PI −| Host PC or (9x) internal SSDs (if equipped)+| Host PC or 9x internal SSDs (if equipped) +| Internal Compact Flash cards (2x16GB) | | |- valign="top" |- valign="top" −| IMU/GPS logs+| Eyesis4PI-393 −| Internal Compact Flash cards (2x16GB)+| Host PC or 3x internal/external SSDs (''/dev/sda2'' - '''no file system''') +| 3x internal/external SSDs (''/dev/sda1'' - ext4 partition) | | |} |} − − − − ==IMU/GPS logs== ==IMU/GPS logs== OlegEyesis4Pi 393 workflow
← Older revision
Revision as of 00:45, 18 April 2017
(One intermediate revision by the same user not shown)Line 47:
Line 47:
|style="padding:0px 15px 0px 15px;" valign="top" | Copy footage from SSDs to storage |style="padding:0px 15px 0px 15px;" valign="top" | Copy footage from SSDs to storage
|align="center" valign="top" | - |align="center" valign="top" | -
−|align="center" style="padding:0px 15px 0px 15px;" valign="top"| [https://github.com/Elphel/elphel-tools-x393 python scripts]+|align="center" style="padding:0px 15px 0px 15px;" valign="top"| [https://git.elphel.com/Elphel/elphel-tools-x393 python scripts]
|style="padding:0px 15px 0px 15px;"| |style="padding:0px 15px 0px 15px;"|
* both, internal and external SSDs, are downloaded through SATA interface (up to 6Gbit/s) * both, internal and external SSDs, are downloaded through SATA interface (up to 6Gbit/s)
Line 63:
Line 63:
|style="padding:0px 15px 0px 15px;"| Extract images |style="padding:0px 15px 0px 15px;"| Extract images
|align="center" | - |align="center" | -
−|align="center" style="padding:0px 15px 0px 15px;"| [https://github.com/Elphel/elphel-tools-x393 extract_images.php]+|align="center" style="padding:0px 15px 0px 15px;"| [https://git.elphel.com/Elphel/elphel-tools-x393 extract_images.php]
|style="padding:0px 15px 0px 15px;"| Extract individual image files from data files |style="padding:0px 15px 0px 15px;"| Extract individual image files from data files
|- |-
Line 87:
Line 87:
|} |}
+== Links ==
+
+*[[Eyesis4Pi_393|Eyesis4Pi 393 Main Article]]
+*[[Eyesis4Pi_393_workflow|Workflow]]
+*[[Eyesis4Pi_393_User_Guide_-_Recording|User Guide - Recording]]
+*[[Eyesis4Pi Footage Procedures page|User Guide - Post-Processing: Footage Procedures]]
+*[[Eyesis4pi Post-Processing|User Guide - Post-processing: ImageJ]]
+*[[Eyesis4Pi data structure|Data Structure Description]]
+*[[Eyesis4Pi Calibration|Calibration Process]]
[[Category:Eyesis4Pi393]] [[Category:Eyesis4Pi393]]
[[Category:User Guide]] [[Category:User Guide]]
Oleg
Eyesis4Pi 393 Footage Procedures page
Links
← Older revision Revision as of 00:28, 18 April 2017 Line 143: Line 143: ==Links== ==Links== −* [[Elphel_Eyesis4Pi|Eyesis4Pi Main Article]]+* [[Eyesis4Pi_393|Eyesis4Pi 393 Main Article]] −* [[Eyesis4Pi_workflow|Workflow]]+* [[Eyesis4Pi_393_workflow|Workflow]] −* [[Eyesis4Pi_User_Guide|User Guide - Recording]]+* [[Eyesis4Pi_393_User_Guide_-_Recording|User Guide - Recording]] * [[Eyesis4Pi_Footage_Procedures_page|User Guide - Post-Processing: Footage Procedures]] * [[Eyesis4Pi_Footage_Procedures_page|User Guide - Post-Processing: Footage Procedures]] * [[Eyesis4pi_Post-Processing|User Guide - Post-processing: ImageJ]] * [[Eyesis4pi_Post-Processing|User Guide - Post-processing: ImageJ]] * [[Eyesis4Pi_data_structure|Data Structure Description]] * [[Eyesis4Pi_data_structure|Data Structure Description]] * [[Eyesis4Pi_Calibration|Calibration Process]] * [[Eyesis4Pi_Calibration|Calibration Process]] −[[Category:Eyesis4Pi]]+[[Category:Eyesis4Pi393]] [[Category:User Guide]] [[Category:User Guide]] OlegEyesis4Pi 393 User Guide - Recording
Links
← Older revision Revision as of 00:26, 18 April 2017 (One intermediate revision by the same user not shown)Line 216: Line 216: *[[Eyesis4Pi_393|Eyesis4Pi 393 Main Article]] *[[Eyesis4Pi_393|Eyesis4Pi 393 Main Article]] −*[[Eyesis4Pi workflow|Workflow]] +*[[Eyesis4Pi_393_workflow|Workflow]] −*[[Eyesis4Pi User Guide|User Guide - Recording]] +*[[Eyesis4Pi_393_User_Guide_-_Recording|User Guide - Recording]] *[[Eyesis4Pi Footage Procedures page|User Guide - Post-Processing: Footage Procedures]] *[[Eyesis4Pi Footage Procedures page|User Guide - Post-Processing: Footage Procedures]] *[[Eyesis4pi Post-Processing|User Guide - Post-processing: ImageJ]] *[[Eyesis4pi Post-Processing|User Guide - Post-processing: ImageJ]] *[[Eyesis4Pi data structure|Data Structure Description]] *[[Eyesis4Pi data structure|Data Structure Description]] *[[Eyesis4Pi Calibration|Calibration Process]] *[[Eyesis4Pi Calibration|Calibration Process]] −[[Category:Eyesis4Pi]]+[[Category:Eyesis4Pi393]] [[Category:User Guide]] [[Category:User Guide]] OlegElphel camera parts 0393-12
← Older revision
Revision as of 20:29, 14 April 2017
(One intermediate revision by the same user not shown)Line 15:
Line 15:
=== 0393-12-29B - Sensor front end, CS-mount, Rev "B" === === 0393-12-29B - Sensor front end, CS-mount, Rev "B" ===
Note: X3D model will be updated later. Note: X3D model will be updated later.
−{{Cad4a|0393-12-29B}}+{{Cad4a|0393-12-29B}}Section of this model
+
+[[File:SFE section.png|250px]]
+
---- ----
−
=== 0393-12-30 - Sensor adjustment plate === === 0393-12-30 - Sensor adjustment plate ===
{{Cad4a|0393-12-30}} {{Cad4a|0393-12-30}}
Mikhail
File:SFE section.png
Mikhail uploaded File:SFE section.png
New page
MikhailFPGA bitstream versions
Created page with "== Updating 393 cameras FPGA bitstream versions after code modifications == === Modifications to the SATA code === SATA controller subsystem source code is maintained in a [ht..."
New page
== Updating 393 cameras FPGA bitstream versions after code modifications ===== Modifications to the SATA code ===
SATA controller subsystem source code is maintained in a [https://git.elphel.com/Elphel/x393_sata x393_sata] repository.
1. Edit py393sata/create_ahci_registers.py and modify [https://git.elphel.com/Elphel/x393_sata/blob/master/py393sata/create_ahci_registers.py#L35 RID value]
2. Run ''create_ahci_registers.py''
It will finish with lines similar to these:
AHCI register defaults are written to /home/eyesis/git/elphel393/fpga-elphel/x393_sata/includes/ahci_defaults.vh
AHCI register bit field types are written to /home/eyesis/git/elphel393/fpga-elphel/x393_sata/includes/ahci_types.vh
AHCI localparam definitions are written to /home/eyesis/git/elphel393/fpga-elphel/x393_sata/includes/ahci_localparams.vh
3. Commit changes to the git repository
4. Copy SATA-related files (including new autogenerated ones) to x393 file tree by running
''./copy_x393_sata.sh'' in the x393 folder. Relative path to SATA files is assumed to be ../x393sata - it is set up when installing all the software with [[Development_for_10393 | elphel393/setup.py]]
=== Modifications to the x393 code ===
FPGA version number is generated from the [https://git.elphel.com/Elphel/x393/blob/master/fpga_version.vh#L38 fpga_version.vh] and it can be read in the camera at runtime as a 32-bit number. Version is stored as 0x0393VVVV, where VVVV is a 4-digit hex number (will try to keep it as 2 digits for major version/branch, and 2 lower for the incremented minor number).
# Increment the number
# Run implementation tools
# Verify timing ((now small errors are OK as the settings are for speed grade "-1", hardware is "-2")
# Copy result x393_parallel.bit from vivado_results to the root folder
# Verify bitsteram with the hardware
# Commit to git repository Andrey.filippov
Main Page
← Older revision
Revision as of 19:12, 13 April 2017
Line 17:
Line 17:
**[[Elphel_camera_parts_0393|Mechanical parts]] **[[Elphel_camera_parts_0393|Mechanical parts]]
*[[Elphel_camera_assemblies|View 3D models]] *[[Elphel_camera_assemblies|View 3D models]]
+*[[Roadmap_393|Roadmap]]
<!--|'''[[Previous Models]]'''<br> old products--> <!--|'''[[Previous Models]]'''<br> old products-->
|} |}
Oleg
Roadmap 393
← Older revision
Revision as of 19:11, 13 April 2017
Line 4:
Line 4:
* Multi sensor / multi-camera option * Multi sensor / multi-camera option
==Software== ==Software==
−===Drivers===+===Kernel===
* Driver for 14MPix sensor * Driver for 14MPix sensor
* Driver for a new sensor board (TBA) * Driver for a new sensor board (TBA)
+* Update kernel
==Firmware== ==Firmware==
* Upgrade core to SATA III * Upgrade core to SATA III
Oleg