Suspended plotter for the skaperfest

Dependencies:   mbed HTTPServer EthernetNetIf FatFileSystemCpp

Committer:
rengro01
Date:
Mon Aug 22 10:24:23 2022 +0000
Revision:
0:602ff2b2d41c
skaperfest

Who changed what in which revision?

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