From 2fff65aed2477a503c72629d27e2a330d30c02d1 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Wed, 25 Jan 2017 22:23:13 +0100 Subject: o Seemingly working Mutexes. o Dropping the privileged/unprivileged split for now. --- .../Projects/Composite_Example/inc/usb_bot.h | 100 +++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_bot.h (limited to 'thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_bot.h') diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_bot.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_bot.h new file mode 100644 index 0000000..9063ccb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_bot.h @@ -0,0 +1,100 @@ +/** + ****************************************************************************** + * @file usb_bot.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief BOT State Machine management + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_BOT_H +#define __USB_BOT_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +/* Bulk-only Command Block Wrapper */ + +typedef struct _Bulk_Only_CBW +{ + uint32_t dSignature; + uint32_t dTag; + uint32_t dDataLength; + uint8_t bmFlags; + uint8_t bLUN; + uint8_t bCBLength; + uint8_t CB[16]; +} +Bulk_Only_CBW; + +/* Bulk-only Command Status Wrapper */ +typedef struct _Bulk_Only_CSW +{ + uint32_t dSignature; + uint32_t dTag; + uint32_t dDataResidue; + uint8_t bStatus; +} +Bulk_Only_CSW; +/* Exported constants --------------------------------------------------------*/ + +/*****************************************************************************/ +/*********************** Bulk-Only Transfer State machine ********************/ +/*****************************************************************************/ +#define BOT_IDLE 0 /* Idle state */ +#define BOT_DATA_OUT 1 /* Data Out state */ +#define BOT_DATA_IN 2 /* Data In state */ +#define BOT_DATA_IN_LAST 3 /* Last Data In Last */ +#define BOT_CSW_Send 4 /* Command Status Wrapper */ +#define BOT_ERROR 5 /* error state */ + +#define BOT_CBW_SIGNATURE 0x43425355 +#define BOT_CSW_SIGNATURE 0x53425355 +#define BOT_CBW_PACKET_LENGTH 31 + +#define CSW_DATA_LENGTH 0x000D + +/* CSW Status Definitions */ +#define CSW_CMD_PASSED 0x00 +#define CSW_CMD_FAILED 0x01 +#define CSW_PHASE_ERROR 0x02 + +#define SEND_CSW_DISABLE 0 +#define SEND_CSW_ENABLE 1 + +#define DIR_IN 0 +#define DIR_OUT 1 +#define BOTH_DIR 2 + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void Mass_Storage_In (void); +void Mass_Storage_Out (void); +void CBW_Decode(void); +void Transfer_Data_Request(uint8_t* Data_Pointer, uint16_t Data_Len); +void Set_CSW (uint8_t CSW_Status, uint8_t Send_Permission); +void Bot_Abort(uint8_t Direction); + +#endif /* __USB_BOT_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + -- cgit v1.2.3