Go Down

Topic: USB Shield + EOS control (Read 673 times) previous topic - next topic

Soffer

Hey all.

I've recently discovered this EOS control project: http://www.circuitsathome.com/camera-control/digital-camera-control-using-arduino-usb-host-shield-part-1-basics/comment-page-2#comment-18006
It was developed by the creators of the USB shield and it seems like a great project.
Only problem, as I see it, seems to be that it's not a properly documented project and the dedicated libraries suffer from
some inconsistencies. This leads to some errors and problems that some have figured out and solved, and others have not.
Since I am not a professional coder, I've combed the aforementioned blog through and through and have managed to make some progress. But now I've encountered some errors that I cannot figure out.
If by any chance someone here has some experience with this project, I'd appreciate some help and guidance.

To sum up the steps I've taken and where I am now:
I managed to compile all sketches except EOSRemote.
It was after I:

1. Replaced qp_ccp
2. Commented out these lines in the qp_port.cpp:
// void operator delete(void *) {
// Q_ERROR(); // this operator should never be actually called
// }
3. Added the following line to eoseventhandler.h file found in EOSCamController folder:
virtual void OnObjectCreated(const EOSEvent *evt) {};

I still get the following error for EOSRemote:

EOSRemote.cpp: In member function 'virtual void CamStateHandlers::OnDeviceInitializedState(PTP*)':
EOSRemote.pde:-1: error: cannot declare variable 'hnd' to be of abstract type 'EosEventHandlers'
/eoseventhandlers.h:12: note: because the following virtual functions are pure within 'EosEventHandlers':
C:\Program Files (x86)\arduino-1.0.1\libraries\ptp/eoseventparser.h:37: note: virtual void EOSEventHandlers::OnObjectCreated(const EOSEvent*) 

I suppose it has to do with the repercussions of editing the libraries, but then again, it was done by following the tips I've managed to collect over there, written by people who seem to have it all figured out.

Soffer

:smiley-slim:
No one here has dealt with this project?
:(

robtillaart

it dangles somewhere below on my "I want to do" list ... (too many fun projects .. too little time ;)
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Soffer

Quote
it dangles somewhere below on my "I want to do" list ... (too many fun projects .. too little time )

I know the feeling...  ;)

Soffer

SOLVED
If this could help any interested users, the issue has been solved thanks to Lauszus from TKJ Electronics blog.
He's the guy who wrote the USB Host library and was kind enough to help me out.
Check the comment over here http://blog.tkjelectronics.dk/2013/02/documentation-added-for-the-usb-host-library/comment-page-1/#comment-326922.
You'll find the details and a zip file to help overcome the hurdles.

Hope you'll find this useful.
:)

wbphelps

I could not get to the link to the blog as posted under "SOLVED", but I did find a solution. There are a couple of things that have to be done to get the PTP examples to compile and work under newer Arduino versions. The answers are all in the comments on this page:
http://www.circuitsathome.com/camera-control/ptp-2-0-library-function-turns-on-bulb-mode-on-nikon-dslr-camera-via-usb

Among other things, don't use the latest version of QP - use 4.3.00 instead. That plus the other changes listed in the OP's first post did the trick for me, I now have a working version of EOSRemote.

William


Go Up