Arduino Camera Control

Hi All,

I am a new user to Arduino and I have used it for some very simple projects so far, however...

I have found a project that I am desperate to try and crack, it is the 'Arduino Based Camera Controller for Canon EOS Cameras' this project is here http://www.circuitsathome.com/camera-control/arduino-based-controller-for-canon-eos-cameras

My problem is that after following the instructions I am unable to compile the code. A few searches on the issues offered up the suggestion of using previous releases of Arduino IDE (which I have tried without success IDE 0023, IDE 1.0 and the latest 1.05) and also adding the latest USB Library 'USB Host Shield 2.0' which I have done and although this seemed to get me a little further, I have still got compiler errors.

The errors are:

In file included from dataitem.cpp:1:
dataitem.h:64: error: ISO C++ forbids declaration of 'SimpleTimer' with no type
dataitem.h:64: error: expected ';' before '&' token
dataitem.h:69: error: expected `)' before '&' token
/dataitem.h: In member function 'virtual void TimerDataItem::GetText(char**, bool&)':
dataitem.h:73: error: 'dataValue' was not declared in this scope
/dataitem.h: At global scope:
dataitem.h:96: error: ISO C++ forbids declaration of 'ValueTitle' with no type
dataitem.h:96: error: expected ';' before '<' token
dataitem.h:99: error: expected ',' or '...' before '<' token
dataitem.h:99: error: ISO C++ forbids declaration of 'ValueTitle' with no type
/dataitem.h: In constructor 'KeyValuePairDataItem<VALUE_TYPE, TABLE_SIZE, TEXT_SIZE>::KeyValuePairDataItem(VALUE_TYPE, int)':
dataitem.h:99: error: class 'KeyValuePairDataItem<VALUE_TYPE, TABLE_SIZE, TEXT_SIZE>' does not have any field named 'ptrTitles'
dataitem.h:99: error: 'p' was not declared in this scope
/dataitem.h: In member function 'virtual void KeyValuePairDataItem<VALUE_TYPE, TABLE_SIZE, TEXT_SIZE>::GetText(char**, bool&)':
dataitem.h:104: error: 'FindTitle' was not declared in this scope
dataitem.h:104: error: expected primary-expression before ',' token
dataitem.h:104: error: 'ptrTitles' was not declared in this scope

Please can anyone point me in the right direction with this, help would be greatly appreciated.

I would love to hear from anyone who uses this and especially anyone who has tried it over xbee?

Many thanks

Suggest you start with the first error - it seems that code in dataitem.h is referring to a type that hasn't been declared in that compilation unit. I suggest you locate the reference to that type in the file being compiled, see whether it's a valid reference (there may be some error/corruption in your source), find where the type is actually declared, and work out why it isn't accessible at the point that compilation unit is compiled. I don't see the source for dataitem.cpp or dataitem.h in GitHub - felis/Arduino_Camera_Control: PTP, Camera-specific layers to work with Arduino USB Host Shield so perhaps it's something you added, or something you obtained (are expected to obtain) from somewhere else.

dataitem.h:64: error: ISO C++ forbids declaration of 'SimpleTimer' with no type

The first error is the important one. This looks like the compiler cannot find a library and the object declared cannot be defined. Does the software you are compiling use an additional library?

Libraries that are not distributed with the Arduino release should be installed in a 'libraries' subfolder of the sketchbook folder. This makes it easy to have them remain the same when you upgrade the versions of Arduino IDE (ie, no need to reinstall).