This program plays an internet radio audio stream like Shoutcast.

Dependencies:   EthernetNetIf mbed HTTPClient

Committer:
parik
Date:
Tue Mar 01 06:22:50 2011 +0000
Revision:
0:37da71b87d96

        

Who changed what in which revision?

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