From: vincent <vi...@gm...> - 2010-03-31 21:35:00
|
Le mercredi 24 mars 2010 à 10:39 +0100, Marcus Meissner a écrit : > On Tue, Mar 23, 2010 at 11:05:47PM +0100, vincent wrote: > > Dear, > > > > I am a team member which developing an embedded system. The system is > > composed of an ARM type processor and varied peripheral, including a > > Canon G10 numerical camera. > > The main program should have to manage the camera and the others > > peripheral in dispatching his workload in order to manage all his > > peripheral at the same times. > > The program should have to pictures shooting and to download it. I would > > like, for this, to use the “libgphoto2” library managing the PTP > > protocol. > > > > After library testing, I have difficulties to manage the pictures > > downloading. The “gp_camera_file_get” function return control the > > program only at the end, so this downloading time is too much important > > comparing at the others program tasks. > > To have more time for the other tasks execution, I would like to cut the > > downloading in several phases. I would like, download the pictures parts > > in following the size that I have defined before. > > > > The solution, I thought, is to develop a new function similar to > > “gp_camera_file_get” for which I pass a parameter, a structure including > > the downloading context : > > - File identifier > > - Packet size for download (int) > > - Complete file size (int) > > - Size of downloaded data (int) > > - ... > > >From the main program, I will be able to test if remaining data to be > > downloaded, and call the function in indicating the size of data to > > download. > > > > - Have you a more simply solution to offer me ? > > Why are you not handling the cameras in threads? That way you have a master > thread who just checks if the camera control thread is finished downloading? I would not use thread in order to know the program actions every time. > > - Do you think this solution is well and feasible ? > > I am actually considering to add something like this, but more like: > > sizeread = gp_camera_file_read (Camera*, folder, filename, type, targetbuffer, sizetoread); Can you explain what is the parameter targetbuffer ? > (and also gp_camera_file_seek similar to the unix seek). I thought develop a function similar to gp_camera_file_seek. > > - Do you think it would be interesting to integrate this functionality > > in the library ? > > I guess yes. Your solution could not be done perhaps with threading though ;) I prefer using gp_camera_file_read, if this function is suitable for my needs. > Ciao, Marcus Thanks -- Vincent Can you explain what is the parameter targetbuffer of function gp_camera_file_read ? Thanks -- Vincent |