Library to allo USB PTP device to be hosted by the mbed platform
Dependents: class_project_main
Diff: PIMA15740/PIMAconst.h
- Revision:
- 1:71c0e9dc153d
- Parent:
- 0:98cf19bcd828
- Child:
- 3:1fcb46ab18df
diff -r 98cf19bcd828 -r 71c0e9dc153d PIMA15740/PIMAconst.h --- a/PIMA15740/PIMAconst.h Fri Aug 23 00:52:52 2013 +0000 +++ b/PIMA15740/PIMAconst.h Fri Aug 23 19:34:59 2013 +0000 @@ -1,191 +1,177 @@ -/* Copyright (C) 2010-2011 Circuits At Home, LTD. All rights reserved. +/* mbed USBHostPTP Library(PIMA15740 definitions) + * Copyright (c) 2013 Dwayne Dilbeck + * This software is distributed under the terms of the GNU Lesser General Public License + * + * Special thanks to the 'Circuits at Home', + * Reviewing thier code helped in understanding what needed to be done in my code for the mbed. + * Circuits At Home, LTD + * Web : http://www.circuitsathome.com + * e-mail : support@circuitsathome.com + */ + -This software may be distributed and modified under the terms of the GNU -General Public License version 2 (GPL2) as published by the Free Software -Foundation and appearing in the file GPL2.TXT included in the packaging of -this file. Please note that GPL2 Section 2[b] requires that all works based -on this software must also be made publicly available under the terms of -the GPL2 ("Copyleft"). - -Contact information -------------------- - -Circuits At Home, LTD -Web : http://www.circuitsathome.com -e-mail : support@circuitsathome.com -*/ #ifndef __PTPCONST_H__ #define __PTPCONST_H__ #include <inttypes.h> -/* PTP USB Bulk-Pipe container */ -/* USB bulk max max packet length for full speed endpoints */ -//#define PTP_USB_BULK_FS_MAX_PACKET_LEN 64 -//#define PTP_USB_BULK_HDR_LEN (2*sizeof(uint32_t)+2*sizeof(uint16_t)) -//#define PTP_USB_BULK_PAYLOAD_LEN (PTP_USB_BULK_FS_MAX_PACKET_LEN-PTP_USB_BULK_HDR_LEN) -//#define PTP_USB_BULK_REQ_LEN (PTP_USB_BULK_HDR_LEN+5*sizeof(uint32_t)) +#define PIMA_CONTAINER_HEADER_LENGTH 0xc -#define PIMAContainerHeaderLength 0xc +//#define PTP_USB_INT_PACKET_LEN 8 - -#define PTP_USB_INT_PACKET_LEN 8 - -/* USB container types */ -#define PTP_USB_CONTAINER_UNDEFINED 0x0000 -#define PTP_USB_CONTAINER_COMMAND 0x0001 -#define PTP_USB_CONTAINER_DATA 0x0002 -#define PTP_USB_CONTAINER_RESPONSE 0x0003 -#define PTP_USB_CONTAINER_EVENT 0x0004 +/* PIMA container types */ +#define PIMA_CONTAINER_UNDEFINED 0x0000 +#define PIMA_CONTAINER_COMMAND 0x0001 +#define PIMA_CONTAINER_DATA 0x0002 +#define PIMA_CONTAINER_RESPONSE 0x0003 +#define PIMA_CONTAINER_EVENT 0x0004 /* Vendor IDs */ -#define PTP_VENDOR_EASTMAN_KODAK 0x00000001 -#define PTP_VENDOR_SEIKO_EPSON 0x00000002 -#define PTP_VENDOR_AGILENT 0x00000003 -#define PTP_VENDOR_POLAROID 0x00000004 -#define PTP_VENDOR_AGFA_GEVAERT 0x00000005 -#define PTP_VENDOR_MICROSOFT 0x00000006 -#define PTP_VENDOR_EQUINOX 0x00000007 -#define PTP_VENDOR_VIEWQUEST 0x00000008 -#define PTP_VENDOR_STMICROELECTRONICS 0x00000009 -#define PTP_VENDOR_NIKON 0x0000000A -#define PTP_VENDOR_CANON 0x0000000B -#define PTP_VENDOR_FOTONATION 0x0000000C -#define PTP_VENDOR_PENTAX 0x0000000D -#define PTP_VENDOR_FUJI 0x0000000E +#define PIMA_VENDOR_EASTMAN_KODAK 0x00000001 +#define PIMA_VENDOR_SEIKO_EPSON 0x00000002 +#define PIMA_VENDOR_AGILENT 0x00000003 +#define PIMA_VENDOR_POLAROID 0x00000004 +#define PIMA_VENDOR_AGFA_GEVAERT 0x00000005 +#define PIMA_VENDOR_MICROSOFT 0x00000006 +#define PIMA_VENDOR_EQUINOX 0x00000007 +#define PIMA_VENDOR_VIEWQUEST 0x00000008 +#define PIMA_VENDOR_STMICROELECTRONICS 0x00000009 +#define PIMA_VENDOR_NIKON 0x0000000A +#define PIMA_VENDOR_CANON 0x0000000B +#define PIMA_VENDOR_FOTONATION 0x0000000C +#define PIMA_VENDOR_PENTAX 0x0000000D +#define PIMA_VENDOR_FUJI 0x0000000E /* Operation Codes */ -#define PTP_OC_Undefined 0x1000 -#define PTP_OC_GetDeviceInfo 0x1001 -#define PTP_OC_OpenSession 0x1002 -#define PTP_OC_CloseSession 0x1003 -#define PTP_OC_GetStorageIDs 0x1004 -#define PTP_OC_GetStorageInfo 0x1005 -#define PTP_OC_GetNumObjects 0x1006 -#define PTP_OC_GetObjectHandles 0x1007 -#define PTP_OC_GetObjectInfo 0x1008 -#define PTP_OC_GetObject 0x1009 -#define PTP_OC_GetThumb 0x100A -#define PTP_OC_DeleteObject 0x100B -#define PTP_OC_SendObjectInfo 0x100C -#define PTP_OC_SendObject 0x100D -#define PTP_OC_InitiateCapture 0x100E -#define PTP_OC_FormatStore 0x100F -#define PTP_OC_ResetDevice 0x1010 -#define PTP_OC_SelfTest 0x1011 -#define PTP_OC_SetObjectProtection 0x1012 -#define PTP_OC_PowerDown 0x1013 -#define PTP_OC_GetDevicePropDesc 0x1014 -#define PTP_OC_GetDevicePropValue 0x1015 -#define PTP_OC_SetDevicePropValue 0x1016 -#define PTP_OC_ResetDevicePropValue 0x1017 -#define PTP_OC_TerminateOpenCapture 0x1018 -#define PTP_OC_MoveObject 0x1019 -#define PTP_OC_CopyObject 0x101A -#define PTP_OC_GetPartialObject 0x101B -#define PTP_OC_InitiateOpenCapture 0x101C +#define PIMA_OPERATION_CODE_Undefined 0x1000 +#define PIMA_OPERATION_CODE_GetDeviceInfo 0x1001 +#define PIMA_OPERATION_CODE_OpenSession 0x1002 +#define PIMA_OPERATION_CODE_CloseSession 0x1003 +#define PIMA_OPERATION_CODE_GetStorageIDs 0x1004 +#define PIMA_OPERATION_CODE_GetStorageInfo 0x1005 +#define PIMA_OPERATION_CODE_GetNumObjects 0x1006 +#define PIMA_OPERATION_CODE_GetObjectHandles 0x1007 +#define PIMA_OPERATION_CODE_GetObjectInfo 0x1008 +#define PIMA_OPERATION_CODE_GetObject 0x1009 +#define PIMA_OPERATION_CODE_GetThumb 0x100A +#define PIMA_OPERATION_CODE_DeleteObject 0x100B +#define PIMA_OPERATION_CODE_SendObjectInfo 0x100C +#define PIMA_OPERATION_CODE_SendObject 0x100D +#define PIMA_OPERATION_CODE_InitiateCapture 0x100E +#define PIMA_OPERATION_CODE_FormatStore 0x100F +#define PIMA_OPERATION_CODE_ResetDevice 0x1010 +#define PIMA_OPERATION_CODE_SelfTest 0x1011 +#define PIMA_OPERATION_CODE_SetObjectProtection 0x1012 +#define PIMA_OPERATION_CODE_PowerDown 0x1013 +#define PIMA_OPERATION_CODE_GetDevicePropDesc 0x1014 +#define PIMA_OPERATION_CODE_GetDevicePropValue 0x1015 +#define PIMA_OPERATION_CODE_SetDevicePropValue 0x1016 +#define PIMA_OPERATION_CODE_ResetDevicePropValue 0x1017 +#define PIMA_OPERATION_CODE_TerminateOpenCapture 0x1018 +#define PIMA_OPERATION_CODE_MoveObject 0x1019 +#define PIMA_OPERATION_CODE_CopyObject 0x101A +#define PIMA_OPERATION_CODE_GetPartialObject 0x101B +#define PIMA_OPERATION_CODE_InitiateOpenCapture 0x101C /* Proprietary vendor extension operations mask */ -#define PTP_OC_EXTENSION_MASK 0xF000 -#define PTP_OC_EXTENSION 0x9000 +#define PIMA_OPERATION_CODE_EXTENSION_MASK 0xF000 +#define PIMA_OPERATION_CODE_EXTENSION 0x9000 /* Response Codes */ -#define PIMAReturnCodeUndefined 0x2000 -#define PIMAReturnCodeOK 0x2001 -#define PIMAReturnCodeGeneralError 0x2002 -#define PIMAReturnCodeSessionNotOpen 0x2003 -#define PIMAReturnCodeInvalidTransactionID 0x2004 -#define PIMAReturnCodeOperationNotSupported 0x2005 -#define PIMAReturnCodeParameterNotSupported 0x2006 -#define PIMAReturnCodeIncompleteTransfer 0x2007 -#define PIMAReturnCodeInvalidStorageId 0x2008 -#define PIMAReturnCodeInvalidObjectHandle 0x2009 -#define PIMAReturnCodeDevicePropertyNotSupported 0x200A -#define PIMAReturnCodeInvalidObjectFormatCode 0x200B -#define PIMAReturnCodeStoreFull 0x200C -#define PIMAReturnCodeObjectWriteProtected 0x200D -#define PIMAReturnCodeStoreReadOnly 0x200E -#define PIMAReturnCodeAccessDenied 0x200F -#define PIMAReturnCodeNoThumbnailPresent 0x2010 -#define PIMAReturnCodeSelfTestFailed 0x2011 -#define PIMAReturnCodePartialDeletion 0x2012 -#define PIMAReturnCodeStoreNotAvailable 0x2013 -#define PIMAReturnCodeSpecificationByFormatUnsupported 0x2014 -#define PIMAReturnCodeNoValidObjectInfo 0x2015 -#define PIMAReturnCodeInvalidCodeFormat 0x2016 -#define PIMAReturnCodeUnknownVendorCode 0x2017 -#define PIMAReturnCodeCaptureAlreadyTerminated 0x2018 -#define PIMAReturnCodeDeviceBusy 0x2019 -#define PIMAReturnCodeInvalidParentObject 0x201A -#define PIMAReturnCodeInvalidDevicePropFormat 0x201B -#define PIMAReturnCodeInvalidDevicePropValue 0x201C -#define PIMAReturnCodeInvalidParameter 0x201D -#define PIMAReturnCodeSessionAlreadyOpened 0x201E -#define PIMAReturnCodeTransactionCanceled 0x201F -#define PIMAReturnCodeSpecificationOfDestinationUnsupported 0x2020 +#define PIMA_RETURN_CODE_Undefined 0x2000 +#define PIMA_RETURN_CODE_OK 0x2001 +#define PIMA_RETURN_CODE_GeneralError 0x2002 +#define PIMA_RETURN_CODE_SessionNotOpen 0x2003 +#define PIMA_RETURN_CODE_InvalidTransactionID 0x2004 +#define PIMA_RETURN_CODE_OperationNotSupported 0x2005 +#define PIMA_RETURN_CODE_ParameterNotSupported 0x2006 +#define PIMA_RETURN_CODE_IncompleteTransfer 0x2007 +#define PIMA_RETURN_CODE_InvalidStorageId 0x2008 +#define PIMA_RETURN_CODE_InvalidObjectHandle 0x2009 +#define PIMA_RETURN_CODE_DevicePropertyNotSupported 0x200A +#define PIMA_RETURN_CODE_InvalidObjectFormatCode 0x200B +#define PIMA_RETURN_CODE_StoreFull 0x200C +#define PIMA_RETURN_CODE_ObjectWriteProtected 0x200D +#define PIMA_RETURN_CODE_StoreReadOnly 0x200E +#define PIMA_RETURN_CODE_AccessDenied 0x200F +#define PIMA_RETURN_CODE_NoThumbnailPresent 0x2010 +#define PIMA_RETURN_CODE_SelfTestFailed 0x2011 +#define PIMA_RETURN_CODE_PartialDeletion 0x2012 +#define PIMA_RETURN_CODE_StoreNotAvailable 0x2013 +#define PIMA_RETURN_CODE_SpecificationByFormatUnsupported 0x2014 +#define PIMA_RETURN_CODE_NoValidObjectInfo 0x2015 +#define PIMA_RETURN_CODE_InvalidCodeFormat 0x2016 +#define PIMA_RETURN_CODE_UnknownVendorCode 0x2017 +#define PIMA_RETURN_CODE_CaptureAlreadyTerminated 0x2018 +#define PIMA_RETURN_CODE_DeviceBusy 0x2019 +#define PIMA_RETURN_CODE_InvalidParentObject 0x201A +#define PIMA_RETURN_CODE_InvalidDevicePropFormat 0x201B +#define PIMA_RETURN_CODE_InvalidDevicePropValue 0x201C +#define PIMA_RETURN_CODE_InvalidParameter 0x201D +#define PIMA_RETURN_CODE_SessionAlreadyOpened 0x201E +#define PIMA_RETURN_CODE_TransactionCanceled 0x201F +#define PIMA_RETURN_CODE_SpecificationOfDestinationUnsupported 0x2020 /* Proprietary vendor extension response code mask */ -#define PIMAReturnCodeEXTENSION_MASK 0xF000 -#define PIMAReturnCodeEXTENSION 0xA000 +#define PIMA_RETURN_CODE_EXTENSION_MASK 0xF000 +#define PIMA_RETURN_CODE_EXTENSION 0xA000 /* PTP Event Codes */ -#define PTP_EC_Undefined 0x4000 -#define PTP_EC_CancelTransaction 0x4001 -#define PTP_EC_ObjectAdded 0x4002 -#define PTP_EC_ObjectRemoved 0x4003 -#define PTP_EC_StoreAdded 0x4004 -#define PTP_EC_StoreRemoved 0x4005 -#define PTP_EC_DevicePropChanged 0x4006 -#define PTP_EC_ObjectInfoChanged 0x4007 -#define PTP_EC_DeviceInfoChanged 0x4008 -#define PTP_EC_RequestObjectTransfer 0x4009 -#define PTP_EC_StoreFull 0x400A -#define PTP_EC_DeviceReset 0x400B -#define PTP_EC_StorageInfoChanged 0x400C -#define PTP_EC_CaptureComplete 0x400D -#define PTP_EC_UnreportedStatus 0x400E +#define PIMA_EVENT_CODE_Undefined 0x4000 +#define PIMA_EVENT_CODE_CancelTransaction 0x4001 +#define PIMA_EVENT_CODE_ObjectAdded 0x4002 +#define PIMA_EVENT_CODE_ObjectRemoved 0x4003 +#define PIMA_EVENT_CODE_StoreAdded 0x4004 +#define PIMA_EVENT_CODE_StoreRemoved 0x4005 +#define PIMA_EVENT_CODE_DevicePropChanged 0x4006 +#define PIMA_EVENT_CODE_ObjectInfoChanged 0x4007 +#define PIMA_EVENT_CODE_DeviceInfoChanged 0x4008 +#define PIMA_EVENT_CODE_RequestObjectTransfer 0x4009 +#define PIMA_EVENT_CODE_StoreFull 0x400A +#define PIMA_EVENT_CODE_DeviceReset 0x400B +#define PIMA_EVENT_CODE_StorageInfoChanged 0x400C +#define PIMA_EVENT_CODE_CaptureComplete 0x400D +#define PIMA_EVENT_CODE_UnreportedStatus 0x400E #define PTP_HANDLER_SPECIAL 0xffffffff #define PTP_HANDLER_ROOT 0x00000000 -/* max ptp string length INCLUDING terminating null character */ -#define PTP_MAXSTRLEN 255 -/* PTP Object Format Codes */ +/* PIMA15740 Object Format Codes */ /* ancillary formats */ -#define PTP_OFC_Undefined 0x3000 -#define PTP_OFC_Association 0x3001 -#define PTP_OFC_Script 0x3002 -#define PTP_OFC_Executable 0x3003 -#define PTP_OFC_Text 0x3004 -#define PTP_OFC_HTML 0x3005 -#define PTP_OFC_DPOF 0x3006 -#define PTP_OFC_AIFF 0x3007 -#define PTP_OFC_WAV 0x3008 -#define PTP_OFC_MP3 0x3009 -#define PTP_OFC_AVI 0x300A -#define PTP_OFC_MPEG 0x300B -#define PTP_OFC_ASF 0x300C -#define PTP_OFC_QT 0x300D /* guessing */ +#define PIMA_OBJECT_FORMAT_CODE_Undefined 0x3000 +#define PIMA_OBJECT_FORMAT_CODE_Association 0x3001 +#define PIMA_OBJECT_FORMAT_CODE_Script 0x3002 +#define PIMA_OBJECT_FORMAT_CODE_Executable 0x3003 +#define PIMA_OBJECT_FORMAT_CODE_Text 0x3004 +#define PIMA_OBJECT_FORMAT_CODE_HTML 0x3005 +#define PIMA_OBJECT_FORMAT_CODE_DPOF 0x3006 +#define PIMA_OBJECT_FORMAT_CODE_AIFF 0x3007 +#define PIMA_OBJECT_FORMAT_CODE_WAV 0x3008 +#define PIMA_OBJECT_FORMAT_CODE_MP3 0x3009 +#define PIMA_OBJECT_FORMAT_CODE_AVI 0x300A +#define PIMA_OBJECT_FORMAT_CODE_MPEG 0x300B +#define PIMA_OBJECT_FORMAT_CODE_ASF 0x300C +#define PIMA_OBJECT_FORMAT_CODE_QT 0x300D /* guessing */ /* image formats */ -#define PTP_OFC_EXIF_JPEG 0x3801 -#define PTP_OFC_TIFF_EP 0x3802 -#define PTP_OFC_FlashPix 0x3803 -#define PTP_OFC_BMP 0x3804 -#define PTP_OFC_CIFF 0x3805 -#define PTP_OFC_Undefined_0x3806 0x3806 -#define PTP_OFC_GIF 0x3807 -#define PTP_OFC_JFIF 0x3808 -#define PTP_OFC_PCD 0x3809 -#define PTP_OFC_PICT 0x380A -#define PTP_OFC_PNG 0x380B -#define PTP_OFC_Undefined_0x380C 0x380C -#define PTP_OFC_TIFF 0x380D -#define PTP_OFC_TIFF_IT 0x380E -#define PTP_OFC_JP2 0x380F -#define PTP_OFC_JPX 0x3810 +#define PIMA_OBJECT_FORMAT_CODE_EXIF_JPEG 0x3801 +#define PIMA_OBJECT_FORMAT_CODE_TIFF_EP 0x3802 +#define PIMA_OBJECT_FORMAT_CODE_FlashPix 0x3803 +#define PIMA_OBJECT_FORMAT_CODE_BMP 0x3804 +#define PIMA_OBJECT_FORMAT_CODE_CIFF 0x3805 +#define PIMA_OBJECT_FORMAT_CODE_Undefined_0x3806 0x3806 +#define PIMA_OBJECT_FORMAT_CODE_GIF 0x3807 +#define PIMA_OBJECT_FORMAT_CODE_JFIF 0x3808 +#define PIMA_OBJECT_FORMAT_CODE_PCD 0x3809 +#define PIMA_OBJECT_FORMAT_CODE_PICT 0x380A +#define PIMA_OBJECT_FORMAT_CODE_PNG 0x380B +#define PIMA_OBJECT_FORMAT_CODE_Undefined_0x380C 0x380C +#define PIMA_OBJECT_FORMAT_CODE_TIFF 0x380D +#define PIMA_OBJECT_FORMAT_CODE_TIFF_IT 0x380E +#define PIMA_OBJECT_FORMAT_CODE_JP2 0x380F +#define PIMA_OBJECT_FORMAT_CODE_JPX 0x3810 /* PTP Association Types */ #define PTP_AT_Undefined 0x0000 @@ -197,9 +183,6 @@ #define PTP_AT_2DPanoramic 0x0006 #define PTP_AT_AncillaryData 0x0007 -/* PTP Protection Status */ -#define PTP_PS_NoProtection 0x0000 -#define PTP_PS_ReadOnly 0x0001 /* PTP Storage Types */ #define PTP_ST_Undefined 0x0000