Imaging solutions with Free Software & Open Hardware

Who's online

There are currently 0 users online.

04/03/18 [linux-elphel][rocko] by Oleg Dzhimiev: fixed fps 2 (now after a bit of testing)

Elphel GIT logs - Tue, 04/03/2018 - 17:37
Oleg Dzhimiev committed changes to the Elphel git project :
fixed fps 2 (now after a bit of testing)

Driverless mode 393

Wiki Recent Changes - Tue, 04/03/2018 - 11:13

‎Example: other window sizes

← Older revision Revision as of 17:13, 3 April 2018 (11 intermediate revisions by the same user not shown)Line 7: Line 7:  * to load bitstream for MT9F002 appropriate changes need to be made to: * to load bitstream for MT9F002 appropriate changes need to be made to:  ** device tree ** device tree −  set sensors to '''mt9f002''' in ''elphel393-detect_sensors,sensors'' entry+  <font size=2>set sensors to '''mt9f002''' in ''elphel393-detect_sensors,sensors'' entry</font> −** /etc/elphel393/default_10389.xml for setup w/o 10389 or 10389's eeprom otherwise+** /etc/elphel393/default_10389.xml for setup w/o 10389 or 10389's eeprom otherwise write '''MT9F002''' as application − write '''MT9F002''' for application   * Disable driver * Disable driver −  root@elphel393~# touch /etc/elphel393/disable_driver+  <font size=2>root@elphel393~# touch /etc/elphel393/disable_driver −  # then reboot+  # then reboot</font>     ===init=== ===init===  * start python session: * start python session:    root@elphel393~# cd /usr/local/verilog/; test_mcntrl.py @hargs-after   root@elphel393~# cd /usr/local/verilog/; test_mcntrl.py @hargs-after −* init:+* init (if the driver is not disabled the i2c writes will not work): −    setup_all_sensors True None 0x1 False 4384 3280+ <font size=2>setup_all_sensors True None 0x1 False 4384 3280          −    write_sensor_i2c 0 1 0 0x31c08000 # hispi timing+ write_sensor_i2c 0 1 0 0x31c08000 # hispi timing −    write_sensor_i2c 0 1 0 0x030600b4 # pll multiplier+ write_sensor_i2c 0 1 0 0x030600b4 # pll multiplier −    write_sensor_i2c 0 1 0 0x31c68400 # hispi control status+ write_sensor_i2c 0 1 0 0x31c68400 # hispi control status −    write_sensor_i2c 0 1 0 0x306e9280 # datapath select+ write_sensor_i2c 0 1 0 0x306e9280 # datapath select −    write_sensor_i2c 0 1 0 0x301a001c # reset and start streaming+ write_sensor_i2c 0 1 0 0x301a001c # reset and start streaming          −    hispi_phases_adjust 0+ hispi_phases_adjust 0          −    write_sensor_i2c 0 1 0 0x301a001c # reset and start streaming+ write_sensor_i2c 0 1 0 0x301a001c # reset and start streaming          −    setup_all_sensors True None 0x1 False 4384 3280+ setup_all_sensors True None 0x1 False 4384 3280 −    compressor_control all None None None None None 2+ compressor_control all None None None None None 2 −    program_gamma all 0 0.57 0.04+ program_gamma all 0 0.57 0.04          −    write_sensor_i2c 0 1 0 0x3028000a # global gain+ write_sensor_i2c 0 1 0 0x3028000a # global gain −    write_sensor_i2c 0 1 0 0x302c000d # some gain+ write_sensor_i2c 0 1 0 0x302c000d # some gain −    write_sensor_i2c 0 1 0 0x302e0010 # some gain+ write_sensor_i2c 0 1 0 0x302e0010 # some gain −    write_sensor_i2c 0 1 0 0x30120080 # coarse exposure+ write_sensor_i2c 0 1 0 0x30120080 # coarse exposure          −    jpeg_acquire_write+ jpeg_acquire_write          −    #write_sensor_i2c 0 1 0 0x301a0018 # put to standby+ #write_sensor_i2c 0 1 0 0x301a0018 # put to standby</font>  * inspect image: * inspect image: −  http://192.168.0.9/img.jpeg+  <font size=2>http://192.168.0.9/img.jpeg</font>  +   +===Example: 1600x1200 window===  +====8-bit compress to jpeg====  +* setup:  + <font size=2>write_sensor_i2c 0 1 0 0x3002001e  + write_sensor_i2c 0 1 0 0x300604f5  + write_sensor_i2c 0 1 0 0x034e04d8  + write_sensor_i2c 0 1 0 0x300a056a  + write_sensor_i2c 0 1 0 0x30040090  + write_sensor_i2c 0 1 0 0x300806cf  + write_sensor_i2c 0 1 0 0x034c0640  + write_sensor_i2c 0 1 0 0x300c04c8  +  + setup_all_sensors True None 0x1 False 1600 1200  + compressor_control all None None None None None 2  +  + write_sensor_i2c 0 1 0 0x301a001c  + # wait  + write_sensor_i2c 0 1 0 0x301a0018  +  + jpeg_acquire_write</font>  +* inspect:  + <font size=2>refresh http://192.168.0.9/img.jpeg</font>  +====8-bit raw====  +   +* setup  + <font size=2>same as above, no need to repeat if already done</font>  +* capture (copy-pasting the code below with comments will work)  + <font size=2>setup_all_sensors True None 0x1 False 1600 1200  +  + write_sensor_i2c 0 1 0 0x301a001c  + # wait  + write_sensor_i2c 0 1 0 0x301a0018  +  + # notice '''membridge_start''' (under Setting membridge for sensor 0)  + # it can be different: '''0x2e000000''' or '''0x2dc00000'''  +  + membridge_start  + mem_save "/usr/local/verilog/sensor_dump" '''0x2e000000''' 0x400000</font>  +* copy (from an ssh session in another terminal)  + <font size=2>scp /usr/local/verilog/sensor_dump ip@host:/path/1600x1200_8bit.raw</font>  +* open:  + <font size=2>Use imagej: File > Import > Raw...</font>  +====16-bit raw====  +* setup  + <font size=2>same as above, no need to repeat if already done</font>  +* capture (copy-pasting the code below with comments will work)  + <font size=2># Notice that the window width in 16 bit mode is 2x  + setup_all_sensors True 18 0x1 False '''3200''' 1200  + set_sensor_mode 0 1 1 True True  + enable_memcntrl_en_dis 12 True  +  + write_sensor_i2c 0 1 0 0x301a001c  + # wait  + write_sensor_i2c 0 1 0 0x301a0018  +   + # notice '''membridge_start''' (under Setting membridge for sensor 0)  + # it can be different: '''0x2e000000''' or '''0x2dc00000'''  +  + membridge_start  + mem_save "/usr/local/verilog/sensor_dump" 0x2e000000 0x400000</font>  +* copy (from an ssh session in another terminal)  + <font size=2>scp /usr/local/verilog/sensor_dump ip@host:/path/1600x1200_16bit.raw</font>  +* open:  + <font size=2>Use imagej: File > Import > Raw...</font>  +   +===Example: other window sizes===  +* Download and run [https://git.elphel.com/Elphel/x393/blob/master/py393/mt9f002_window_generator.py mt9f002_window_generator.py]  +* Then edit the code snippets for 1600x1200 according to the new window size  +* If getting raw sensor data 8-bit and 16-bit the membridge buffer is 4MB, so calculate accordingly:  + for 8-bit : '''WxH < 4M'''  + for 16-bit: '''WxH < 2M'''  + If not then - the buffer is circular which will result in overwriting of the beginning of the image     [[Category:393]] [[Category:393]] Oleg

Driverless mode 393

Wiki Recent Changes - Tue, 04/03/2018 - 10:55

‎Example: 1600x1200

← Older revision Revision as of 16:55, 3 April 2018 (7 intermediate revisions by the same user not shown)Line 7: Line 7:  * to load bitstream for MT9F002 appropriate changes need to be made to: * to load bitstream for MT9F002 appropriate changes need to be made to:  ** device tree ** device tree −  set sensors to '''mt9f002''' in ''elphel393-detect_sensors,sensors'' entry+  <font size=2>set sensors to '''mt9f002''' in ''elphel393-detect_sensors,sensors'' entry</font> −** /etc/elphel393/default_10389.xml for setup w/o 10389 or 10389's eeprom otherwise+** /etc/elphel393/default_10389.xml for setup w/o 10389 or 10389's eeprom otherwise write '''MT9F002''' as application − write '''MT9F002''' for application   * Disable driver * Disable driver −  root@elphel393~# touch /etc/elphel393/disable_driver+  <font size=2>root@elphel393~# touch /etc/elphel393/disable_driver −  # then reboot+  # then reboot</font>     ===init=== ===init===  * start python session: * start python session:    root@elphel393~# cd /usr/local/verilog/; test_mcntrl.py @hargs-after   root@elphel393~# cd /usr/local/verilog/; test_mcntrl.py @hargs-after −* init:+* init (if the driver is not disabled the i2c writes will not work): −    setup_all_sensors True None 0x1 False 4384 3280+ <font size=2>setup_all_sensors True None 0x1 False 4384 3280          −    write_sensor_i2c 0 1 0 0x31c08000 # hispi timing+ write_sensor_i2c 0 1 0 0x31c08000 # hispi timing −    write_sensor_i2c 0 1 0 0x030600b4 # pll multiplier+ write_sensor_i2c 0 1 0 0x030600b4 # pll multiplier −    write_sensor_i2c 0 1 0 0x31c68400 # hispi control status+ write_sensor_i2c 0 1 0 0x31c68400 # hispi control status −    write_sensor_i2c 0 1 0 0x306e9280 # datapath select+ write_sensor_i2c 0 1 0 0x306e9280 # datapath select −    write_sensor_i2c 0 1 0 0x301a001c # reset and start streaming+ write_sensor_i2c 0 1 0 0x301a001c # reset and start streaming          −    hispi_phases_adjust 0+ hispi_phases_adjust 0          −    write_sensor_i2c 0 1 0 0x301a001c # reset and start streaming+ write_sensor_i2c 0 1 0 0x301a001c # reset and start streaming          −    setup_all_sensors True None 0x1 False 4384 3280+ setup_all_sensors True None 0x1 False 4384 3280 −    compressor_control all None None None None None 2+ compressor_control all None None None None None 2 −    program_gamma all 0 0.57 0.04+ program_gamma all 0 0.57 0.04          −    write_sensor_i2c 0 1 0 0x3028000a # global gain+ write_sensor_i2c 0 1 0 0x3028000a # global gain −    write_sensor_i2c 0 1 0 0x302c000d # some gain+ write_sensor_i2c 0 1 0 0x302c000d # some gain −    write_sensor_i2c 0 1 0 0x302e0010 # some gain+ write_sensor_i2c 0 1 0 0x302e0010 # some gain −    write_sensor_i2c 0 1 0 0x30120080 # coarse exposure+ write_sensor_i2c 0 1 0 0x30120080 # coarse exposure          −    jpeg_acquire_write+ jpeg_acquire_write          −    #write_sensor_i2c 0 1 0 0x301a0018 # put to standby+ #write_sensor_i2c 0 1 0 0x301a0018 # put to standby</font>  * inspect image: * inspect image: −  http://192.168.0.9/img.jpeg+  <font size=2>http://192.168.0.9/img.jpeg</font>     +===Example: 1600x1200 window===  +====8-bit compress to jpeg====  +* setup:  + <font size=2>write_sensor_i2c 0 1 0 0x3002001e  + write_sensor_i2c 0 1 0 0x300604f5  + write_sensor_i2c 0 1 0 0x034e04d8  + write_sensor_i2c 0 1 0 0x300a056a  + write_sensor_i2c 0 1 0 0x30040090  + write_sensor_i2c 0 1 0 0x300806cf  + write_sensor_i2c 0 1 0 0x034c0640  + write_sensor_i2c 0 1 0 0x300c04c8  +  + setup_all_sensors True None 0x1 False 1600 1200  + compressor_control all None None None None None 2  +  + write_sensor_i2c 0 1 0 0x301a001c  + # wait  + write_sensor_i2c 0 1 0 0x301a0018  +  + jpeg_acquire_write</font>  +* inspect:  + <font size=2>refresh http://192.168.0.9/img.jpeg</font>  +====8-bit raw====  +  +* setup  + <font size=2>same as above, no need to repeat if already done</font>  +* capture (copy-pasting the code below with comments will work)  + <font size=2>setup_all_sensors True None 0x1 False 1600 1200  +  + write_sensor_i2c 0 1 0 0x301a001c  + # wait  + write_sensor_i2c 0 1 0 0x301a0018  +  + # notice '''membridge_start''' (under Setting membridge for sensor 0)  + # it can be different: '''0x2e000000''' or '''0x2dc00000'''  +  + membridge_start  + mem_save "/usr/local/verilog/sensor_dump" '''0x2e000000''' 0x400000</font>  +* copy  + <font size=2>scp /usr/local/verilog/sensor_dump ip@host:/path/1600x1200_8bit.raw</font>  +====16-bit raw====  +* setup  + <font size=2>same as above, no need to repeat if already done</font>  +* capture (copy-pasting the code below with comments will work)  + <font size=2># Notice that the window width in 16 bit mode is 2x  + setup_all_sensors True 18 0x1 False '''3200''' 1200  + set_sensor_mode 0 1 1 True True  + enable_memcntrl_en_dis 12 True  +  + write_sensor_i2c 0 1 0 0x301a001c  + # wait  + write_sensor_i2c 0 1 0 0x301a0018  +   + # notice '''membridge_start''' (under Setting membridge for sensor 0)  + # it can be different: '''0x2e000000''' or '''0x2dc00000'''  +  + membridge_start  + mem_save "/usr/local/verilog/sensor_dump" 0x2e000000 0x400000</font>  +* copy (from an ssh session in another terminal)  + <font size=2>scp /usr/local/verilog/sensor_dump ip@host:/path/1600x1200_16bit.raw</font>  [[Category:393]] [[Category:393]] Oleg

Driverless mode 393

Wiki Recent Changes - Tue, 04/03/2018 - 10:32

Created page with "==Description== Instructions on how to disable sensor driver and get images from image sensor (for MT9F002 sensor) ==Instructions== ===pre=== * to load bitstream for MT9F002..."

New page

==Description==
Instructions on how to disable sensor driver and get images from image sensor (for MT9F002 sensor)


==Instructions==
===pre===
* to load bitstream for MT9F002 appropriate changes need to be made to:
** device tree
set sensors to '''mt9f002''' in ''elphel393-detect_sensors,sensors'' entry
** /etc/elphel393/default_10389.xml for setup w/o 10389 or 10389's eeprom otherwise
write '''MT9F002''' for application
* Disable driver
root@elphel393~# touch /etc/elphel393/disable_driver
# then reboot

===init===
* start python session:
root@elphel393~# cd /usr/local/verilog/; test_mcntrl.py @hargs-after
* init:
setup_all_sensors True None 0x1 False 4384 3280

write_sensor_i2c 0 1 0 0x31c08000 # hispi timing
write_sensor_i2c 0 1 0 0x030600b4 # pll multiplier
write_sensor_i2c 0 1 0 0x31c68400 # hispi control status
write_sensor_i2c 0 1 0 0x306e9280 # datapath select
write_sensor_i2c 0 1 0 0x301a001c # reset and start streaming

hispi_phases_adjust 0

write_sensor_i2c 0 1 0 0x301a001c # reset and start streaming

setup_all_sensors True None 0x1 False 4384 3280
compressor_control all None None None None None 2
program_gamma all 0 0.57 0.04

write_sensor_i2c 0 1 0 0x3028000a # global gain
write_sensor_i2c 0 1 0 0x302c000d # some gain
write_sensor_i2c 0 1 0 0x302e0010 # some gain
write_sensor_i2c 0 1 0 0x30120080 # coarse exposure

jpeg_acquire_write

#write_sensor_i2c 0 1 0 0x301a0018 # put to standby
* inspect image:
http://192.168.0.9/img.jpeg

[[Category:393]] Oleg

04/03/18 [linux-elphel][] by AndreyFilippov: Reverted CIRCBUF_START_OFFSET change from rocko

Elphel GIT logs - Tue, 04/03/2018 - 10:10
AndreyFilippov committed changes to the Elphel git project :
Reverted CIRCBUF_START_OFFSET change from rocko

04/03/18 [x393][CMV300] by Oleg Dzhimiev: generator script

Elphel GIT logs - Tue, 04/03/2018 - 10:10
Oleg Dzhimiev committed changes to the Elphel git project :
generator script

04/03/18 [linux-elphel][] by Oleg Dzhimiev: added P_CLK_SENSPIX

Elphel GIT logs - Tue, 04/03/2018 - 09:50
Oleg Dzhimiev committed changes to the Elphel git project :
added P_CLK_SENSPIX

04/03/18 [imagej-elphel][master] by AndreyFilippov: added x3d model versions

Elphel GIT logs - Tue, 04/03/2018 - 09:25
AndreyFilippov committed changes to the Elphel git project :
added x3d model versions

04/02/18 [eyesis4pi-393-gui][master] by AndreyFilippov: added split_mov_jp4.php that creates jp4 with canonical name <sec>_<usec>_<chn>.jp4

Elphel GIT logs - Mon, 04/02/2018 - 17:20
AndreyFilippov committed changes to the Elphel git project :
added split_mov_jp4.php that creates jp4 with canonical name <sec>_<usec>_<chn>.jp4

04/02/18 [imagej-elphel][master] by AndreyFilippov: typo

Elphel GIT logs - Mon, 04/02/2018 - 10:42
AndreyFilippov committed changes to the Elphel git project :
typo

04/01/18 [imagej-elphel][master] by Andrey Filippov: fixing strategies listing

Elphel GIT logs - Sun, 04/01/2018 - 22:32
Andrey Filippov committed changes to the Elphel git project :
fixing strategies listing

04/01/18 [imagej-elphel][master] by AndreyFilippov: Fixing sensor geometric corrections

Elphel GIT logs - Sun, 04/01/2018 - 22:29
AndreyFilippov committed changes to the Elphel git project :
Fixing sensor geometric corrections

03/31/18 [imagej-elphel][master] by AndreyFilippov: fixing configuration and missing clt directory creation

Elphel GIT logs - Sat, 03/31/2018 - 12:37
AndreyFilippov committed changes to the Elphel git project :
fixing configuration and missing clt directory creation

03/30/18 [imagej-elphel][master] by AndreyFilippov: escaping "," in comments

Elphel GIT logs - Fri, 03/30/2018 - 23:28
AndreyFilippov committed changes to the Elphel git project :
escaping "," in comments

03/30/18 [x393][CMV300] by Oleg Dzhimiev: 1. FRAME_FULL_WIDTH and FRAME_START_ADDRESS_INC globals 2. fixed typo

Elphel GIT logs - Fri, 03/30/2018 - 15:55
Oleg Dzhimiev committed changes to the Elphel git project :
1. FRAME_FULL_WIDTH and FRAME_START_ADDRESS_INC globals 2. fixed typo

03/28/18 [meta-elphel393][master-next] by Oleg Dzhimiev: pass EXTRACT_UNSAFE_SYMLINKS variable

Elphel GIT logs - Wed, 03/28/2018 - 17:36
Oleg Dzhimiev committed changes to the Elphel git project :
pass EXTRACT_UNSAFE_SYMLINKS variable

03/27/18 [imagej-elphel][master] by AndreyFilippov: added strategy comments, strategy list

Elphel GIT logs - Tue, 03/27/2018 - 20:26
AndreyFilippov committed changes to the Elphel git project :
added strategy comments, strategy list

03/27/18 [linux-elphel][rocko] by Oleg Dzhimiev: typo

Elphel GIT logs - Tue, 03/27/2018 - 18:17
Oleg Dzhimiev committed changes to the Elphel git project :
typo

03/26/18 [imagej-elphel][master] by Andrey Filippov: fixed x-cam correction screws turn values

Elphel GIT logs - Mon, 03/26/2018 - 20:29
Andrey Filippov committed changes to the Elphel git project :
fixed x-cam correction screws turn values

03/25/18 [imagej-elphel][master] by AndreyFilippov: Merge branch 'dct' of git.elphel.com:Elphel/imagej-elphel into dct

Elphel GIT logs - Sun, 03/25/2018 - 11:45
AndreyFilippov committed changes to the Elphel git project :
Merge branch 'dct' of git.elphel.com:Elphel/imagej-elphel into dct

Pages

Subscribe to www3.elphel.com aggregator