Difference between revisions of "Talk:10359 in dual sensor setup"
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | ==2008/09/25== | ||
+ | '''c.''' Make clear with scripts. "standard camera_demo.php+sensors_init.php" work a bit different (not correct performance) than camera_demo.php with added sensor initialization. Time delay between elphel_reset_sensor() and dcm_reset()? --[[User:Oleg|Oleg]] 15:25, 25 September 2008 (CDT) | ||
+ | ==2008/09/24== | ||
+ | '''a.''' Verification shown it was my mistake in switching between frames. Corrected. | ||
+ | |||
+ | '''b.''' Separating i2c bus mux and channel mux was a right idea. To keep old scripts work, I modified i2c to switch immediately and the channels to wait till the frame ends. MUX register is one. | ||
+ | |||
+ | '''c.''' With a "light"(no ddr, only 2 channels) x359.bit, configuration and switching work. There's an unclear moment with a need for soft reset in scripts. this needs testing a little. | ||
+ | |||
+ | ====TODO==== | ||
+ | '''a.''' Make "light" x359.bit for 3 channels, verify and test. | ||
+ | |||
+ | '''b.''' Make standard x359.bit with correct switching. | ||
+ | |||
+ | '''c.''' Make clear with scripts. | ||
+ | |||
+ | ====Conclusion==== | ||
+ | I think all that broken frames came from channel switching only. | ||
+ | E.g., the 1st channel is configured and starts giving out a frame and I switch to configure the 2nd channel in the middle of the frame. But in most experiments I was lucky in this case. Frames were broken after back-switching to the 1st channel. | ||
+ | |||
+ | --[[User:Oleg|Oleg]] 06:28, 24 September 2008 (CDT) | ||
+ | |||
+ | ==2008/09/23== | ||
+ | a. Separated i2c bus mux and channel mux. | ||
+ | |||
+ | b. Made mux to switch between frames. | ||
+ | |||
+ | Not stable, next step - verify by simulation. | ||
+ | --[[User:Oleg|Oleg]] 13:41, 23 September 2008 (CDT) | ||
+ | |||
==2008/09/22== | ==2008/09/22== | ||
No, it's not stable. --[[User:Oleg|Oleg]] 10:14, 22 September 2008 (CDT) | No, it's not stable. --[[User:Oleg|Oleg]] 10:14, 22 September 2008 (CDT) | ||
+ | |||
Latest switching test with the script was ok. The only change is the position of the boards on the table.--[[User:Oleg|Oleg]] 10:01, 22 September 2008 (CDT) | Latest switching test with the script was ok. The only change is the position of the boards on the table.--[[User:Oleg|Oleg]] 10:01, 22 September 2008 (CDT) | ||
Line 15: | Line 46: | ||
... | ... | ||
− | Current "camera_demo" script | + | Current "camera_demo" script (sources: camera_demo.php, sensors_init.php): |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
elphel_reset_sensor(); | elphel_reset_sensor(); | ||
− | + | ... | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
printf("Reset DCM\n"); | printf("Reset DCM\n"); | ||
− | dcm_reset( | + | dcm_reset(); |
− | send_i2c_4( | + | send_i2c_4(0x0835,0x00000001); printf("\nInitializing sensor 1\n"); |
printf("Soft reset to sensor 1\n"); | printf("Soft reset to sensor 1\n"); | ||
system("fpcf -i2cw16 480d 0001"); | system("fpcf -i2cw16 480d 0001"); | ||
Line 150: | Line 58: | ||
printf("Reprogram sensor 1\n"); | printf("Reprogram sensor 1\n"); | ||
− | sensor_init( | + | sensor_init($init_pars); |
− | + | ... | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
--[[User:Oleg|Oleg]] 09:35, 22 September 2008 (CDT) | --[[User:Oleg|Oleg]] 09:35, 22 September 2008 (CDT) | ||
Latest revision as of 13:25, 25 September 2008
2008/09/25
c. Make clear with scripts. "standard camera_demo.php+sensors_init.php" work a bit different (not correct performance) than camera_demo.php with added sensor initialization. Time delay between elphel_reset_sensor() and dcm_reset()? --Oleg 15:25, 25 September 2008 (CDT)
2008/09/24
a. Verification shown it was my mistake in switching between frames. Corrected.
b. Separating i2c bus mux and channel mux was a right idea. To keep old scripts work, I modified i2c to switch immediately and the channels to wait till the frame ends. MUX register is one.
c. With a "light"(no ddr, only 2 channels) x359.bit, configuration and switching work. There's an unclear moment with a need for soft reset in scripts. this needs testing a little.
TODO
a. Make "light" x359.bit for 3 channels, verify and test.
b. Make standard x359.bit with correct switching.
c. Make clear with scripts.
Conclusion
I think all that broken frames came from channel switching only. E.g., the 1st channel is configured and starts giving out a frame and I switch to configure the 2nd channel in the middle of the frame. But in most experiments I was lucky in this case. Frames were broken after back-switching to the 1st channel.
--Oleg 06:28, 24 September 2008 (CDT)
2008/09/23
a. Separated i2c bus mux and channel mux.
b. Made mux to switch between frames.
Not stable, next step - verify by simulation. --Oleg 13:41, 23 September 2008 (CDT)
2008/09/22
No, it's not stable. --Oleg 10:14, 22 September 2008 (CDT)
Latest switching test with the script was ok. The only change is the position of the boards on the table.--Oleg 10:01, 22 September 2008 (CDT)
Sequence(no need in sensros_init):
1) camera_demo.php 2) (telnet) switch on test pattern 3) "get frame" 4) "switch to channel 2" 5) (telnet) switch on test pattern 5) adjust phase 5) "get frame" 6) "switch to channel 1" 7) "switch to channel 2" ...
Current "camera_demo" script (sources: camera_demo.php, sensors_init.php):
elphel_reset_sensor(); ... printf("Reset DCM\n"); dcm_reset(); send_i2c_4(0x0835,0x00000001); printf("\nInitializing sensor 1\n"); printf("Soft reset to sensor 1\n"); system("fpcf -i2cw16 480d 0001"); system("fpcf -i2cw16 480d 0000"); printf("Reprogram sensor 1\n"); sensor_init($init_pars); ...
--Oleg 09:35, 22 September 2008 (CDT)
2008/09/xx
Are the frames become broken after:
1) camera_demo.php 2) sensors_init.php 3) "get frame" 4) "switch to channel 2" 5) "get frame" 6) "switch to channel 1"
If yes, does turning off the compressor help? I mean:
change channel -> compressor start -> get frame -> compressor stop -> change channel
If you don't use sensors_init.php after camera_demo.php you can try to move function dcm_reset() from sensors_init.php to camera_demo.php before getting a frame.