Library to allo USB PTP device to be hosted by the mbed platform

Dependents:   class_project_main

Committer:
jakowisp
Date:
Mon Oct 07 04:45:55 2013 +0000
Revision:
11:3b072cf16df8
Parent:
10:fc1cb68fc91e
Add code for Property description download.; Add code decoder logic.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jakowisp 3:1fcb46ab18df 1 /**
jakowisp 3:1fcb46ab18df 2 * @file PIMA15740_types.h
jakowisp 3:1fcb46ab18df 3 * @brief PIMA type definitions
jakowisp 3:1fcb46ab18df 4 * @author Dwayne Dilbeck
jakowisp 3:1fcb46ab18df 5 * @date 8/23/2013
jakowisp 3:1fcb46ab18df 6 *
jakowisp 3:1fcb46ab18df 7 * @par Copyright:
jakowisp 3:1fcb46ab18df 8 * Copyright (c) 2013 Dwayne Dilbeck
jakowisp 3:1fcb46ab18df 9 * @par License:
jakowisp 3:1fcb46ab18df 10 * This software is distributed under the terms of the GNU Lesser General Public License
jakowisp 3:1fcb46ab18df 11 *
jakowisp 3:1fcb46ab18df 12 * mbed USBHostPTP Library(PIMA15740 Constants definition)
jakowisp 1:71c0e9dc153d 13 */
jakowisp 1:71c0e9dc153d 14
jakowisp 0:98cf19bcd828 15 #include "PIMAconst.h"
jakowisp 0:98cf19bcd828 16 #include "PIMAArray.h"
jakowisp 0:98cf19bcd828 17 #include "PIMAString.h"
jakowisp 10:fc1cb68fc91e 18 #include "PIMAPropDescr.h"
jakowisp 0:98cf19bcd828 19
jakowisp 3:1fcb46ab18df 20 /** @struct PIMAContainer
jakowisp 3:1fcb46ab18df 21 * PIMA 15740:2000 standard Appendix D.7.1.1
jakowisp 3:1fcb46ab18df 22 */
jakowisp 0:98cf19bcd828 23 typedef __packed struct {
jakowisp 3:1fcb46ab18df 24 uint32_t length;
jakowisp 0:98cf19bcd828 25 uint16_t type;
jakowisp 3:1fcb46ab18df 26 uint16_t code;
jakowisp 3:1fcb46ab18df 27 uint32_t transactionID;
jakowisp 3:1fcb46ab18df 28 uint32_t payload[5];
jakowisp 0:98cf19bcd828 29 } PIMAContainer;
jakowisp 3:1fcb46ab18df 30
jakowisp 3:1fcb46ab18df 31 /// PIMA 15740:2000 standard 5.5.1 Table 6
jakowisp 0:98cf19bcd828 32 typedef struct {
jakowisp 0:98cf19bcd828 33 uint16_t standardVersion;
jakowisp 0:98cf19bcd828 34 uint32_t vendorExtensionID;
jakowisp 0:98cf19bcd828 35 uint16_t vendorExtensionVersion;
jakowisp 0:98cf19bcd828 36 PIMAString vendorExtensionDesc;
jakowisp 0:98cf19bcd828 37 uint16_t functionMode;
jakowisp 10:fc1cb68fc91e 38 PIMAArray<uint16_t> operationsSupported;
jakowisp 10:fc1cb68fc91e 39 PIMAArray<uint16_t> eventsSupported;
jakowisp 10:fc1cb68fc91e 40 PIMAArray<uint16_t> devicePropertiesSupported;
jakowisp 10:fc1cb68fc91e 41 PIMAArray<uint16_t> captureFormats;
jakowisp 10:fc1cb68fc91e 42 PIMAArray<uint16_t> imageFormats;
jakowisp 0:98cf19bcd828 43 PIMAString manufacturer;
jakowisp 0:98cf19bcd828 44 PIMAString model;
jakowisp 0:98cf19bcd828 45 PIMAString deviceVersion;
jakowisp 0:98cf19bcd828 46 PIMAString serialNumber;
jakowisp 0:98cf19bcd828 47 } DeviceInfoStruct;
jakowisp 0:98cf19bcd828 48
jakowisp 3:1fcb46ab18df 49 /// PIMA 15740:2000 standard 5.5.2 Table 8
jakowisp 0:98cf19bcd828 50 typedef struct {
jakowisp 0:98cf19bcd828 51 uint32_t storageID; //0x0
jakowisp 0:98cf19bcd828 52 uint16_t objectFormat; //0x4
jakowisp 0:98cf19bcd828 53 uint16_t protectionStatus; //0x6
jakowisp 0:98cf19bcd828 54 uint32_t objectCompressSize; //0x8
jakowisp 0:98cf19bcd828 55 uint16_t thumbFormat; //0xc
jakowisp 0:98cf19bcd828 56 uint32_t thumbCompressedSize; //0xd
jakowisp 0:98cf19bcd828 57 uint32_t thumbPixWidth; //0x12
jakowisp 0:98cf19bcd828 58 uint32_t thumbPixHeight; //0x16
jakowisp 0:98cf19bcd828 59 uint32_t imagePixWidth; //0x1a
jakowisp 0:98cf19bcd828 60 uint32_t imagePixHeight; //0x1e
jakowisp 0:98cf19bcd828 61 uint32_t imageBitDepth; //0x22
jakowisp 0:98cf19bcd828 62 uint32_t parentObject; //0x26
jakowisp 0:98cf19bcd828 63 uint16_t associationType; //0x2a
jakowisp 0:98cf19bcd828 64 uint32_t associationDesc; //0x2c
jakowisp 0:98cf19bcd828 65 uint32_t sequenceNumber; //0x30
jakowisp 3:1fcb46ab18df 66 PIMAString filename; //0x34
jakowisp 0:98cf19bcd828 67 PIMAString captureDate;
jakowisp 0:98cf19bcd828 68 PIMAString modificationDate;
jakowisp 0:98cf19bcd828 69 PIMAString keywords;
jakowisp 0:98cf19bcd828 70 } ObjectInfoStruct;
jakowisp 0:98cf19bcd828 71
jakowisp 3:1fcb46ab18df 72 /// PIMA 15740:2000 standard 5.5.3 Table 10
jakowisp 3:1fcb46ab18df 73 typedef struct {
jakowisp 3:1fcb46ab18df 74 uint16_t storageType;
jakowisp 3:1fcb46ab18df 75 uint16_t fileSystemType;
jakowisp 3:1fcb46ab18df 76 uint16_t accessCapability;
jakowisp 3:1fcb46ab18df 77 uint64_t maxCapacity;
jakowisp 3:1fcb46ab18df 78 uint64_t freeSpaceInBytes;
jakowisp 3:1fcb46ab18df 79 uint32_t freeSpaceInImages;
jakowisp 3:1fcb46ab18df 80 PIMAString storageDescription;
jakowisp 3:1fcb46ab18df 81 PIMAString volumeLabel;
jakowisp 3:1fcb46ab18df 82 } StorageInfoStruct;