Library to allo USB PTP device to be hosted by the mbed platform
Dependents: class_project_main
PIMA15740/PIMA15740_types.h@10:fc1cb68fc91e, 2013-09-18 (annotated)
- Committer:
- jakowisp
- Date:
- Wed Sep 18 01:48:07 2013 +0000
- Revision:
- 10:fc1cb68fc91e
- Parent:
- 3:1fcb46ab18df
Adding DST code;
Who changed what in which revision?
User | Revision | Line number | New 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; |