[Elphel-support] Setting exposure time via PHP

David Haberthür david.haberthuer at psi.ch
Mon Apr 8 09:23:26 PDT 2013


Ciao.

On 03/26/2013 09:06 PM, support-list wrote:
> The large random-looking numbers in the URL are absolurte positions in
> the circular buffer (~19MB), so if acquisition is not stopped they soon
> become invalid when the fames are overwritten by the new ones.
Thanks for your feedback and clarification


> And yes,
> if the specified pointer does not match exactly the start of some frame
> - 1x1 gif is returned.  If you want to read some frame in the future,
> you may just wait for that frame with php function, then read latest
> with imgsrv (port 8081 - it has mini help if you open the document root
> of that server, more in http://wiki.elphel.com/index.php?title=Imgsrv ).
> With imgsrv you may read current pointers in the circular buffer, and
> navigate it with /prev /last, ...
I've worked with imgsrv before (with simple cURL calls to CamIP:8081/img
to download the latest image), but referencing a specific frame doesn't
seem to work for me.

Let's assume that :
	- The camera is in 'native' state (autoexp_on=1, free running, ect.)
	- I set the exposure to something with
*elphel_set_P_value*(EPHEL_EXPOS,/something/)
	- and then wait for four frames with *elphel_wait_frame*(4)
	- would like to read the exact frame at which the camera is and display
this frame

I tried to do it like this
---
echo "<img src="http://192.168.0.9:8081/img" width='200'>; # curr. img
elphel_set_P_value(ELPHEL_AUTOEXP_ON,0); # turn off autoexposure
elphel_set_P_value(EXPOS,100000); # set exposure to 0.1 sec
elphel_wait_frame(5); # to be on the safe side
echo "<img src="http://192.168.0.9:8081/last/img" width='200'>;
---

Should this not show me first an image from the free running mode, with
autoexposure on, then turn off autoexposure and set another exposure,
wait for some time and show me the new image?

I also don't seem to get the difference between *elphel_wait_frame* and
*elphel_skip_frame*?

When I use
---
echo "frame ".elphel_get_frame()."<br>";
echo elphel_wait_frame(3);
echo "frame ".elphel_get_frame()."<br>";
echo elphel_skip_frame(3);
echo "frame ".elphel_get_frame()."<br>";
---

I get this output
---
frame 2059
frame 2060
frame 2063
---

Shouldn't *elphel_wait_frame* also increase the pointer of
*elphel_get_frame*?

Long story short, how can I make sure I show the user the image where
the new exposure time has been set?

David

PS:
> BTW, instead of the cycle skipping single frame you may use either
>  *elphel_wait_frame* (/long/ frame)
> or
> *elphel_skip_frames* (/long/ frames)
Thanks, I didn't see that :)




More information about the Support-list mailing list