Wireless Gas Meter Reading System Data Logger

Dependencies:   mbed

Committer:
harrisjunaid
Date:
Tue Apr 17 15:54:02 2012 +0000
Revision:
0:a67cda7c126f

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
harrisjunaid 0:a67cda7c126f 1 /*
harrisjunaid 0:a67cda7c126f 2 **************************************************************************************************************
harrisjunaid 0:a67cda7c126f 3 * NXP USB Host Stack
harrisjunaid 0:a67cda7c126f 4 *
harrisjunaid 0:a67cda7c126f 5 * (c) Copyright 2008, NXP SemiConductors
harrisjunaid 0:a67cda7c126f 6 * (c) Copyright 2008, OnChip Technologies LLC
harrisjunaid 0:a67cda7c126f 7 * All Rights Reserved
harrisjunaid 0:a67cda7c126f 8 *
harrisjunaid 0:a67cda7c126f 9 * www.nxp.com
harrisjunaid 0:a67cda7c126f 10 * www.onchiptech.com
harrisjunaid 0:a67cda7c126f 11 *
harrisjunaid 0:a67cda7c126f 12 * File : usbhost_ms.h
harrisjunaid 0:a67cda7c126f 13 * Programmer(s) : Ravikanth.P
harrisjunaid 0:a67cda7c126f 14 * Version :
harrisjunaid 0:a67cda7c126f 15 *
harrisjunaid 0:a67cda7c126f 16 **************************************************************************************************************
harrisjunaid 0:a67cda7c126f 17 */
harrisjunaid 0:a67cda7c126f 18
harrisjunaid 0:a67cda7c126f 19 #ifndef USBHOST_MS_H
harrisjunaid 0:a67cda7c126f 20 #define USBHOST_MS_H
harrisjunaid 0:a67cda7c126f 21
harrisjunaid 0:a67cda7c126f 22 /*
harrisjunaid 0:a67cda7c126f 23 **************************************************************************************************************
harrisjunaid 0:a67cda7c126f 24 * INCLUDE HEADER FILES
harrisjunaid 0:a67cda7c126f 25 **************************************************************************************************************
harrisjunaid 0:a67cda7c126f 26 */
harrisjunaid 0:a67cda7c126f 27
harrisjunaid 0:a67cda7c126f 28 #include "usbhost_inc.h"
harrisjunaid 0:a67cda7c126f 29
harrisjunaid 0:a67cda7c126f 30 /*
harrisjunaid 0:a67cda7c126f 31 **************************************************************************************************************
harrisjunaid 0:a67cda7c126f 32 * MASS STORAGE SPECIFIC DEFINITIONS
harrisjunaid 0:a67cda7c126f 33 **************************************************************************************************************
harrisjunaid 0:a67cda7c126f 34 */
harrisjunaid 0:a67cda7c126f 35
harrisjunaid 0:a67cda7c126f 36 #define MS_GET_MAX_LUN_REQ 0xFE
harrisjunaid 0:a67cda7c126f 37 #define MASS_STORAGE_CLASS 0x08
harrisjunaid 0:a67cda7c126f 38 #define MASS_STORAGE_SUBCLASS_SCSI 0x06
harrisjunaid 0:a67cda7c126f 39 #define MASS_STORAGE_PROTOCOL_BO 0x50
harrisjunaid 0:a67cda7c126f 40
harrisjunaid 0:a67cda7c126f 41 #define INQUIRY_LENGTH 36
harrisjunaid 0:a67cda7c126f 42 /*
harrisjunaid 0:a67cda7c126f 43 **************************************************************************************************************
harrisjunaid 0:a67cda7c126f 44 * SCSI SPECIFIC DEFINITIONS
harrisjunaid 0:a67cda7c126f 45 **************************************************************************************************************
harrisjunaid 0:a67cda7c126f 46 */
harrisjunaid 0:a67cda7c126f 47
harrisjunaid 0:a67cda7c126f 48 #define CBW_SIGNATURE 0x43425355
harrisjunaid 0:a67cda7c126f 49 #define CSW_SIGNATURE 0x53425355
harrisjunaid 0:a67cda7c126f 50 #define CBW_SIZE 31
harrisjunaid 0:a67cda7c126f 51 #define CSW_SIZE 13
harrisjunaid 0:a67cda7c126f 52 #define CSW_CMD_PASSED 0x00
harrisjunaid 0:a67cda7c126f 53 #define SCSI_CMD_REQUEST_SENSE 0x03
harrisjunaid 0:a67cda7c126f 54 #define SCSI_CMD_TEST_UNIT_READY 0x00
harrisjunaid 0:a67cda7c126f 55 #define SCSI_CMD_INQUIRY 0x12
harrisjunaid 0:a67cda7c126f 56 #define SCSI_CMD_READ_10 0x28
harrisjunaid 0:a67cda7c126f 57 #define SCSI_CMD_READ_CAPACITY 0x25
harrisjunaid 0:a67cda7c126f 58 #define SCSI_CMD_WRITE_10 0x2A
harrisjunaid 0:a67cda7c126f 59
harrisjunaid 0:a67cda7c126f 60 /*
harrisjunaid 0:a67cda7c126f 61 **************************************************************************************************************
harrisjunaid 0:a67cda7c126f 62 * TYPE DEFINITIONS
harrisjunaid 0:a67cda7c126f 63 **************************************************************************************************************
harrisjunaid 0:a67cda7c126f 64 */
harrisjunaid 0:a67cda7c126f 65
harrisjunaid 0:a67cda7c126f 66 typedef enum ms_data_dir {
harrisjunaid 0:a67cda7c126f 67
harrisjunaid 0:a67cda7c126f 68 MS_DATA_DIR_IN = 0x80,
harrisjunaid 0:a67cda7c126f 69 MS_DATA_DIR_OUT = 0x00,
harrisjunaid 0:a67cda7c126f 70 MS_DATA_DIR_NONE = 0x01
harrisjunaid 0:a67cda7c126f 71
harrisjunaid 0:a67cda7c126f 72 } MS_DATA_DIR;
harrisjunaid 0:a67cda7c126f 73
harrisjunaid 0:a67cda7c126f 74 /*
harrisjunaid 0:a67cda7c126f 75 **************************************************************************************************************
harrisjunaid 0:a67cda7c126f 76 * FUNCTION PROTOTYPES
harrisjunaid 0:a67cda7c126f 77 **************************************************************************************************************
harrisjunaid 0:a67cda7c126f 78 */
harrisjunaid 0:a67cda7c126f 79
harrisjunaid 0:a67cda7c126f 80 USB_INT32S MS_BulkRecv ( USB_INT32U block_number,
harrisjunaid 0:a67cda7c126f 81 USB_INT16U num_blocks,
harrisjunaid 0:a67cda7c126f 82 volatile USB_INT08U *user_buffer);
harrisjunaid 0:a67cda7c126f 83
harrisjunaid 0:a67cda7c126f 84 USB_INT32S MS_BulkSend ( USB_INT32U block_number,
harrisjunaid 0:a67cda7c126f 85 USB_INT16U num_blocks,
harrisjunaid 0:a67cda7c126f 86 volatile USB_INT08U *user_buffer);
harrisjunaid 0:a67cda7c126f 87 USB_INT32S MS_ParseConfiguration(void);
harrisjunaid 0:a67cda7c126f 88 USB_INT32S MS_TestUnitReady (void);
harrisjunaid 0:a67cda7c126f 89 USB_INT32S MS_ReadCapacity (USB_INT32U *numBlks, USB_INT32U *blkSize);
harrisjunaid 0:a67cda7c126f 90 USB_INT32S MS_GetMaxLUN (void);
harrisjunaid 0:a67cda7c126f 91 USB_INT32S MS_GetSenseInfo (void);
harrisjunaid 0:a67cda7c126f 92 USB_INT32S MS_Init (USB_INT32U *blkSize, USB_INT32U *numBlks, USB_INT08U *inquiryResult);
harrisjunaid 0:a67cda7c126f 93 USB_INT32S MS_Inquire (USB_INT08U *response);
harrisjunaid 0:a67cda7c126f 94
harrisjunaid 0:a67cda7c126f 95 void Fill_MSCommand ( USB_INT32U block_number,
harrisjunaid 0:a67cda7c126f 96 USB_INT32U block_size,
harrisjunaid 0:a67cda7c126f 97 USB_INT16U num_blocks,
harrisjunaid 0:a67cda7c126f 98 MS_DATA_DIR direction,
harrisjunaid 0:a67cda7c126f 99 USB_INT08U scsi_cmd,
harrisjunaid 0:a67cda7c126f 100 USB_INT08U scsi_cmd_len);
harrisjunaid 0:a67cda7c126f 101 #endif