USB Host Shield to control Canon EOS

Hello All,

I have been trying to follow some tutorials and examples online on how to control a Canon EOS camera, but I am having no joy!

I have been using felis' libraries, and improvements by Lazerus with an improved PTP library:

https://github.com/felis/USB_Host_Shield_2.0 https://github.com/felis/PTP_2.0

http://www.circuitsathome.com/camera-control/ptp-2-0-library-function-turns-on-bulb-mode-on-nikon-dslr-camera-via-usb

But I am getting a lot of errors in the console when I try any examples from the PTP library to control a Canon EOS. Mainly warnings about including libraries directly. Here is a sample:

In file included from /Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptp.h:22,
                 from /Users/davidhunter/Documents/Arduino/libraries/PTP_20/canoneos.h:26,
                 from eosconsole.h:14,
                 from EOSConsole.cpp:1:
/Users/davidhunter/Documents/Arduino/libraries/USB_Host_Shield_20/Max3421e.h:18:2: error: #error "Never include max3421e.h directly; include Usb.h instead"

The examples from the USB Host Shield library compile fine.

I am on a Macbook Pro OSX 10.8.5, using Arduino 1.0.5; I haven't even connected an Arduino yet as the code won't even compile, but I have an Arduino Uno, USB Host Shield from Arduino and a Canon EOS 60D. All the posts I have seen from people getting it working seem to be on windows machines. It would be great to know if anyone with a mac has got this working.

Any help will be hugely appreciated!!!

Thanks,

David

Any help will be hugely appreciated!!!

Could the solution be any more clearly stated? Some file in the list of files shown is including max3421e.h when it should not be. Figure out which one, and make the change suggested.

Thanks PaulS, you’re correct but it seemed like a never-ending list and noone else mentioned having to do this in any blog or article I read; and I don’t have too much knowledge of the inner workings of libraries, .h and .cpp files. I thought it might be something else wrong with something else I had done.

I took your advice and commented out all the references to files in the arduino console.

Now I am left with a new bunch of errors:

In file included from /Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.h:22,
                 from /Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.cpp:17:
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpcallback.h:38: error: expected initializer before '<' token
In file included from /Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.cpp:17:
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.h:38: error: 'MultiByteValueParser' does not name a type
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.h:39: error: 'MultiValueBuffer' does not name a type
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.h: In constructor 'EOSEventDump::EOSEventDump()':
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.h:43: error: 'valueBuffer' was not declared in this scope
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.h: In member function 'void EOSEventDump::Initialize()':
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.h:44: error: 'valueParser' was not declared in this scope
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.h:44: error: 'valueBuffer' was not declared in this scope
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.cpp: In member function 'virtual void EOSEventDump::Parse(uint16_t, const uint8_t*, const uint32_t&)':
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.cpp:38: error: 'PrintHex' was not declared in this scope
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.cpp:38: error: expected primary-expression before '>' token
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.cpp:57: error: 'valueParser' was not declared in this scope
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.cpp:57: error: 'valueBuffer' was not declared in this scope
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.cpp:67: error: 'PrintHex' was not declared in this scope
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.cpp:67: error: expected primary-expression before '>' token
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.cpp:81: error: 'PrintHex' was not declared in this scope
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.cpp:81: error: expected primary-expression before '>' token
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.cpp:99: error: 'PrintHex' was not declared in this scope
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/eoseventdump.cpp:99: error: expected primary-expression before '>' token

Any advice on these?!

Thanks, David

I took your advice and commented out all the references to files in the arduino console.

I did not advise you to do that. I advised you to fix the one file that had a problem.

#error "Never include max3421e.h directly; include Usb.h instead"

seems that would be the first problem to solve - change "max3421e.h" to "usb.h" in your main code/library?

Hello PaulS and ardiri,
My apologies for being unclear, I had commented out the ‘offending’ files most of which already had <Usb.h> included but the ones that didn’t I have now included it. Unfortunately there are still a lot of errors involving ‘section type conflict’:

/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:170: error: msgPlayback_Rate causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:171: error: msgPlayback_Object causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:172: error: msgPlayback_Container causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:208: error: msgUndefined_Firmware causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:209: error: msgWindows_Image_Format causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:210: error: msgUndefined_Audio causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:211: error: msgWMA causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:212: error: msgOGG causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:213: error: msgAAC causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:214: error: msgAudible causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:215: error: msgFLAC causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:216: error: msgUndefined_Video causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:217: error: msgWMV causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:218: error: msgMP4_Container causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:219: error: msgMP2 causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:220: error: msg3GP_Container causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:29: error: msgVendorDefined causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:73: error: msgGetObjectReferences causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:74: error: msgSetObjectReferences causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:75: error: msgSkip causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:34: error: msgUndefined causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:35: error: msgGetDeviceInfo causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:36: error: msgOpenSession causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:37: error: msgCloseSession causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:38: error: msgGetStorageIDs causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:39: error: msgGetStorageInfo causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:40: error: msgGetNumObjects causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:41: error: msgGetObjectHandles causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:42: error: msgGetObjectInfo causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:43: error: msgGetObject causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:44: error: msgGetThumb causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:45: error: msgDeleteObject causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:46: error: msgSendObjectInfo causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:47: error: msgSendObject causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:48: error: msgInitiateCapture causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:49: error: msgFormatStore causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:50: error: msgResetDevice causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:51: error: msgSelfTest causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:52: error: msgSetObjectProtection causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:53: error: msgPowerDown causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:54: error: msgGetDevicePropDesc causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:55: error: msgGetDevicePropValue causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:56: error: msgSetDevicePropValue causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:57: error: msgResetDevicePropValue causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:58: error: msgTerminateOpenCapture causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:59: error: msgMoveObject causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:60: error: msgCopyObject causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:61: error: msgGetPartialObject causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:62: error: msgInitiateOpenCapture causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:65: error: msgGetObjectPropsSupported causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:66: error: msgGetObjectPropDesc causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:67: error: msgGetObjectPropValue causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:68: error: msgSetObjectPropValue causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:69: error: msgGetObjectPropList causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:70: error: msgSetObjectPropList causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:71: error: msgGetInterdependentPropDesc causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:72: error: msgSendObjectPropList causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:109: error: msgCancelTransaction causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:110: error: msgObjectAdded causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:111: error: msgObjectRemoved causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:112: error: msgStoreAdded causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:113: error: msgStoreRemoved causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:114: error: msgDevicePropChanged causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:115: error: msgObjectInfoChanged causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:116: error: msgDeviceInfoChanged causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:117: error: msgRequestObjectTransfer causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:118: error: msgStoreFull causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:119: error: msgDeviceReset causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:120: error: msgStorageInfoChanged causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:121: error: msgCaptureComplete causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:122: error: msgUnreportedStatus causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:125: error: msgObjectPropChanged causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:126: error: msgObjectPropDescChanged causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:127: error: msgObjectReferencesChanged causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:130: error: msgBatteryLevel causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:131: error: msgFunctionalMode causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:132: error: msgImageSize causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:133: error: msgCompressionSetting causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:134: error: msgWhiteBalance causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:135: error: msgRGBGain causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:136: error: msgFNumber causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:137: error: msgFocalLength causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:138: error: msgFocusDistance causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:139: error: msgFocusMode causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:140: error: msgExposureMeteringMode causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:141: error: msgFlashMode causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:142: error: msgExposureTime causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:143: error: msgExposureProgramMode causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:144: error: msgExposureIndex causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:145: error: msgExposureBiasCompensation causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:146: error: msgDateTime causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:147: error: msgCaptureDelay causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:148: error: msgStillCaptureMode causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:149: error: msgContrast causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:150: error: msgSharpness causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:151: error: msgDigitalZoom causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:152: error: msgEffectMode causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:153: error: msgBurstNumber causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:154: error: msgBurstInterval causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:155: error: msgTimelapseNumber causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:156: error: msgTimelapseInterval causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:157: error: msgFocusMeteringMode causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:158: error: msgUploadURL causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:159: error: msgArtist causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:160: error: msgCopyrightInfo causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:163: error: msgSynchronization_Partner causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:164: error: msgDevice_Friendly_Name causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:165: error: msgVolume causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:166: error: msgSupportedFormatsOrdered causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:167: error: msgDeviceIcon causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:168: error: msgSession_Initiator_Version_Info causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:169: error: msgPerceived_Device_Type causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:175: error: msgAssociation causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:176: error: msgScript causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:177: error: msgExecutable causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:178: error: msgText causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:179: error: msgHTML causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:180: error: msgDPOF causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:181: error: msgAIFF causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:182: error: msgWAV causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:183: error: msgMP3 causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:184: error: msgAVI causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:185: error: msgMPEG causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:186: error: msgASF causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:187: error: msgQT causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:190: error: msgEXIF_JPEG causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:191: error: msgTIFF_EP causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:192: error: msgFlashPix causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:193: error: msgBMP causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:194: error: msgCIFF causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:195: error: msgUndefined_0x3806 causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:196: error: msgGIF causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:197: error: msgJFIF causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:198: error: msgPCD causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:199: error: msgPICT causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:200: error: msgPNG causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:201: error: msgUndefined_0x380C causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:202: error: msgTIFF causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:203: error: msgTIFF_IT causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:204: error: msgJP2 causes a section type conflict
/Users/davidhunter/Documents/Arduino/libraries/PTP_20/ptpconstitles.h:205: error: msgJPX causes a section type conflict

Has anyone got any advice on how to fix a section type conflict?
Thanks, David

Well I slightly gave up on all those errors and now can control the camera through a simple infrared LED!

I used this resource, adjusted the pulse duration to 11 microseconds and it worked fine: http://controlyourcamera.blogspot.co.uk/2010/01/automatically-resume-video-shooting-on.html

This is adequate for my purposes but I'm sure a USB connection will be much more robust than relying on line of sight LED. After this success with the IR LED my energy to get the USB link working is refreshed, so any advice on how to fix the above errors or other libraries/approaches are greatly received.

Thanks,

David

You can also use the 3.5mm connector that the remote shutter uses.

Cheers KeithRB, I have seen posts on this and will probably give it a go sometime. Thanks.