summaryrefslogtreecommitdiff
path: root/examples/device/src/msc_device_app.h
diff options
context:
space:
mode:
authorhathach <[email protected]>2018-03-06 19:14:01 +0700
committerhathach <[email protected]>2018-03-06 19:14:01 +0700
commit4dc917c9ba8b746a4e5ce1934af019840bd20355 (patch)
tree5c8d270f36a6c38e98a64a991de54270e5a2d3f0 /examples/device/src/msc_device_app.h
parentfce85875c49a7d18115c4f0c2cf91d7f8e5df9d9 (diff)
rename demo to examples
Diffstat (limited to 'examples/device/src/msc_device_app.h')
-rw-r--r--examples/device/src/msc_device_app.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/examples/device/src/msc_device_app.h b/examples/device/src/msc_device_app.h
new file mode 100644
index 000000000..47803b7d4
--- /dev/null
+++ b/examples/device/src/msc_device_app.h
@@ -0,0 +1,95 @@
+/**************************************************************************/
+/*!
+ @file msc_device_app.h
+ @author hathach (tinyusb.org)
+
+ @section LICENSE
+
+ Software License Agreement (BSD License)
+
+ Copyright (c) 2013, hathach (tinyusb.org)
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. Neither the name of the copyright holders nor the
+ names of its contributors may be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ This file is part of the tinyusb stack.
+*/
+/**************************************************************************/
+
+/** \ingroup group_demo
+ * \defgroup Mass Storage Device App
+ * @{ */
+
+#ifndef _TUSB_MSCD_DEVICE_APP_H_
+#define _TUSB_MSCD_DEVICE_APP_H_
+
+#include "bsp/board.h"
+#include "tusb.h"
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+#if TUSB_CFG_DEVICE_MSC
+
+enum
+{
+ DISK_BLOCK_NUM = 16, // 8KB is the smallest size that windows allow to mount
+ DISK_BLOCK_SIZE = 512
+};
+
+#define README_CONTENTS \
+"This is tinyusb's MassStorage Class demo.\r\n\r\n\
+If you find any bugs or get any questions, feel free to file an\r\n\
+issue at github.com/hathach/tinyusb"
+
+#if TUSB_CFG_MCU==MCU_LPC11UXX || TUSB_CFG_MCU==MCU_LPC13UXX
+ #define MSCD_APP_ROMDISK
+#else // defaults is ram disk
+ #define MSCD_APP_RAMDISK
+#endif
+
+void msc_app_init(void);
+void msc_app_task(void* param);
+
+void msc_app_mount(uint8_t coreid);
+void msc_app_umount(uint8_t coreid);
+
+extern scsi_sense_fixed_data_t mscd_sense_data;
+
+#else
+
+#define msc_app_init()
+#define msc_app_task(x)
+#define msc_app_mount(x)
+#define msc_app_umount(x)
+
+#endif
+
+#ifdef __cplusplus
+ }
+#endif
+
+#endif /* _TUSB_MSCD_DEVICE_APP_H_ */
+
+/** @} */