Imaging solutions with Free Software & Open Hardware

Who's online

There are currently 0 users online.

04/09/18 [linux-elphel][rocko] by Oleg Dzhimiev: increased detect delay after reset

Elphel GIT logs - Mon, 04/09/2018 - 13:44
Oleg Dzhimiev committed changes to the Elphel git project :
increased detect delay after reset

04/07/18 [imagej-elphel][master] by AndreyFilippov: Implemented/tested zoom correction and simple (static) tabbed replacement for IJ GenericDialog

Elphel GIT logs - Sat, 04/07/2018 - 22:49
AndreyFilippov committed changes to the Elphel git project :
Implemented/tested zoom correction and simple (static) tabbed replacement for IJ GenericDialog

Tmp manual

Wiki Recent Changes - Fri, 04/06/2018 - 11:13

‎Firmware images

← Older revision Revision as of 17:13, 6 April 2018 Line 281: Line 281:     ==<font color="blue">Firmware images</font>== ==<font color="blue">Firmware images</font>== −* [https://community.elphel.com/files/393/20180130/ '''20180130''']+* [https://community.elphel.com/files/393/20180406/ '''20180406''']  +* [https://community.elphel.com/files/393/20180130/ 20180130]  * [https://community.elphel.com/files/393/20180118/ 20180118] * [https://community.elphel.com/files/393/20180118/ 20180118]  * [https://community.elphel.com/files/393/20180116/ 20180116] * [https://community.elphel.com/files/393/20180116/ 20180116]  ===Changelog=== ===Changelog=== −  <font size='1'>==20180130==+  <font size='1'>==20180406==  + * added initial support for MT9F002 sensor: no triggered mode, no binning/decimation  + * display serial number in http://camera-ip:port/meta  + * decode jp4s on the index page (http://camera-ip)  + * turn off auto wb button for all ports on the index page  + ==20180130==    * added photo finish demo   * added photo finish demo    * fixed fps limit calcs for triggered mode   * fixed fps limit calcs for triggered mode Oleg

04/06/18 [linux-elphel][rocko] by Oleg Dzhimiev: added entries for mt9f002 driver

Elphel GIT logs - Fri, 04/06/2018 - 10:02
Oleg Dzhimiev committed changes to the Elphel git project :
added entries for mt9f002 driver

04/06/18 [linux-elphel][rocko] by Oleg Dzhimiev: changes for triggered mode. part 1

Elphel GIT logs - Fri, 04/06/2018 - 09:12
Oleg Dzhimiev committed changes to the Elphel git project :
changes for triggered mode. part 1

04/06/18 [x393][CMV300] by Oleg Dzhimiev: typo

Elphel GIT logs - Fri, 04/06/2018 - 09:11
Oleg Dzhimiev committed changes to the Elphel git project :
typo

04/05/18 [x393][CMV300] by AndreyFilippov: added inverted trigger for GPI1 (GPI0-still active low)

Elphel GIT logs - Thu, 04/05/2018 - 16:50
AndreyFilippov committed changes to the Elphel git project :
added inverted trigger for GPI1 (GPI0-still active low)

04/04/18 [imagej-elphel][master] by AndreyFilippov: Restoring infinity testing

Elphel GIT logs - Wed, 04/04/2018 - 23:50
AndreyFilippov committed changes to the Elphel git project :
Restoring infinity testing

04/04/18 [elphel-web-393][] by Oleg Dzhimiev: jp4 preview for humans

Elphel GIT logs - Wed, 04/04/2018 - 14:06
Oleg Dzhimiev committed changes to the Elphel git project :
jp4 preview for humans

04/04/18 [linux-elphel][rocko] by Oleg Dzhimiev: switched from dev_warn to dev_dbg

Elphel GIT logs - Wed, 04/04/2018 - 13:19
Oleg Dzhimiev committed changes to the Elphel git project :
switched from dev_warn to dev_dbg

04/04/18 [linux-elphel][rocko] by Oleg Dzhimiev: removed unused functions

Elphel GIT logs - Wed, 04/04/2018 - 13:18
Oleg Dzhimiev committed changes to the Elphel git project :
removed unused functions

04/04/18 [linux-elphel][rocko] by Oleg Dzhimiev: removed unused functions

Elphel GIT logs - Wed, 04/04/2018 - 13:17
Oleg Dzhimiev committed changes to the Elphel git project :
removed unused functions

04/04/18 [elphel-web-393][] by Oleg Dzhimiev: awb button

Elphel GIT logs - Wed, 04/04/2018 - 12:53
Oleg Dzhimiev committed changes to the Elphel git project :
awb button

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

Pages

Subscribe to www3.elphel.com aggregator