04/09/18 [linux-elphel][rocko] by Oleg Dzhimiev: increased detect delay after reset
Oleg Dzhimiev committed changes to the Elphel git project :
increased detect delay after reset
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
AndreyFilippov committed changes to the Elphel git project :
Implemented/tested zoom correction and simple (static) tabbed replacement for IJ GenericDialog
Implemented/tested zoom correction and simple (static) tabbed replacement for IJ GenericDialog
Tmp manual
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 Oleg04/06/18 [linux-elphel][rocko] by Oleg Dzhimiev: added entries for mt9f002 driver
Oleg Dzhimiev committed changes to the Elphel git project :
added entries for mt9f002 driver
added entries for mt9f002 driver
04/06/18 [linux-elphel][rocko] by Oleg Dzhimiev: changes for triggered mode. part 1
Oleg Dzhimiev committed changes to the Elphel git project :
changes for triggered mode. part 1
changes for triggered mode. part 1
04/06/18 [x393][CMV300] by Oleg Dzhimiev: typo
Oleg Dzhimiev committed changes to the Elphel git project :
typo
typo
04/05/18 [x393][CMV300] by AndreyFilippov: added inverted trigger for GPI1 (GPI0-still active low)
AndreyFilippov committed changes to the Elphel git project :
added inverted trigger for GPI1 (GPI0-still active low)
added inverted trigger for GPI1 (GPI0-still active low)
04/04/18 [imagej-elphel][master] by AndreyFilippov: Restoring infinity testing
AndreyFilippov committed changes to the Elphel git project :
Restoring infinity testing
Restoring infinity testing
04/04/18 [elphel-web-393][] by Oleg Dzhimiev: jp4 preview for humans
Oleg Dzhimiev committed changes to the Elphel git project :
jp4 preview for humans
jp4 preview for humans
04/04/18 [linux-elphel][rocko] by Oleg Dzhimiev: switched from dev_warn to dev_dbg
Oleg Dzhimiev committed changes to the Elphel git project :
switched from dev_warn to dev_dbg
switched from dev_warn to dev_dbg
04/04/18 [linux-elphel][rocko] by Oleg Dzhimiev: removed unused functions
Oleg Dzhimiev committed changes to the Elphel git project :
removed unused functions
removed unused functions
04/04/18 [linux-elphel][rocko] by Oleg Dzhimiev: removed unused functions
Oleg Dzhimiev committed changes to the Elphel git project :
removed unused functions
removed unused functions
04/04/18 [elphel-web-393][] by Oleg Dzhimiev: awb button
Oleg Dzhimiev committed changes to the Elphel git project :
awb button
awb button
04/03/18 [linux-elphel][rocko] by Oleg Dzhimiev: fixed fps 2 (now after a bit of testing)
Oleg Dzhimiev committed changes to the Elphel git project :
fixed fps 2 (now after a bit of testing)
fixed fps 2 (now after a bit of testing)
Driverless mode 393
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]] OlegDriverless mode 393
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]] OlegDriverless mode 393
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
AndreyFilippov committed changes to the Elphel git project :
Reverted CIRCBUF_START_OFFSET change from rocko
Reverted CIRCBUF_START_OFFSET change from rocko
04/03/18 [x393][CMV300] by Oleg Dzhimiev: generator script
Oleg Dzhimiev committed changes to the Elphel git project :
generator script
generator script
04/03/18 [linux-elphel][] by Oleg Dzhimiev: added P_CLK_SENSPIX
Oleg Dzhimiev committed changes to the Elphel git project :
added P_CLK_SENSPIX
added P_CLK_SENSPIX
Pages
