This repository has been archived on 2022-01-28. You can view files and clone it, but cannot push or open issues or pull requests.
Marlin-Artillery-M600/Marlin/frameworks/CMSIS/LPC1768/lib/usb/mscuser.h
Chris Pepper a5cf3a190c bugfix-2.0.x critical fix (#7401)
* Fix mistake in gitignore file and add in missing core files.

The missing leading slash on "lib" meant all folders names lib in the directory tree are ignored, rather than just the top level PlatformIO lib folder

* Add LiquidCrystal Library and associated headers modified to compile.
2017-08-31 18:23:44 -05:00

69 lines
2 KiB
C

/*----------------------------------------------------------------------------
* U S B - K e r n e l
*----------------------------------------------------------------------------
* Name: MSCUSER.H
* Purpose: Mass Storage Class Custom User Definitions
* Version: V1.10
*----------------------------------------------------------------------------
* This software is supplied "AS IS" without any warranties, express,
* implied or statutory, including but not limited to the implied
* warranties of fitness for purpose, satisfactory quality and
* noninfringement. Keil extends you a royalty-free right to reproduce
* and distribute executable files created using this software for use
* on NXP Semiconductors LPC family microcontroller devices only. Nothing
* else gives you the right to use this software.
*
* Copyright (c) 2005-2009 Keil Software.
*---------------------------------------------------------------------------*/
#ifndef __MSCUSER_H__
#define __MSCUSER_H__
/* Max In/Out Packet Size */
#define MSC_MAX_PACKET 64
#define MSC_BLOCK_SIZE 512
/* MSC In/Out Endpoint Address */
#define MSC_EP_IN 0x85
#define MSC_EP_OUT 0x05
/* MSC Requests Callback Functions */
extern uint32_t MSC_Reset (void);
extern uint32_t MSC_GetMaxLUN (void);
/* MSC Bulk Callback Functions */
extern void MSC_GetCBW (void);
extern void MSC_SetCSW (void);
extern void MSC_BulkIn (void);
extern void MSC_BulkOut(void);
enum class Sense_KEY : uint8_t {
NO_SENSE,
RECOVERED_ERROR,
NOT_READY,
MEDIUM_ERROR,
HARDWARE_ERROR,
ILLEGAL_REQUEST,
UNIT_ATTENTION,
DATA_PROTECT
};
enum class Sense_ASC : uint8_t {
CANNOT_READ_MEDIUM = 0x30,
MEDIUM_NOT_PRESENT = 0x3A
};
enum class Sense_ASCQ : uint8_t {
// CANNOT_READ_MEDIUM
UNKNOWN_FORMAT = 0x01,
// MEDIUM_NOT_PRESENT
REASON_UNKNOWN = 0x00,
TRAY_CLOSED,
TRAY_OPEN,
LOADABLE,
AUXILIARY_MEMORY_ACCESSIBLE
};
#endif /* __MSCUSER_H__ */