virtualmech / Mbed 2 deprecated VmRecorderV1dot1

Dependencies:   mbed

Committer:
JuanManuelAmador
Date:
Mon Jun 15 15:34:27 2015 +0000
Revision:
0:3d456b8ce449
prueba

Who changed what in which revision?

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