Any tips would be greatly appreciated. I've read this post https://chdk.setepontos.com/index.php?topic=12773.0 , which seems similar to what I'm trying to do, but I'm new to LUA (just trying to pick it up for this project) and couldn't work out which variables I'd need to access if I were try to piggy back off the timer functions being used for the live view.
!gi=require'gui_intervalomter'!gi.start(5000,'c:/path/to/files',1)...!gi.cancel()
If you have the capability to stream video, an alternative might be to use the cameras HDMI out. G5X is one of the few cameras that supports HDMI out while shooting.
This is a good idea, and good to know it's a potential option (hardware wise) down the road. However, I think using the live view is probably the best option for me at present since it seems to drop frames gracefully if the connection is overtaxed;
On a somewhat related note, I've noticed two things while testing this new setup. First, if I call the gui_intervalometer.start() function through the GUI by means of a button, I see that I can make multiple calls to this function.
function m.start(interval, dest_dir, dive_number) m.cancel() m.dest_dir = dest_dir m.dive_number = dive_number m.job = gui.sched.run_repeat(interval,m.shoot)end
The second question (more of a nuisance) is that I've found that the iup.text boxes I created to capture dive number/name reads text backwards, for example if I the user wants to enter 'Dive1', they need to type '1eviD'. I'm vaguely aware that sometimes localizations (Arabic?) are set to read text in the opposite direction, but maybe I'm just missing some obvious argument to an iup.text call?
That's odd. I don't think I've seen that for regular text inputs, and the default text direction should be fine unless the system locale is set to something Arabic or Hebrew.Does the console input (left of the execute button) work normally?If you post an example of the misbehaving code, I can take a look.Also, what platform is this running on?
function m.divenum_ui() local gui_frame = iup.frame{ title="Dive Number", iup.vbox{ iup.text{ multiline = "NO", expansion = "YES", action = function(self,c,newdive) local d = tostring(newdive) self.value = d self.caretpos = string.len(tostring(d)) dive_number = self.value return iup.IGNORE end, valuechanged_cb = function(self,newdive) dive_number = newdive end } } } return gui_frameend
Always happy to talk about the ROV end of things!
The live view is being send to surface via an USB over Ethernet data stream. On the hardware end of things, the camera's USB connection is connected to a Raspberry Pi 4 and I'm running an instance of VirtualHere (https://www.virtualhere.com/usb_server_software) on the Pi. On the surface, there is client instance of VirtualHere on a Windows 10 PC, which is also running the chdkptp GUI. There is another step in the chain where the Ethernet signal is muxed/demuxed over a Fiber optic line to surface (to allow for the 1000 ft data transmission distance) and the Ethernet data stream recovered at surface.
chdkptp -e"exec require'camtests'.runbatch{bench=true,filexfer=true,xfersizebugs=true}"
I had another look at the code I had, and did some more experimenting and found that If I added the line self.caretpos = string.len(tostring(d)) it seems to have fixed the issue.
Started by Arakus CHDK Releases
Started by Stimpy Feature Requests
Started by hudson DryOS Development
Started by dbgg1979 RAW Shooting and Processing
Started by |||||||||||||||| DryOS Development