summaryrefslogtreecommitdiff
path: root/hid-dials/build/usbd_hid.lst
diff options
context:
space:
mode:
Diffstat (limited to 'hid-dials/build/usbd_hid.lst')
-rw-r--r--hid-dials/build/usbd_hid.lst1578
1 files changed, 0 insertions, 1578 deletions
diff --git a/hid-dials/build/usbd_hid.lst b/hid-dials/build/usbd_hid.lst
deleted file mode 100644
index fe51ad7..0000000
--- a/hid-dials/build/usbd_hid.lst
+++ /dev/null
@@ -1,1578 +0,0 @@
-ARM GAS /tmp/ccE5JjBw.s page 1
-
-
- 1 .cpu cortex-m0
- 2 .eabi_attribute 20, 1
- 3 .eabi_attribute 21, 1
- 4 .eabi_attribute 23, 3
- 5 .eabi_attribute 24, 1
- 6 .eabi_attribute 25, 1
- 7 .eabi_attribute 26, 1
- 8 .eabi_attribute 30, 1
- 9 .eabi_attribute 34, 0
- 10 .eabi_attribute 18, 4
- 11 .file "usbd_hid.c"
- 12 .text
- 13 .Ltext0:
- 14 .cfi_sections .debug_frame
- 15 .section .text.USBD_HID_GetCfgDesc,"ax",%progbits
- 16 .align 1
- 17 .syntax unified
- 18 .code 16
- 19 .thumb_func
- 20 .fpu softvfp
- 22 USBD_HID_GetCfgDesc:
- 23 .LFB48:
- 24 .file 1 "Src/usbd_hid.c"
- 1:Src/usbd_hid.c **** /**
- 2:Src/usbd_hid.c **** ******************************************************************************
- 3:Src/usbd_hid.c **** * @file usbd_hid.c
- 4:Src/usbd_hid.c **** * @author MCD Application Team
- 5:Src/usbd_hid.c **** * @version V2.4.2
- 6:Src/usbd_hid.c **** * @date 11-December-2015
- 7:Src/usbd_hid.c **** * @brief This file provides the HID core functions.
- 8:Src/usbd_hid.c **** *
- 9:Src/usbd_hid.c **** * @verbatim
- 10:Src/usbd_hid.c **** *
- 11:Src/usbd_hid.c **** * ===================================================================
- 12:Src/usbd_hid.c **** * HID Class Description
- 13:Src/usbd_hid.c **** * ===================================================================
- 14:Src/usbd_hid.c **** * This module manages the HID class V1.11 following the "Device Class Definition
- 15:Src/usbd_hid.c **** * for Human Interface Devices (HID) Version 1.11 Jun 27, 2001".
- 16:Src/usbd_hid.c **** * This driver implements the following aspects of the specification:
- 17:Src/usbd_hid.c **** * - The Boot Interface Subclass
- 18:Src/usbd_hid.c **** * - The Mouse protocol
- 19:Src/usbd_hid.c **** * - Usage Page : Generic Desktop
- 20:Src/usbd_hid.c **** * - Usage : Joystick
- 21:Src/usbd_hid.c **** * - Collection : Application
- 22:Src/usbd_hid.c **** *
- 23:Src/usbd_hid.c **** * @note In HS mode and when the DMA is used, all variables and data structures
- 24:Src/usbd_hid.c **** * dealing with the DMA during the transaction process should be 32-bit aligned.
- 25:Src/usbd_hid.c **** *
- 26:Src/usbd_hid.c **** *
- 27:Src/usbd_hid.c **** * @endverbatim
- 28:Src/usbd_hid.c **** *
- 29:Src/usbd_hid.c **** ******************************************************************************
- 30:Src/usbd_hid.c **** * @attention
- 31:Src/usbd_hid.c **** *
- 32:Src/usbd_hid.c **** * <h2><center>&copy; COPYRIGHT 2015 STMicroelectronics</center></h2>
- 33:Src/usbd_hid.c **** *
- 34:Src/usbd_hid.c **** * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
- ARM GAS /tmp/ccE5JjBw.s page 2
-
-
- 35:Src/usbd_hid.c **** * You may not use this file except in compliance with the License.
- 36:Src/usbd_hid.c **** * You may obtain a copy of the License at:
- 37:Src/usbd_hid.c **** *
- 38:Src/usbd_hid.c **** * http://www.st.com/software_license_agreement_liberty_v2
- 39:Src/usbd_hid.c **** *
- 40:Src/usbd_hid.c **** * Unless required by applicable law or agreed to in writing, software
- 41:Src/usbd_hid.c **** * distributed under the License is distributed on an "AS IS" BASIS,
- 42:Src/usbd_hid.c **** * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- 43:Src/usbd_hid.c **** * See the License for the specific language governing permissions and
- 44:Src/usbd_hid.c **** * limitations under the License.
- 45:Src/usbd_hid.c **** *
- 46:Src/usbd_hid.c **** ******************************************************************************
- 47:Src/usbd_hid.c **** */
- 48:Src/usbd_hid.c ****
- 49:Src/usbd_hid.c **** /* Includes ------------------------------------------------------------------*/
- 50:Src/usbd_hid.c **** #include "usbd_hid.h"
- 51:Src/usbd_hid.c **** #include "usbd_desc.h"
- 52:Src/usbd_hid.c **** #include "usbd_ctlreq.h"
- 53:Src/usbd_hid.c ****
- 54:Src/usbd_hid.c ****
- 55:Src/usbd_hid.c **** /** @addtogroup STM32_USB_DEVICE_LIBRARY
- 56:Src/usbd_hid.c **** * @{
- 57:Src/usbd_hid.c **** */
- 58:Src/usbd_hid.c ****
- 59:Src/usbd_hid.c ****
- 60:Src/usbd_hid.c **** /** @defgroup USBD_HID
- 61:Src/usbd_hid.c **** * @brief usbd core module
- 62:Src/usbd_hid.c **** * @{
- 63:Src/usbd_hid.c **** */
- 64:Src/usbd_hid.c ****
- 65:Src/usbd_hid.c **** /** @defgroup USBD_HID_Private_TypesDefinitions
- 66:Src/usbd_hid.c **** * @{
- 67:Src/usbd_hid.c **** */
- 68:Src/usbd_hid.c **** /**
- 69:Src/usbd_hid.c **** * @}
- 70:Src/usbd_hid.c **** */
- 71:Src/usbd_hid.c ****
- 72:Src/usbd_hid.c ****
- 73:Src/usbd_hid.c **** /** @defgroup USBD_HID_Private_Defines
- 74:Src/usbd_hid.c **** * @{
- 75:Src/usbd_hid.c **** */
- 76:Src/usbd_hid.c ****
- 77:Src/usbd_hid.c **** /**
- 78:Src/usbd_hid.c **** * @}
- 79:Src/usbd_hid.c **** */
- 80:Src/usbd_hid.c ****
- 81:Src/usbd_hid.c ****
- 82:Src/usbd_hid.c **** /** @defgroup USBD_HID_Private_Macros
- 83:Src/usbd_hid.c **** * @{
- 84:Src/usbd_hid.c **** */
- 85:Src/usbd_hid.c **** /**
- 86:Src/usbd_hid.c **** * @}
- 87:Src/usbd_hid.c **** */
- 88:Src/usbd_hid.c ****
- 89:Src/usbd_hid.c ****
- 90:Src/usbd_hid.c ****
- 91:Src/usbd_hid.c ****
- ARM GAS /tmp/ccE5JjBw.s page 3
-
-
- 92:Src/usbd_hid.c **** /** @defgroup USBD_HID_Private_FunctionPrototypes
- 93:Src/usbd_hid.c **** * @{
- 94:Src/usbd_hid.c **** */
- 95:Src/usbd_hid.c ****
- 96:Src/usbd_hid.c ****
- 97:Src/usbd_hid.c **** static uint8_t USBD_HID_Init (USBD_HandleTypeDef *pdev,
- 98:Src/usbd_hid.c **** uint8_t cfgidx);
- 99:Src/usbd_hid.c ****
- 100:Src/usbd_hid.c **** static uint8_t USBD_HID_DeInit (USBD_HandleTypeDef *pdev,
- 101:Src/usbd_hid.c **** uint8_t cfgidx);
- 102:Src/usbd_hid.c ****
- 103:Src/usbd_hid.c **** static uint8_t USBD_HID_Setup (USBD_HandleTypeDef *pdev,
- 104:Src/usbd_hid.c **** USBD_SetupReqTypedef *req);
- 105:Src/usbd_hid.c ****
- 106:Src/usbd_hid.c **** static uint8_t *USBD_HID_GetCfgDesc (uint16_t *length);
- 107:Src/usbd_hid.c ****
- 108:Src/usbd_hid.c **** static uint8_t *USBD_HID_GetDeviceQualifierDesc (uint16_t *length);
- 109:Src/usbd_hid.c ****
- 110:Src/usbd_hid.c **** static uint8_t USBD_HID_DataIn (USBD_HandleTypeDef *pdev, uint8_t epnum);
- 111:Src/usbd_hid.c ****
- 112:Src/usbd_hid.c ****
- 113:Src/usbd_hid.c **** static uint8_t USBD_HID_DataOut (USBD_HandleTypeDef *pdev, uint8_t epnum);
- 114:Src/usbd_hid.c **** /**
- 115:Src/usbd_hid.c **** * @}
- 116:Src/usbd_hid.c **** */
- 117:Src/usbd_hid.c ****
- 118:Src/usbd_hid.c **** /** @defgroup USBD_HID_Private_Variables
- 119:Src/usbd_hid.c **** * @{
- 120:Src/usbd_hid.c **** */
- 121:Src/usbd_hid.c ****
- 122:Src/usbd_hid.c **** USBD_ClassTypeDef USBD_HID =
- 123:Src/usbd_hid.c **** {
- 124:Src/usbd_hid.c **** USBD_HID_Init,
- 125:Src/usbd_hid.c **** USBD_HID_DeInit,
- 126:Src/usbd_hid.c **** USBD_HID_Setup,
- 127:Src/usbd_hid.c **** NULL, /*EP0_TxSent*/
- 128:Src/usbd_hid.c **** NULL, /*EP0_RxReady*/
- 129:Src/usbd_hid.c **** USBD_HID_DataIn, /*DataIn*/
- 130:Src/usbd_hid.c **** USBD_HID_DataOut, /*DataOut*/
- 131:Src/usbd_hid.c **** NULL, /*SOF */
- 132:Src/usbd_hid.c **** NULL,
- 133:Src/usbd_hid.c **** NULL,
- 134:Src/usbd_hid.c **** USBD_HID_GetCfgDesc,
- 135:Src/usbd_hid.c **** USBD_HID_GetCfgDesc,
- 136:Src/usbd_hid.c **** USBD_HID_GetCfgDesc,
- 137:Src/usbd_hid.c **** USBD_HID_GetDeviceQualifierDesc,
- 138:Src/usbd_hid.c **** };
- 139:Src/usbd_hid.c ****
- 140:Src/usbd_hid.c **** /* USB HID device Configuration Descriptor */
- 141:Src/usbd_hid.c **** __ALIGN_BEGIN static uint8_t USBD_HID_CfgDesc[USB_HID_CONFIG_DESC_SIZ] __ALIGN_END =
- 142:Src/usbd_hid.c **** {
- 143:Src/usbd_hid.c **** 0x09, /* bLength: Configuration Descriptor size */
- 144:Src/usbd_hid.c **** USB_DESC_TYPE_CONFIGURATION, /* bDescriptorType: Configuration */
- 145:Src/usbd_hid.c **** USB_HID_CONFIG_DESC_SIZ,
- 146:Src/usbd_hid.c **** /* wTotalLength: Bytes returned */
- 147:Src/usbd_hid.c **** 0x00,
- 148:Src/usbd_hid.c **** 0x01, /*bNumInterfaces: 1 interface*/
- ARM GAS /tmp/ccE5JjBw.s page 4
-
-
- 149:Src/usbd_hid.c **** 0x01, /*bConfigurationValue: Configuration value*/
- 150:Src/usbd_hid.c **** 0x00, /*iConfiguration: Index of string descriptor describing
- 151:Src/usbd_hid.c **** the configuration*/
- 152:Src/usbd_hid.c **** 0xE0, /*bmAttributes: bus powered and Support Remote Wake-up */
- 153:Src/usbd_hid.c **** 0x32, /*MaxPower 100 mA: this current is used for detecting Vbus*/
- 154:Src/usbd_hid.c ****
- 155:Src/usbd_hid.c **** /************** Descriptor of Joystick Mouse interface ****************/
- 156:Src/usbd_hid.c **** /* 09 */
- 157:Src/usbd_hid.c **** 0x09, /*bLength: Interface Descriptor size*/
- 158:Src/usbd_hid.c **** USB_DESC_TYPE_INTERFACE,/*bDescriptorType: Interface descriptor type*/
- 159:Src/usbd_hid.c **** 0x00, /*bInterfaceNumber: Number of Interface*/
- 160:Src/usbd_hid.c **** 0x00, /*bAlternateSetting: Alternate setting*/
- 161:Src/usbd_hid.c **** HID_NUM_EP,
- 162:Src/usbd_hid.c ****
- 163:Src/usbd_hid.c **** 0x03, /*bInterfaceClass: HID*/
- 164:Src/usbd_hid.c ****
- 165:Src/usbd_hid.c **** 0x01, /*bInterfaceSubClass : 1=BOOT, 0=no boot*/
- 166:Src/usbd_hid.c **** 0x01, /*nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse*/
- 167:Src/usbd_hid.c **** 0, /*iInterface: Index of string descriptor*/
- 168:Src/usbd_hid.c **** /******************** Descriptor of Joystick Mouse HID ********************/
- 169:Src/usbd_hid.c **** /* 18 */
- 170:Src/usbd_hid.c **** 0x09, /*bLength: HID Descriptor size*/
- 171:Src/usbd_hid.c **** HID_DESCRIPTOR_TYPE, /*bDescriptorType: HID*/
- 172:Src/usbd_hid.c **** 0x11, /*bcdHID: HID Class Spec release number*/
- 173:Src/usbd_hid.c **** 0x01,
- 174:Src/usbd_hid.c **** 0x00, /*bCountryCode: Hardware target country*/
- 175:Src/usbd_hid.c **** 0x01, /*bNumDescriptors: Number of HID class descriptors to follow*/
- 176:Src/usbd_hid.c **** 0x22, /*bDescriptorType*/
- 177:Src/usbd_hid.c **** HID_REPORT_DESC_SIZE,/*wItemLength: Total length of Report descriptor*/
- 178:Src/usbd_hid.c **** 0x00,
- 179:Src/usbd_hid.c **** /******************** Descriptor of Mouse endpoint ********************/
- 180:Src/usbd_hid.c **** /* 27 */
- 181:Src/usbd_hid.c **** 0x07, /*bLength: Endpoint Descriptor size*/
- 182:Src/usbd_hid.c **** USB_DESC_TYPE_ENDPOINT, /*bDescriptorType:*/
- 183:Src/usbd_hid.c ****
- 184:Src/usbd_hid.c **** HID_EPIN_ADDR, /*bEndpointAddress: Endpoint Address (IN)*/
- 185:Src/usbd_hid.c **** 0x03, /*bmAttributes: Interrupt endpoint*/
- 186:Src/usbd_hid.c **** HID_EPIN_SIZE, /*wMaxPacketSize: 4 Byte max */
- 187:Src/usbd_hid.c **** 0x00,
- 188:Src/usbd_hid.c **** HID_FS_BINTERVAL, /*bInterval: Polling Interval (10 ms)*/
- 189:Src/usbd_hid.c **** /* 34 */
- 190:Src/usbd_hid.c **** #if HID_LED_SUPPORT
- 191:Src/usbd_hid.c **** 0x07, /*bLength: Endpoint Descriptor size*/
- 192:Src/usbd_hid.c **** USB_DESC_TYPE_ENDPOINT, /*bDescriptorType:*/
- 193:Src/usbd_hid.c ****
- 194:Src/usbd_hid.c **** HID_EPOUT_ADDR, /*bEndpointAddress: Endpoint Address (IN)*/
- 195:Src/usbd_hid.c **** 0x03, /*bmAttributes: Interrupt endpoint*/
- 196:Src/usbd_hid.c **** HID_EPOUT_SIZE, /*wMaxPacketSize: 4 Byte max */
- 197:Src/usbd_hid.c **** 0x00,
- 198:Src/usbd_hid.c **** HID_FS_BINTERVAL, /*bInterval: Polling Interval (10 ms)*/
- 199:Src/usbd_hid.c **** #endif
- 200:Src/usbd_hid.c **** /* 41 */
- 201:Src/usbd_hid.c ****
- 202:Src/usbd_hid.c **** } ;
- 203:Src/usbd_hid.c ****
- 204:Src/usbd_hid.c **** /* USB HID device Configuration Descriptor */
- 205:Src/usbd_hid.c **** __ALIGN_BEGIN static uint8_t USBD_HID_Desc[USB_HID_DESC_SIZ] __ALIGN_END =
- ARM GAS /tmp/ccE5JjBw.s page 5
-
-
- 206:Src/usbd_hid.c **** {
- 207:Src/usbd_hid.c **** /* 18 */
- 208:Src/usbd_hid.c **** 0x09, /*bLength: HID Descriptor size*/
- 209:Src/usbd_hid.c **** HID_DESCRIPTOR_TYPE, /*bDescriptorType: HID*/
- 210:Src/usbd_hid.c **** 0x11, /*bcdHID: HID Class Spec release number*/
- 211:Src/usbd_hid.c **** 0x01,
- 212:Src/usbd_hid.c **** 0x00, /*bCountryCode: Hardware target country*/
- 213:Src/usbd_hid.c **** 0x01, /*bNumDescriptors: Number of HID class descriptors to follow*/
- 214:Src/usbd_hid.c **** 0x22, /*bDescriptorType*/
- 215:Src/usbd_hid.c **** HID_REPORT_DESC_SIZE,/*wItemLength: Total length of Report descriptor*/
- 216:Src/usbd_hid.c **** 0x00,
- 217:Src/usbd_hid.c **** };
- 218:Src/usbd_hid.c ****
- 219:Src/usbd_hid.c **** /* USB Standard Device Descriptor */
- 220:Src/usbd_hid.c **** __ALIGN_BEGIN static uint8_t USBD_HID_DeviceQualifierDesc[USB_LEN_DEV_QUALIFIER_DESC] __ALIGN_END
- 221:Src/usbd_hid.c **** {
- 222:Src/usbd_hid.c **** USB_LEN_DEV_QUALIFIER_DESC,
- 223:Src/usbd_hid.c **** USB_DESC_TYPE_DEVICE_QUALIFIER,
- 224:Src/usbd_hid.c **** 0x00,
- 225:Src/usbd_hid.c **** 0x02,
- 226:Src/usbd_hid.c **** 0x00,
- 227:Src/usbd_hid.c **** 0x00,
- 228:Src/usbd_hid.c **** 0x00,
- 229:Src/usbd_hid.c **** 0x40,
- 230:Src/usbd_hid.c **** 0x01,
- 231:Src/usbd_hid.c **** 0x00,
- 232:Src/usbd_hid.c **** };
- 233:Src/usbd_hid.c ****
- 234:Src/usbd_hid.c **** __ALIGN_BEGIN static uint8_t HID_ReportDesc[HID_REPORT_DESC_SIZE] __ALIGN_END =
- 235:Src/usbd_hid.c **** {
- 236:Src/usbd_hid.c **** //copy from arduino code https://github.com/arduino-libraries/Keyboard/blob/master/src/Keyb
- 237:Src/usbd_hid.c ****
- 238:Src/usbd_hid.c **** 0x05, 0x01, // Usage Page (Generic Desktop Ctrls)
- 239:Src/usbd_hid.c **** 0x09, 0x06, // Usage (Keyboard)
- 240:Src/usbd_hid.c **** 0xA1, 0x01, // Collection (Application)
- 241:Src/usbd_hid.c ****
- 242:Src/usbd_hid.c **** 0x85, 0x01, // Report ID (1)
- 243:Src/usbd_hid.c ****
- 244:Src/usbd_hid.c **** 0x05, 0x07, // Usage Page (Kbrd/Keypad)
- 245:Src/usbd_hid.c **** 0x19, 0xE0, // Usage Minimum (0xE0)
- 246:Src/usbd_hid.c **** 0x29, 0xE7, // Usage Maximum (0xE7)
- 247:Src/usbd_hid.c ****
- 248:Src/usbd_hid.c **** // it seam we missed the shit ctrl etc .. here
- 249:Src/usbd_hid.c **** 0x15, 0x00, // Logical Minimum (0)
- 250:Src/usbd_hid.c **** 0x25, 0x01, // Logical Maximum (1)
- 251:Src/usbd_hid.c **** 0x75, 0x01, // Report Size (1)
- 252:Src/usbd_hid.c **** 0x95, 0x08, // Report Count (8)
- 253:Src/usbd_hid.c **** 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position
- 254:Src/usbd_hid.c **** 0x95, 0x01, // Report Count (1)
- 255:Src/usbd_hid.c **** 0x75, 0x08, // Report Size (8)
- 256:Src/usbd_hid.c **** 0x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Positio
- 257:Src/usbd_hid.c **** #if HID_LED_SUPPORT
- 258:Src/usbd_hid.c **** // --------------------- output report for LED
- 259:Src/usbd_hid.c **** 0x95, 0x05, // REPORT_COUNT (5)
- 260:Src/usbd_hid.c **** 0x75, 0x01, // REPORT_SIZE (1)
- 261:Src/usbd_hid.c **** 0x05, 0x08, // USAGE_PAGE (LEDs)
- 262:Src/usbd_hid.c **** 0x19, 0x01, // USAGE_MINIMUM (Num Lock)
- ARM GAS /tmp/ccE5JjBw.s page 6
-
-
- 263:Src/usbd_hid.c **** 0x29, 0x05, // USAGE_MAXIMUM (Kana)
- 264:Src/usbd_hid.c **** 0x91, 0x02, // OUTPUT (Data,Var,Abs)
- 265:Src/usbd_hid.c **** 0x95, 0x01, // REPORT_COUNT (1)
- 266:Src/usbd_hid.c **** 0x75, 0x03, // REPORT_SIZE (3)
- 267:Src/usbd_hid.c **** 0x91, 0x03, // OUTPUT (Cnst,Var,Abs)
- 268:Src/usbd_hid.c **** #endif
- 269:Src/usbd_hid.c **** 0x95, 0x06, // Report Count (6)
- 270:Src/usbd_hid.c **** 0x75, 0x08, // Report Size (8)
- 271:Src/usbd_hid.c **** 0x15, 0x00, // Logical Minimum (0)
- 272:Src/usbd_hid.c **** 0x25, 0x65, // Logical Maximum (101)
- 273:Src/usbd_hid.c **** 0x05, 0x07, // Usage Page (Kbrd/Keypad)
- 274:Src/usbd_hid.c **** 0x19, 0x00, // Usage Minimum (0x00)
- 275:Src/usbd_hid.c **** 0x29, 0x65, // Usage Maximum (0x65)
- 276:Src/usbd_hid.c **** 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Positi
- 277:Src/usbd_hid.c **** 0xC0, // End Collection
- 278:Src/usbd_hid.c ****
- 279:Src/usbd_hid.c **** // 47 bytes
- 280:Src/usbd_hid.c **** #if HID_MEDIA_REPORT
- 281:Src/usbd_hid.c **** //help from http://www.microchip.com/forums/m618147.aspx
- 282:Src/usbd_hid.c **** // this way of describing and sending media control is convenient
- 283:Src/usbd_hid.c **** // short descriptor that permit all kidn meda by sending "usage" code
- 284:Src/usbd_hid.c **** // see usb hid spec for full list
- 285:Src/usbd_hid.c **** // it is possible to define one media key per bit it requires more space
- 286:Src/usbd_hid.c **** // for descripotor and report ending is tighlyu couple to decriptor
- 287:Src/usbd_hid.c **** // so it is not as convenient
- 288:Src/usbd_hid.c **** // one such working code can be find here https://github.com/markwj/hidmedia/blob/master/hi
- 289:Src/usbd_hid.c **** //
- 290:Src/usbd_hid.c ****
- 291:Src/usbd_hid.c **** 0x05, 0x0C, // Usage Page (Consumer)
- 292:Src/usbd_hid.c **** 0x09, 0x01, // Usage (Consumer Control)
- 293:Src/usbd_hid.c **** 0xA1, 0x01, // Collection (Application)
- 294:Src/usbd_hid.c **** 0x85, HID_MEDIA_REPORT, // Report ID (VOLUME_REPORT )
- 295:Src/usbd_hid.c **** 0x19, 0x00, // Usage Minimum (Unassigned)
- 296:Src/usbd_hid.c **** 0x2A, 0x3C, 0x02, // Usage Maximum (AC Format)
- 297:Src/usbd_hid.c **** 0x15, 0x00, // Logical Minimum (0)
- 298:Src/usbd_hid.c **** 0x26, 0x3C, 0x02, // Logical Maximum (572)
- 299:Src/usbd_hid.c **** 0x95, 0x01, // Report Count (1)
- 300:Src/usbd_hid.c **** 0x75, 0x10, // Report Size (16)
- 301:Src/usbd_hid.c **** 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Positi
- 302:Src/usbd_hid.c **** 0xC0, // End Collection
- 303:Src/usbd_hid.c ****
- 304:Src/usbd_hid.c **** // how to format the 3 byte report
- 305:Src/usbd_hid.c **** // byte 0 report ID = 0x02 (VOLUME_REPORT)
- 306:Src/usbd_hid.c **** // byte 1 media code for ex VOL_UP 0xE9 , VOL_DONW 0xEA ... etc
- 307:Src/usbd_hid.c **** // byte 2 0x00
- 308:Src/usbd_hid.c **** // a second report with 0 code shal be send to avoid "key repaeat"
- 309:Src/usbd_hid.c ****
- 310:Src/usbd_hid.c **** // 25 bytes
- 311:Src/usbd_hid.c **** #endif
- 312:Src/usbd_hid.c **** };
- 313:Src/usbd_hid.c ****
- 314:Src/usbd_hid.c **** uint32_t nOutData;
- 315:Src/usbd_hid.c **** uint8_t OutDataBuffer[HID_EPOUT_SIZE]; // local copy for user (usb fly at same time)
- 316:Src/usbd_hid.c **** uint8_t OutData[HID_EPOUT_SIZE]; // live usb buffer
- 317:Src/usbd_hid.c ****
- 318:Src/usbd_hid.c **** #ifdef DEBUG
- 319:Src/usbd_hid.c ****
- ARM GAS /tmp/ccE5JjBw.s page 7
-
-
- 320:Src/usbd_hid.c **** uint8_t OutDataLog[8*HID_EPOUT_SIZE];
- 321:Src/usbd_hid.c **** #endif
- 322:Src/usbd_hid.c **** /**
- 323:Src/usbd_hid.c **** * @}
- 324:Src/usbd_hid.c **** */
- 325:Src/usbd_hid.c ****
- 326:Src/usbd_hid.c **** /** @defgroup USBD_HID_Private_Functions
- 327:Src/usbd_hid.c **** * @{
- 328:Src/usbd_hid.c **** */
- 329:Src/usbd_hid.c ****
- 330:Src/usbd_hid.c **** /**
- 331:Src/usbd_hid.c **** * @brief USBD_HID_Init
- 332:Src/usbd_hid.c **** * Initialize the HID interface
- 333:Src/usbd_hid.c **** * @param pdev: device instance
- 334:Src/usbd_hid.c **** * @param cfgidx: Configuration index
- 335:Src/usbd_hid.c **** * @retval status
- 336:Src/usbd_hid.c **** */
- 337:Src/usbd_hid.c **** static uint8_t USBD_HID_Init (USBD_HandleTypeDef *pdev,
- 338:Src/usbd_hid.c **** uint8_t cfgidx)
- 339:Src/usbd_hid.c **** {
- 340:Src/usbd_hid.c **** uint8_t ret = 0;
- 341:Src/usbd_hid.c ****
- 342:Src/usbd_hid.c **** /* Open EP IN */
- 343:Src/usbd_hid.c **** USBD_LL_OpenEP(pdev,
- 344:Src/usbd_hid.c **** HID_EPIN_ADDR,
- 345:Src/usbd_hid.c **** USBD_EP_TYPE_INTR,
- 346:Src/usbd_hid.c **** HID_EPIN_SIZE);
- 347:Src/usbd_hid.c **** #if HID_LED_SUPPORT
- 348:Src/usbd_hid.c **** USBD_LL_OpenEP(pdev,
- 349:Src/usbd_hid.c **** HID_EPOUT_ADDR,
- 350:Src/usbd_hid.c **** USBD_EP_TYPE_INTR,
- 351:Src/usbd_hid.c **** HID_EPOUT_SIZE);
- 352:Src/usbd_hid.c **** #endif
- 353:Src/usbd_hid.c ****
- 354:Src/usbd_hid.c **** pdev->pClassData = USBD_malloc(sizeof (USBD_HID_HandleTypeDef));
- 355:Src/usbd_hid.c ****
- 356:Src/usbd_hid.c **** if(pdev->pClassData == NULL)
- 357:Src/usbd_hid.c **** {
- 358:Src/usbd_hid.c **** ret = 1;
- 359:Src/usbd_hid.c **** }
- 360:Src/usbd_hid.c **** else
- 361:Src/usbd_hid.c **** {
- 362:Src/usbd_hid.c **** #if HID_LED_SUPPORT
- 363:Src/usbd_hid.c **** USBD_LL_PrepareReceive(pdev, HID_EPOUT_ADDR, OutData, HID_EPOUT_SIZE);
- 364:Src/usbd_hid.c **** #endif
- 365:Src/usbd_hid.c **** ((USBD_HID_HandleTypeDef *)pdev->pClassData)->state = HID_IDLE;
- 366:Src/usbd_hid.c ****
- 367:Src/usbd_hid.c **** }
- 368:Src/usbd_hid.c **** return ret;
- 369:Src/usbd_hid.c **** }
- 370:Src/usbd_hid.c ****
- 371:Src/usbd_hid.c **** /**
- 372:Src/usbd_hid.c **** * @brief USBD_HID_Init
- 373:Src/usbd_hid.c **** * DeInitialize the HID layer
- 374:Src/usbd_hid.c **** * @param pdev: device instance
- 375:Src/usbd_hid.c **** * @param cfgidx: Configuration index
- 376:Src/usbd_hid.c **** * @retval status
- ARM GAS /tmp/ccE5JjBw.s page 8
-
-
- 377:Src/usbd_hid.c **** */
- 378:Src/usbd_hid.c **** static uint8_t USBD_HID_DeInit (USBD_HandleTypeDef *pdev,
- 379:Src/usbd_hid.c **** uint8_t cfgidx)
- 380:Src/usbd_hid.c **** {
- 381:Src/usbd_hid.c **** /* Close HID EPs */
- 382:Src/usbd_hid.c **** USBD_LL_CloseEP(pdev,
- 383:Src/usbd_hid.c **** HID_EPIN_ADDR);
- 384:Src/usbd_hid.c ****
- 385:Src/usbd_hid.c **** USBD_LL_CloseEP(pdev,
- 386:Src/usbd_hid.c **** HID_EPOUT_ADDR);
- 387:Src/usbd_hid.c ****
- 388:Src/usbd_hid.c **** /* FRee allocated memory */
- 389:Src/usbd_hid.c **** if(pdev->pClassData != NULL)
- 390:Src/usbd_hid.c **** {
- 391:Src/usbd_hid.c **** USBD_free(pdev->pClassData);
- 392:Src/usbd_hid.c **** pdev->pClassData = NULL;
- 393:Src/usbd_hid.c **** }
- 394:Src/usbd_hid.c ****
- 395:Src/usbd_hid.c **** return USBD_OK;
- 396:Src/usbd_hid.c **** }
- 397:Src/usbd_hid.c ****
- 398:Src/usbd_hid.c **** /**
- 399:Src/usbd_hid.c **** * @brief USBD_HID_Setup
- 400:Src/usbd_hid.c **** * Handle the HID specific requests
- 401:Src/usbd_hid.c **** * @param pdev: instance
- 402:Src/usbd_hid.c **** * @param req: usb requests
- 403:Src/usbd_hid.c **** * @retval status
- 404:Src/usbd_hid.c **** */
- 405:Src/usbd_hid.c **** static uint8_t USBD_HID_Setup (USBD_HandleTypeDef *pdev,
- 406:Src/usbd_hid.c **** USBD_SetupReqTypedef *req)
- 407:Src/usbd_hid.c **** {
- 408:Src/usbd_hid.c **** uint16_t len = 0;
- 409:Src/usbd_hid.c **** uint8_t *pbuf = NULL;
- 410:Src/usbd_hid.c **** USBD_HID_HandleTypeDef *hhid = (USBD_HID_HandleTypeDef*) pdev->pClassData;
- 411:Src/usbd_hid.c ****
- 412:Src/usbd_hid.c **** switch (req->bmRequest & USB_REQ_TYPE_MASK)
- 413:Src/usbd_hid.c **** {
- 414:Src/usbd_hid.c **** case USB_REQ_TYPE_CLASS :
- 415:Src/usbd_hid.c **** switch (req->bRequest)
- 416:Src/usbd_hid.c **** {
- 417:Src/usbd_hid.c ****
- 418:Src/usbd_hid.c ****
- 419:Src/usbd_hid.c **** case HID_REQ_SET_PROTOCOL:
- 420:Src/usbd_hid.c **** hhid->Protocol = (uint8_t)(req->wValue);
- 421:Src/usbd_hid.c **** break;
- 422:Src/usbd_hid.c ****
- 423:Src/usbd_hid.c **** case HID_REQ_GET_PROTOCOL:
- 424:Src/usbd_hid.c **** USBD_CtlSendData (pdev,
- 425:Src/usbd_hid.c **** (uint8_t *)&hhid->Protocol,
- 426:Src/usbd_hid.c **** 1);
- 427:Src/usbd_hid.c **** break;
- 428:Src/usbd_hid.c ****
- 429:Src/usbd_hid.c **** case HID_REQ_SET_IDLE:
- 430:Src/usbd_hid.c **** hhid->IdleState = (uint8_t)(req->wValue >> 8);
- 431:Src/usbd_hid.c **** break;
- 432:Src/usbd_hid.c ****
- 433:Src/usbd_hid.c **** case HID_REQ_GET_IDLE:
- ARM GAS /tmp/ccE5JjBw.s page 9
-
-
- 434:Src/usbd_hid.c **** USBD_CtlSendData (pdev,
- 435:Src/usbd_hid.c **** (uint8_t *)&hhid->IdleState,
- 436:Src/usbd_hid.c **** 1);
- 437:Src/usbd_hid.c **** break;
- 438:Src/usbd_hid.c ****
- 439:Src/usbd_hid.c **** default:
- 440:Src/usbd_hid.c **** USBD_CtlError (pdev, req);
- 441:Src/usbd_hid.c **** return USBD_FAIL;
- 442:Src/usbd_hid.c **** }
- 443:Src/usbd_hid.c **** break;
- 444:Src/usbd_hid.c ****
- 445:Src/usbd_hid.c **** case USB_REQ_TYPE_STANDARD:
- 446:Src/usbd_hid.c **** switch (req->bRequest)
- 447:Src/usbd_hid.c **** {
- 448:Src/usbd_hid.c **** case USB_REQ_GET_DESCRIPTOR:
- 449:Src/usbd_hid.c **** if( req->wValue >> 8 == HID_REPORT_DESC)
- 450:Src/usbd_hid.c **** {
- 451:Src/usbd_hid.c **** len = MIN(HID_REPORT_DESC_SIZE , req->wLength);
- 452:Src/usbd_hid.c **** pbuf = HID_ReportDesc;
- 453:Src/usbd_hid.c **** }
- 454:Src/usbd_hid.c **** else if( req->wValue >> 8 == HID_DESCRIPTOR_TYPE)
- 455:Src/usbd_hid.c **** {
- 456:Src/usbd_hid.c **** pbuf = USBD_HID_Desc;
- 457:Src/usbd_hid.c **** len = MIN(USB_HID_DESC_SIZ , req->wLength);
- 458:Src/usbd_hid.c **** }
- 459:Src/usbd_hid.c ****
- 460:Src/usbd_hid.c **** USBD_CtlSendData (pdev,
- 461:Src/usbd_hid.c **** pbuf,
- 462:Src/usbd_hid.c **** len);
- 463:Src/usbd_hid.c ****
- 464:Src/usbd_hid.c **** break;
- 465:Src/usbd_hid.c ****
- 466:Src/usbd_hid.c **** case USB_REQ_GET_INTERFACE :
- 467:Src/usbd_hid.c **** USBD_CtlSendData (pdev,
- 468:Src/usbd_hid.c **** (uint8_t *)&hhid->AltSetting,
- 469:Src/usbd_hid.c **** 1);
- 470:Src/usbd_hid.c **** break;
- 471:Src/usbd_hid.c ****
- 472:Src/usbd_hid.c **** case USB_REQ_SET_INTERFACE :
- 473:Src/usbd_hid.c **** hhid->AltSetting = (uint8_t)(req->wValue);
- 474:Src/usbd_hid.c **** break;
- 475:Src/usbd_hid.c **** }
- 476:Src/usbd_hid.c **** }
- 477:Src/usbd_hid.c **** return USBD_OK;
- 478:Src/usbd_hid.c **** }
- 479:Src/usbd_hid.c ****
- 480:Src/usbd_hid.c **** /**
- 481:Src/usbd_hid.c **** * @brief USBD_HID_SendReport
- 482:Src/usbd_hid.c **** * Send HID Report
- 483:Src/usbd_hid.c **** * @param pdev: device instance
- 484:Src/usbd_hid.c **** * @param buff: pointer to report
- 485:Src/usbd_hid.c **** * @retval status
- 486:Src/usbd_hid.c **** */
- 487:Src/usbd_hid.c **** uint8_t USBD_HID_SendReport (USBD_HandleTypeDef *pdev,
- 488:Src/usbd_hid.c **** uint8_t *report,
- 489:Src/usbd_hid.c **** uint16_t len)
- 490:Src/usbd_hid.c **** {
- ARM GAS /tmp/ccE5JjBw.s page 10
-
-
- 491:Src/usbd_hid.c **** USBD_HID_HandleTypeDef *hhid = (USBD_HID_HandleTypeDef*)pdev->pClassData;
- 492:Src/usbd_hid.c ****
- 493:Src/usbd_hid.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED )
- 494:Src/usbd_hid.c **** {
- 495:Src/usbd_hid.c **** if(hhid->state == HID_IDLE)
- 496:Src/usbd_hid.c **** {
- 497:Src/usbd_hid.c **** hhid->state = HID_BUSY;
- 498:Src/usbd_hid.c **** USBD_LL_Transmit (pdev,
- 499:Src/usbd_hid.c **** HID_EPIN_ADDR,
- 500:Src/usbd_hid.c **** report,
- 501:Src/usbd_hid.c **** len);
- 502:Src/usbd_hid.c **** }
- 503:Src/usbd_hid.c **** }
- 504:Src/usbd_hid.c **** return USBD_OK;
- 505:Src/usbd_hid.c **** }
- 506:Src/usbd_hid.c ****
- 507:Src/usbd_hid.c **** /**
- 508:Src/usbd_hid.c **** * @brief USBD_HID_GetPollingInterval
- 509:Src/usbd_hid.c **** * return polling interval from endpoint descriptor
- 510:Src/usbd_hid.c **** * @param pdev: device instance
- 511:Src/usbd_hid.c **** * @retval polling interval
- 512:Src/usbd_hid.c **** */
- 513:Src/usbd_hid.c **** uint32_t USBD_HID_GetPollingInterval (USBD_HandleTypeDef *pdev)
- 514:Src/usbd_hid.c **** {
- 515:Src/usbd_hid.c **** uint32_t polling_interval = 0;
- 516:Src/usbd_hid.c ****
- 517:Src/usbd_hid.c **** /* HIGH-speed endpoints */
- 518:Src/usbd_hid.c **** if(pdev->dev_speed == USBD_SPEED_HIGH)
- 519:Src/usbd_hid.c **** {
- 520:Src/usbd_hid.c **** /* Sets the data transfer polling interval for high speed transfers.
- 521:Src/usbd_hid.c **** Values between 1..16 are allowed. Values correspond to interval
- 522:Src/usbd_hid.c **** of 2 ^ (bInterval-1). This option (8 ms, corresponds to HID_HS_BINTERVAL */
- 523:Src/usbd_hid.c **** polling_interval = (((1 <<(HID_HS_BINTERVAL - 1)))/8);
- 524:Src/usbd_hid.c **** }
- 525:Src/usbd_hid.c **** else /* LOW and FULL-speed endpoints */
- 526:Src/usbd_hid.c **** {
- 527:Src/usbd_hid.c **** /* Sets the data transfer polling interval for low and full
- 528:Src/usbd_hid.c **** speed transfers */
- 529:Src/usbd_hid.c **** polling_interval = HID_FS_BINTERVAL;
- 530:Src/usbd_hid.c **** }
- 531:Src/usbd_hid.c ****
- 532:Src/usbd_hid.c **** return ((uint32_t)(polling_interval));
- 533:Src/usbd_hid.c **** }
- 534:Src/usbd_hid.c ****
- 535:Src/usbd_hid.c **** /**
- 536:Src/usbd_hid.c **** * @brief USBD_HID_GetCfgDesc
- 537:Src/usbd_hid.c **** * return configuration descriptor
- 538:Src/usbd_hid.c **** * @param speed : current device speed
- 539:Src/usbd_hid.c **** * @param length : pointer data length
- 540:Src/usbd_hid.c **** * @retval pointer to descriptor buffer
- 541:Src/usbd_hid.c **** */
- 542:Src/usbd_hid.c **** static uint8_t *USBD_HID_GetCfgDesc (uint16_t *length)
- 543:Src/usbd_hid.c **** {
- 25 .loc 1 543 0
- 26 .cfi_startproc
- 27 @ args = 0, pretend = 0, frame = 0
- 28 @ frame_needed = 0, uses_anonymous_args = 0
- ARM GAS /tmp/ccE5JjBw.s page 11
-
-
- 29 @ link register save eliminated.
- 30 .LVL0:
- 544:Src/usbd_hid.c **** *length = sizeof (USBD_HID_CfgDesc);
- 31 .loc 1 544 0
- 32 0000 2223 movs r3, #34
- 33 0002 0380 strh r3, [r0]
- 545:Src/usbd_hid.c **** return USBD_HID_CfgDesc;
- 546:Src/usbd_hid.c **** }
- 34 .loc 1 546 0
- 35 0004 0048 ldr r0, .L2
- 36 .LVL1:
- 37 @ sp needed
- 38 0006 7047 bx lr
- 39 .L3:
- 40 .align 2
- 41 .L2:
- 42 0008 00000000 .word .LANCHOR0
- 43 .cfi_endproc
- 44 .LFE48:
- 46 .section .text.USBD_HID_DataIn,"ax",%progbits
- 47 .align 1
- 48 .syntax unified
- 49 .code 16
- 50 .thumb_func
- 51 .fpu softvfp
- 53 USBD_HID_DataIn:
- 54 .LFB49:
- 547:Src/usbd_hid.c ****
- 548:Src/usbd_hid.c ****
- 549:Src/usbd_hid.c **** /**
- 550:Src/usbd_hid.c **** * @brief USBD_HID_DataIn
- 551:Src/usbd_hid.c **** * handle data IN Stage
- 552:Src/usbd_hid.c **** * @param pdev: device instance
- 553:Src/usbd_hid.c **** * @param epnum: endpoint index
- 554:Src/usbd_hid.c **** * @retval status
- 555:Src/usbd_hid.c **** */
- 556:Src/usbd_hid.c **** static uint8_t USBD_HID_DataIn (USBD_HandleTypeDef *pdev,
- 557:Src/usbd_hid.c **** uint8_t epnum)
- 558:Src/usbd_hid.c **** {
- 55 .loc 1 558 0
- 56 .cfi_startproc
- 57 @ args = 0, pretend = 0, frame = 0
- 58 @ frame_needed = 0, uses_anonymous_args = 0
- 59 @ link register save eliminated.
- 60 .LVL2:
- 559:Src/usbd_hid.c ****
- 560:Src/usbd_hid.c **** /* Ensure that the FIFO is empty before a new transfer, this condition could
- 561:Src/usbd_hid.c **** be caused by a new transfer before the end of the previous transfer */
- 562:Src/usbd_hid.c **** ((USBD_HID_HandleTypeDef *)pdev->pClassData)->state = HID_IDLE;
- 61 .loc 1 562 0
- 62 0000 8623 movs r3, #134
- 63 0002 9B00 lsls r3, r3, #2
- 64 0004 C358 ldr r3, [r0, r3]
- 65 0006 0022 movs r2, #0
- 66 0008 1A73 strb r2, [r3, #12]
- 563:Src/usbd_hid.c **** return USBD_OK;
- 564:Src/usbd_hid.c **** }
- ARM GAS /tmp/ccE5JjBw.s page 12
-
-
- 67 .loc 1 564 0
- 68 000a 0020 movs r0, #0
- 69 .LVL3:
- 70 @ sp needed
- 71 000c 7047 bx lr
- 72 .cfi_endproc
- 73 .LFE49:
- 75 .section .text.USBD_HID_GetDeviceQualifierDesc,"ax",%progbits
- 76 .align 1
- 77 .syntax unified
- 78 .code 16
- 79 .thumb_func
- 80 .fpu softvfp
- 82 USBD_HID_GetDeviceQualifierDesc:
- 83 .LFB52:
- 565:Src/usbd_hid.c ****
- 566:Src/usbd_hid.c ****
- 567:Src/usbd_hid.c **** __weak void USBD_HID_GetReport(uint8_t * OutData, int len){
- 568:Src/usbd_hid.c **** /** default do ntohing */
- 569:Src/usbd_hid.c **** }
- 570:Src/usbd_hid.c ****
- 571:Src/usbd_hid.c **** static uint8_t USBD_HID_DataOut (USBD_HandleTypeDef *pdev,
- 572:Src/usbd_hid.c **** uint8_t epnum)
- 573:Src/usbd_hid.c **** {
- 574:Src/usbd_hid.c **** int len;
- 575:Src/usbd_hid.c ****
- 576:Src/usbd_hid.c **** #ifdef DEBUG
- 577:Src/usbd_hid.c **** memcpy(OutDataLog+((nOutData)%8)*8,OutData,8);
- 578:Src/usbd_hid.c **** #endif
- 579:Src/usbd_hid.c **** nOutData++;
- 580:Src/usbd_hid.c **** // data cpy so we can be ready for next usb out and used received data safely
- 581:Src/usbd_hid.c **** len = USBD_LL_GetRxDataSize (pdev, epnum);
- 582:Src/usbd_hid.c **** memcpy(OutDataBuffer,OutData, len);
- 583:Src/usbd_hid.c **** USBD_LL_PrepareReceive(pdev, HID_EPOUT_ADDR, OutData, HID_EPOUT_SIZE);
- 584:Src/usbd_hid.c **** USBD_HID_GetReport(OutDataBuffer, len);
- 585:Src/usbd_hid.c **** return USBD_OK;
- 586:Src/usbd_hid.c **** }
- 587:Src/usbd_hid.c ****
- 588:Src/usbd_hid.c ****
- 589:Src/usbd_hid.c **** /**
- 590:Src/usbd_hid.c **** * @brief DeviceQualifierDescriptor
- 591:Src/usbd_hid.c **** * return Device Qualifier descriptor
- 592:Src/usbd_hid.c **** * @param length : pointer data length
- 593:Src/usbd_hid.c **** * @retval pointer to descriptor buffer
- 594:Src/usbd_hid.c **** */
- 595:Src/usbd_hid.c **** static uint8_t *USBD_HID_GetDeviceQualifierDesc (uint16_t *length)
- 596:Src/usbd_hid.c **** {
- 84 .loc 1 596 0
- 85 .cfi_startproc
- 86 @ args = 0, pretend = 0, frame = 0
- 87 @ frame_needed = 0, uses_anonymous_args = 0
- 88 @ link register save eliminated.
- 89 .LVL4:
- 597:Src/usbd_hid.c **** *length = sizeof (USBD_HID_DeviceQualifierDesc);
- 90 .loc 1 597 0
- 91 0000 0A23 movs r3, #10
- 92 0002 0380 strh r3, [r0]
- ARM GAS /tmp/ccE5JjBw.s page 13
-
-
- 598:Src/usbd_hid.c **** return USBD_HID_DeviceQualifierDesc;
- 599:Src/usbd_hid.c **** }
- 93 .loc 1 599 0
- 94 0004 0048 ldr r0, .L6
- 95 .LVL5:
- 96 @ sp needed
- 97 0006 7047 bx lr
- 98 .L7:
- 99 .align 2
- 100 .L6:
- 101 0008 00000000 .word .LANCHOR1
- 102 .cfi_endproc
- 103 .LFE52:
- 105 .section .text.USBD_HID_Setup,"ax",%progbits
- 106 .align 1
- 107 .syntax unified
- 108 .code 16
- 109 .thumb_func
- 110 .fpu softvfp
- 112 USBD_HID_Setup:
- 113 .LFB45:
- 407:Src/usbd_hid.c **** uint16_t len = 0;
- 114 .loc 1 407 0
- 115 .cfi_startproc
- 116 @ args = 0, pretend = 0, frame = 0
- 117 @ frame_needed = 0, uses_anonymous_args = 0
- 118 .LVL6:
- 119 0000 10B5 push {r4, lr}
- 120 .LCFI0:
- 121 .cfi_def_cfa_offset 8
- 122 .cfi_offset 4, -8
- 123 .cfi_offset 14, -4
- 124 .LVL7:
- 410:Src/usbd_hid.c ****
- 125 .loc 1 410 0
- 126 0002 8623 movs r3, #134
- 127 0004 9B00 lsls r3, r3, #2
- 128 0006 C458 ldr r4, [r0, r3]
- 129 .LVL8:
- 412:Src/usbd_hid.c **** {
- 130 .loc 1 412 0
- 131 0008 0A78 ldrb r2, [r1]
- 132 000a B93B subs r3, r3, #185
- 133 000c FF3B subs r3, r3, #255
- 134 000e 1340 ands r3, r2
- 135 0010 24D0 beq .L10
- 136 0012 202B cmp r3, #32
- 137 0014 52D1 bne .L28
- 415:Src/usbd_hid.c **** {
- 138 .loc 1 415 0
- 139 0016 4B78 ldrb r3, [r1, #1]
- 140 0018 032B cmp r3, #3
- 141 001a 10D0 beq .L13
- 142 001c 07D9 bls .L30
- 143 001e 0A2B cmp r3, #10
- 144 0020 13D0 beq .L16
- 145 0022 0B2B cmp r3, #11
- ARM GAS /tmp/ccE5JjBw.s page 14
-
-
- 146 0024 16D1 bne .L12
- 420:Src/usbd_hid.c **** break;
- 147 .loc 1 420 0
- 148 0026 8B78 ldrb r3, [r1, #2]
- 149 0028 2360 str r3, [r4]
- 477:Src/usbd_hid.c **** }
- 150 .loc 1 477 0
- 151 002a 0020 movs r0, #0
- 152 .LVL9:
- 421:Src/usbd_hid.c ****
- 153 .loc 1 421 0
- 154 002c 47E0 b .L9
- 155 .LVL10:
- 156 .L30:
- 415:Src/usbd_hid.c **** {
- 157 .loc 1 415 0
- 158 002e 022B cmp r3, #2
- 159 0030 10D1 bne .L12
- 435:Src/usbd_hid.c **** 1);
- 160 .loc 1 435 0
- 161 0032 211D adds r1, r4, #4
- 162 .LVL11:
- 434:Src/usbd_hid.c **** (uint8_t *)&hhid->IdleState,
- 163 .loc 1 434 0
- 164 0034 0122 movs r2, #1
- 165 0036 FFF7FEFF bl USBD_CtlSendData
- 166 .LVL12:
- 477:Src/usbd_hid.c **** }
- 167 .loc 1 477 0
- 168 003a 0020 movs r0, #0
- 437:Src/usbd_hid.c ****
- 169 .loc 1 437 0
- 170 003c 3FE0 b .L9
- 171 .LVL13:
- 172 .L13:
- 424:Src/usbd_hid.c **** (uint8_t *)&hhid->Protocol,
- 173 .loc 1 424 0
- 174 003e 0122 movs r2, #1
- 175 0040 2100 movs r1, r4
- 176 .LVL14:
- 177 0042 FFF7FEFF bl USBD_CtlSendData
- 178 .LVL15:
- 477:Src/usbd_hid.c **** }
- 179 .loc 1 477 0
- 180 0046 0020 movs r0, #0
- 427:Src/usbd_hid.c ****
- 181 .loc 1 427 0
- 182 0048 39E0 b .L9
- 183 .LVL16:
- 184 .L16:
- 430:Src/usbd_hid.c **** break;
- 185 .loc 1 430 0
- 186 004a 4B88 ldrh r3, [r1, #2]
- 187 004c 1B0A lsrs r3, r3, #8
- 188 004e 6360 str r3, [r4, #4]
- 477:Src/usbd_hid.c **** }
- 189 .loc 1 477 0
- ARM GAS /tmp/ccE5JjBw.s page 15
-
-
- 190 0050 0020 movs r0, #0
- 191 .LVL17:
- 431:Src/usbd_hid.c ****
- 192 .loc 1 431 0
- 193 0052 34E0 b .L9
- 194 .LVL18:
- 195 .L12:
- 440:Src/usbd_hid.c **** return USBD_FAIL;
- 196 .loc 1 440 0
- 197 0054 FFF7FEFF bl USBD_CtlError
- 198 .LVL19:
- 441:Src/usbd_hid.c **** }
- 199 .loc 1 441 0
- 200 0058 0220 movs r0, #2
- 201 005a 30E0 b .L9
- 202 .LVL20:
- 203 .L10:
- 446:Src/usbd_hid.c **** {
- 204 .loc 1 446 0
- 205 005c 4B78 ldrb r3, [r1, #1]
- 206 005e 0A2B cmp r3, #10
- 207 0060 21D0 beq .L18
- 208 0062 0B2B cmp r3, #11
- 209 0064 26D0 beq .L19
- 210 0066 062B cmp r3, #6
- 211 0068 01D0 beq .L31
- 477:Src/usbd_hid.c **** }
- 212 .loc 1 477 0
- 213 006a 0020 movs r0, #0
- 214 .LVL21:
- 215 006c 27E0 b .L9
- 216 .LVL22:
- 217 .L31:
- 449:Src/usbd_hid.c **** {
- 218 .loc 1 449 0
- 219 006e 4B88 ldrh r3, [r1, #2]
- 220 0070 1B0A lsrs r3, r3, #8
- 221 0072 222B cmp r3, #34
- 222 0074 07D0 beq .L32
- 454:Src/usbd_hid.c **** {
- 223 .loc 1 454 0
- 224 0076 212B cmp r3, #33
- 225 0078 0DD0 beq .L33
- 409:Src/usbd_hid.c **** USBD_HID_HandleTypeDef *hhid = (USBD_HID_HandleTypeDef*) pdev->pClassData;
- 226 .loc 1 409 0
- 227 007a 0021 movs r1, #0
- 228 .LVL23:
- 408:Src/usbd_hid.c **** uint8_t *pbuf = NULL;
- 229 .loc 1 408 0
- 230 007c 0022 movs r2, #0
- 231 .LVL24:
- 232 .L23:
- 460:Src/usbd_hid.c **** pbuf,
- 233 .loc 1 460 0
- 234 007e FFF7FEFF bl USBD_CtlSendData
- 235 .LVL25:
- 477:Src/usbd_hid.c **** }
- ARM GAS /tmp/ccE5JjBw.s page 16
-
-
- 236 .loc 1 477 0
- 237 0082 0020 movs r0, #0
- 464:Src/usbd_hid.c ****
- 238 .loc 1 464 0
- 239 0084 1BE0 b .L9
- 240 .LVL26:
- 241 .L32:
- 451:Src/usbd_hid.c **** pbuf = HID_ReportDesc;
- 242 .loc 1 451 0
- 243 0086 CB88 ldrh r3, [r1, #6]
- 244 0088 1A1C adds r2, r3, #0
- 245 008a 482B cmp r3, #72
- 246 008c 00D9 bls .L22
- 247 008e 4822 movs r2, #72
- 248 .L22:
- 249 0090 92B2 uxth r2, r2
- 250 .LVL27:
- 452:Src/usbd_hid.c **** }
- 251 .loc 1 452 0
- 252 0092 0B49 ldr r1, .L34
- 253 .LVL28:
- 254 0094 F3E7 b .L23
- 255 .LVL29:
- 256 .L33:
- 457:Src/usbd_hid.c **** }
- 257 .loc 1 457 0
- 258 0096 CB88 ldrh r3, [r1, #6]
- 259 0098 1A1C adds r2, r3, #0
- 260 009a 092B cmp r3, #9
- 261 009c 00D9 bls .L24
- 262 009e 0922 movs r2, #9
- 263 .L24:
- 264 00a0 92B2 uxth r2, r2
- 265 .LVL30:
- 456:Src/usbd_hid.c **** len = MIN(USB_HID_DESC_SIZ , req->wLength);
- 266 .loc 1 456 0
- 267 00a2 0849 ldr r1, .L34+4
- 268 .LVL31:
- 269 00a4 EBE7 b .L23
- 270 .LVL32:
- 271 .L18:
- 468:Src/usbd_hid.c **** 1);
- 272 .loc 1 468 0
- 273 00a6 2100 movs r1, r4
- 274 .LVL33:
- 275 00a8 0831 adds r1, r1, #8
- 467:Src/usbd_hid.c **** (uint8_t *)&hhid->AltSetting,
- 276 .loc 1 467 0
- 277 00aa 0122 movs r2, #1
- 278 00ac FFF7FEFF bl USBD_CtlSendData
- 279 .LVL34:
- 477:Src/usbd_hid.c **** }
- 280 .loc 1 477 0
- 281 00b0 0020 movs r0, #0
- 470:Src/usbd_hid.c ****
- 282 .loc 1 470 0
- 283 00b2 04E0 b .L9
- ARM GAS /tmp/ccE5JjBw.s page 17
-
-
- 284 .LVL35:
- 285 .L19:
- 473:Src/usbd_hid.c **** break;
- 286 .loc 1 473 0
- 287 00b4 8B78 ldrb r3, [r1, #2]
- 288 00b6 A360 str r3, [r4, #8]
- 477:Src/usbd_hid.c **** }
- 289 .loc 1 477 0
- 290 00b8 0020 movs r0, #0
- 291 .LVL36:
- 474:Src/usbd_hid.c **** }
- 292 .loc 1 474 0
- 293 00ba 00E0 b .L9
- 294 .LVL37:
- 295 .L28:
- 477:Src/usbd_hid.c **** }
- 296 .loc 1 477 0
- 297 00bc 0020 movs r0, #0
- 298 .LVL38:
- 299 .L9:
- 478:Src/usbd_hid.c ****
- 300 .loc 1 478 0
- 301 @ sp needed
- 302 .LVL39:
- 303 00be 10BD pop {r4, pc}
- 304 .L35:
- 305 .align 2
- 306 .L34:
- 307 00c0 00000000 .word .LANCHOR2
- 308 00c4 00000000 .word .LANCHOR3
- 309 .cfi_endproc
- 310 .LFE45:
- 312 .section .text.USBD_HID_DeInit,"ax",%progbits
- 313 .align 1
- 314 .syntax unified
- 315 .code 16
- 316 .thumb_func
- 317 .fpu softvfp
- 319 USBD_HID_DeInit:
- 320 .LFB44:
- 380:Src/usbd_hid.c **** /* Close HID EPs */
- 321 .loc 1 380 0
- 322 .cfi_startproc
- 323 @ args = 0, pretend = 0, frame = 0
- 324 @ frame_needed = 0, uses_anonymous_args = 0
- 325 .LVL40:
- 326 0000 10B5 push {r4, lr}
- 327 .LCFI1:
- 328 .cfi_def_cfa_offset 8
- 329 .cfi_offset 4, -8
- 330 .cfi_offset 14, -4
- 331 0002 0400 movs r4, r0
- 382:Src/usbd_hid.c **** HID_EPIN_ADDR);
- 332 .loc 1 382 0
- 333 0004 8121 movs r1, #129
- 334 .LVL41:
- 335 0006 FFF7FEFF bl USBD_LL_CloseEP
- ARM GAS /tmp/ccE5JjBw.s page 18
-
-
- 336 .LVL42:
- 385:Src/usbd_hid.c **** HID_EPOUT_ADDR);
- 337 .loc 1 385 0
- 338 000a 0121 movs r1, #1
- 339 000c 2000 movs r0, r4
- 340 000e FFF7FEFF bl USBD_LL_CloseEP
- 341 .LVL43:
- 389:Src/usbd_hid.c **** {
- 342 .loc 1 389 0
- 343 0012 8623 movs r3, #134
- 344 0014 9B00 lsls r3, r3, #2
- 345 0016 E058 ldr r0, [r4, r3]
- 346 0018 0028 cmp r0, #0
- 347 001a 05D0 beq .L37
- 391:Src/usbd_hid.c **** pdev->pClassData = NULL;
- 348 .loc 1 391 0
- 349 001c FFF7FEFF bl free
- 350 .LVL44:
- 392:Src/usbd_hid.c **** }
- 351 .loc 1 392 0
- 352 0020 8623 movs r3, #134
- 353 0022 9B00 lsls r3, r3, #2
- 354 0024 0022 movs r2, #0
- 355 0026 E250 str r2, [r4, r3]
- 356 .L37:
- 396:Src/usbd_hid.c ****
- 357 .loc 1 396 0
- 358 0028 0020 movs r0, #0
- 359 @ sp needed
- 360 .LVL45:
- 361 002a 10BD pop {r4, pc}
- 362 .cfi_endproc
- 363 .LFE44:
- 365 .section .text.USBD_HID_Init,"ax",%progbits
- 366 .align 1
- 367 .syntax unified
- 368 .code 16
- 369 .thumb_func
- 370 .fpu softvfp
- 372 USBD_HID_Init:
- 373 .LFB43:
- 339:Src/usbd_hid.c **** uint8_t ret = 0;
- 374 .loc 1 339 0
- 375 .cfi_startproc
- 376 @ args = 0, pretend = 0, frame = 0
- 377 @ frame_needed = 0, uses_anonymous_args = 0
- 378 .LVL46:
- 379 0000 10B5 push {r4, lr}
- 380 .LCFI2:
- 381 .cfi_def_cfa_offset 8
- 382 .cfi_offset 4, -8
- 383 .cfi_offset 14, -4
- 384 0002 0400 movs r4, r0
- 385 .LVL47:
- 343:Src/usbd_hid.c **** HID_EPIN_ADDR,
- 386 .loc 1 343 0
- 387 0004 1023 movs r3, #16
- ARM GAS /tmp/ccE5JjBw.s page 19
-
-
- 388 0006 0322 movs r2, #3
- 389 0008 8121 movs r1, #129
- 390 .LVL48:
- 391 000a FFF7FEFF bl USBD_LL_OpenEP
- 392 .LVL49:
- 354:Src/usbd_hid.c ****
- 393 .loc 1 354 0
- 394 000e 1020 movs r0, #16
- 395 0010 FFF7FEFF bl malloc
- 396 .LVL50:
- 397 0014 8623 movs r3, #134
- 398 0016 9B00 lsls r3, r3, #2
- 399 0018 E050 str r0, [r4, r3]
- 356:Src/usbd_hid.c **** {
- 400 .loc 1 356 0
- 401 001a 0028 cmp r0, #0
- 402 001c 03D0 beq .L40
- 365:Src/usbd_hid.c ****
- 403 .loc 1 365 0
- 404 001e 0023 movs r3, #0
- 405 0020 0373 strb r3, [r0, #12]
- 340:Src/usbd_hid.c ****
- 406 .loc 1 340 0
- 407 0022 0020 movs r0, #0
- 408 .L39:
- 409 .LVL51:
- 369:Src/usbd_hid.c ****
- 410 .loc 1 369 0
- 411 @ sp needed
- 412 .LVL52:
- 413 0024 10BD pop {r4, pc}
- 414 .LVL53:
- 415 .L40:
- 358:Src/usbd_hid.c **** }
- 416 .loc 1 358 0
- 417 0026 0120 movs r0, #1
- 418 0028 FCE7 b .L39
- 419 .cfi_endproc
- 420 .LFE43:
- 422 .section .text.USBD_HID_SendReport,"ax",%progbits
- 423 .align 1
- 424 .global USBD_HID_SendReport
- 425 .syntax unified
- 426 .code 16
- 427 .thumb_func
- 428 .fpu softvfp
- 430 USBD_HID_SendReport:
- 431 .LFB46:
- 490:Src/usbd_hid.c **** USBD_HID_HandleTypeDef *hhid = (USBD_HID_HandleTypeDef*)pdev->pClassData;
- 432 .loc 1 490 0
- 433 .cfi_startproc
- 434 @ args = 0, pretend = 0, frame = 0
- 435 @ frame_needed = 0, uses_anonymous_args = 0
- 436 .LVL54:
- 437 0000 70B5 push {r4, r5, r6, lr}
- 438 .LCFI3:
- 439 .cfi_def_cfa_offset 16
- ARM GAS /tmp/ccE5JjBw.s page 20
-
-
- 440 .cfi_offset 4, -16
- 441 .cfi_offset 5, -12
- 442 .cfi_offset 6, -8
- 443 .cfi_offset 14, -4
- 491:Src/usbd_hid.c ****
- 444 .loc 1 491 0
- 445 0002 8624 movs r4, #134
- 446 0004 A400 lsls r4, r4, #2
- 447 0006 0559 ldr r5, [r0, r4]
- 448 .LVL55:
- 493:Src/usbd_hid.c **** {
- 449 .loc 1 493 0
- 450 0008 1C3C subs r4, r4, #28
- 451 000a 045D ldrb r4, [r0, r4]
- 452 000c 032C cmp r4, #3
- 453 000e 01D0 beq .L43
- 454 .LVL56:
- 455 .L42:
- 505:Src/usbd_hid.c ****
- 456 .loc 1 505 0
- 457 0010 0020 movs r0, #0
- 458 @ sp needed
- 459 .LVL57:
- 460 0012 70BD pop {r4, r5, r6, pc}
- 461 .LVL58:
- 462 .L43:
- 495:Src/usbd_hid.c **** {
- 463 .loc 1 495 0
- 464 0014 2B7B ldrb r3, [r5, #12]
- 465 0016 002B cmp r3, #0
- 466 0018 FAD1 bne .L42
- 497:Src/usbd_hid.c **** USBD_LL_Transmit (pdev,
- 467 .loc 1 497 0
- 468 001a 0133 adds r3, r3, #1
- 469 001c 2B73 strb r3, [r5, #12]
- 498:Src/usbd_hid.c **** HID_EPIN_ADDR,
- 470 .loc 1 498 0
- 471 001e 1300 movs r3, r2
- 472 0020 0A00 movs r2, r1
- 473 .LVL59:
- 474 0022 8121 movs r1, #129
- 475 .LVL60:
- 476 0024 FFF7FEFF bl USBD_LL_Transmit
- 477 .LVL61:
- 478 0028 F2E7 b .L42
- 479 .cfi_endproc
- 480 .LFE46:
- 482 .section .text.USBD_HID_GetPollingInterval,"ax",%progbits
- 483 .align 1
- 484 .global USBD_HID_GetPollingInterval
- 485 .syntax unified
- 486 .code 16
- 487 .thumb_func
- 488 .fpu softvfp
- 490 USBD_HID_GetPollingInterval:
- 491 .LFB47:
- 514:Src/usbd_hid.c **** uint32_t polling_interval = 0;
- ARM GAS /tmp/ccE5JjBw.s page 21
-
-
- 492 .loc 1 514 0
- 493 .cfi_startproc
- 494 @ args = 0, pretend = 0, frame = 0
- 495 @ frame_needed = 0, uses_anonymous_args = 0
- 496 @ link register save eliminated.
- 497 .LVL62:
- 518:Src/usbd_hid.c **** {
- 498 .loc 1 518 0
- 499 0000 037C ldrb r3, [r0, #16]
- 500 0002 002B cmp r3, #0
- 501 0004 01D0 beq .L47
- 529:Src/usbd_hid.c **** }
- 502 .loc 1 529 0
- 503 0006 0A20 movs r0, #10
- 504 .LVL63:
- 505 .L44:
- 533:Src/usbd_hid.c ****
- 506 .loc 1 533 0
- 507 @ sp needed
- 508 0008 7047 bx lr
- 509 .LVL64:
- 510 .L47:
- 523:Src/usbd_hid.c **** }
- 511 .loc 1 523 0
- 512 000a 0820 movs r0, #8
- 513 .LVL65:
- 514 000c FCE7 b .L44
- 515 .cfi_endproc
- 516 .LFE47:
- 518 .section .text.USBD_HID_GetReport,"ax",%progbits
- 519 .align 1
- 520 .weak USBD_HID_GetReport
- 521 .syntax unified
- 522 .code 16
- 523 .thumb_func
- 524 .fpu softvfp
- 526 USBD_HID_GetReport:
- 527 .LFB50:
- 567:Src/usbd_hid.c **** /** default do ntohing */
- 528 .loc 1 567 0
- 529 .cfi_startproc
- 530 @ args = 0, pretend = 0, frame = 0
- 531 @ frame_needed = 0, uses_anonymous_args = 0
- 532 @ link register save eliminated.
- 533 .LVL66:
- 569:Src/usbd_hid.c ****
- 534 .loc 1 569 0
- 535 @ sp needed
- 536 0000 7047 bx lr
- 537 .cfi_endproc
- 538 .LFE50:
- 540 .section .text.USBD_HID_DataOut,"ax",%progbits
- 541 .align 1
- 542 .syntax unified
- 543 .code 16
- 544 .thumb_func
- 545 .fpu softvfp
- ARM GAS /tmp/ccE5JjBw.s page 22
-
-
- 547 USBD_HID_DataOut:
- 548 .LFB51:
- 573:Src/usbd_hid.c **** int len;
- 549 .loc 1 573 0
- 550 .cfi_startproc
- 551 @ args = 0, pretend = 0, frame = 0
- 552 @ frame_needed = 0, uses_anonymous_args = 0
- 553 .LVL67:
- 554 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
- 555 .LCFI4:
- 556 .cfi_def_cfa_offset 24
- 557 .cfi_offset 3, -24
- 558 .cfi_offset 4, -20
- 559 .cfi_offset 5, -16
- 560 .cfi_offset 6, -12
- 561 .cfi_offset 7, -8
- 562 .cfi_offset 14, -4
- 563 0002 0600 movs r6, r0
- 579:Src/usbd_hid.c **** // data cpy so we can be ready for next usb out and used received data safely
- 564 .loc 1 579 0
- 565 0004 0C4A ldr r2, .L50
- 566 0006 1368 ldr r3, [r2]
- 567 0008 0133 adds r3, r3, #1
- 568 000a 1360 str r3, [r2]
- 581:Src/usbd_hid.c **** memcpy(OutDataBuffer,OutData, len);
- 569 .loc 1 581 0
- 570 000c FFF7FEFF bl USBD_LL_GetRxDataSize
- 571 .LVL68:
- 572 0010 0500 movs r5, r0
- 573 .LVL69:
- 582:Src/usbd_hid.c **** USBD_LL_PrepareReceive(pdev, HID_EPOUT_ADDR, OutData, HID_EPOUT_SIZE);
- 574 .loc 1 582 0
- 575 0012 0A4C ldr r4, .L50+4
- 576 0014 0A4F ldr r7, .L50+8
- 577 0016 0200 movs r2, r0
- 578 0018 3900 movs r1, r7
- 579 001a 2000 movs r0, r4
- 580 .LVL70:
- 581 001c FFF7FEFF bl memcpy
- 582 .LVL71:
- 583:Src/usbd_hid.c **** USBD_HID_GetReport(OutDataBuffer, len);
- 583 .loc 1 583 0
- 584 0020 0823 movs r3, #8
- 585 0022 3A00 movs r2, r7
- 586 0024 0121 movs r1, #1
- 587 0026 3000 movs r0, r6
- 588 0028 FFF7FEFF bl USBD_LL_PrepareReceive
- 589 .LVL72:
- 584:Src/usbd_hid.c **** return USBD_OK;
- 590 .loc 1 584 0
- 591 002c 2900 movs r1, r5
- 592 002e 2000 movs r0, r4
- 593 0030 FFF7FEFF bl USBD_HID_GetReport
- 594 .LVL73:
- 586:Src/usbd_hid.c ****
- 595 .loc 1 586 0
- 596 0034 0020 movs r0, #0
- ARM GAS /tmp/ccE5JjBw.s page 23
-
-
- 597 @ sp needed
- 598 .LVL74:
- 599 .LVL75:
- 600 0036 F8BD pop {r3, r4, r5, r6, r7, pc}
- 601 .L51:
- 602 .align 2
- 603 .L50:
- 604 0038 00000000 .word nOutData
- 605 003c 00000000 .word OutDataBuffer
- 606 0040 00000000 .word OutData
- 607 .cfi_endproc
- 608 .LFE51:
- 610 .comm OutData,8,4
- 611 .comm OutDataBuffer,8,4
- 612 .comm nOutData,4,4
- 613 .global USBD_HID
- 614 .section .data.HID_ReportDesc,"aw",%progbits
- 615 .align 2
- 616 .set .LANCHOR2,. + 0
- 619 HID_ReportDesc:
- 620 0000 05 .byte 5
- 621 0001 01 .byte 1
- 622 0002 09 .byte 9
- 623 0003 06 .byte 6
- 624 0004 A1 .byte -95
- 625 0005 01 .byte 1
- 626 0006 85 .byte -123
- 627 0007 01 .byte 1
- 628 0008 05 .byte 5
- 629 0009 07 .byte 7
- 630 000a 19 .byte 25
- 631 000b E0 .byte -32
- 632 000c 29 .byte 41
- 633 000d E7 .byte -25
- 634 000e 15 .byte 21
- 635 000f 00 .byte 0
- 636 0010 25 .byte 37
- 637 0011 01 .byte 1
- 638 0012 75 .byte 117
- 639 0013 01 .byte 1
- 640 0014 95 .byte -107
- 641 0015 08 .byte 8
- 642 0016 81 .byte -127
- 643 0017 02 .byte 2
- 644 0018 95 .byte -107
- 645 0019 01 .byte 1
- 646 001a 75 .byte 117
- 647 001b 08 .byte 8
- 648 001c 81 .byte -127
- 649 001d 03 .byte 3
- 650 001e 95 .byte -107
- 651 001f 06 .byte 6
- 652 0020 75 .byte 117
- 653 0021 08 .byte 8
- 654 0022 15 .byte 21
- 655 0023 00 .byte 0
- 656 0024 25 .byte 37
- ARM GAS /tmp/ccE5JjBw.s page 24
-
-
- 657 0025 65 .byte 101
- 658 0026 05 .byte 5
- 659 0027 07 .byte 7
- 660 0028 19 .byte 25
- 661 0029 00 .byte 0
- 662 002a 29 .byte 41
- 663 002b 65 .byte 101
- 664 002c 81 .byte -127
- 665 002d 00 .byte 0
- 666 002e C0 .byte -64
- 667 002f 05 .byte 5
- 668 0030 0C .byte 12
- 669 0031 09 .byte 9
- 670 0032 01 .byte 1
- 671 0033 A1 .byte -95
- 672 0034 01 .byte 1
- 673 0035 85 .byte -123
- 674 0036 02 .byte 2
- 675 0037 19 .byte 25
- 676 0038 00 .byte 0
- 677 0039 2A .byte 42
- 678 003a 3C .byte 60
- 679 003b 02 .byte 2
- 680 003c 15 .byte 21
- 681 003d 00 .byte 0
- 682 003e 26 .byte 38
- 683 003f 3C .byte 60
- 684 0040 02 .byte 2
- 685 0041 95 .byte -107
- 686 0042 01 .byte 1
- 687 0043 75 .byte 117
- 688 0044 10 .byte 16
- 689 0045 81 .byte -127
- 690 0046 00 .byte 0
- 691 0047 C0 .byte -64
- 692 .section .data.USBD_HID,"aw",%progbits
- 693 .align 2
- 696 USBD_HID:
- 697 0000 00000000 .word USBD_HID_Init
- 698 0004 00000000 .word USBD_HID_DeInit
- 699 0008 00000000 .word USBD_HID_Setup
- 700 000c 00000000 .word 0
- 701 0010 00000000 .word 0
- 702 0014 00000000 .word USBD_HID_DataIn
- 703 0018 00000000 .word USBD_HID_DataOut
- 704 001c 00000000 .word 0
- 705 0020 00000000 .word 0
- 706 0024 00000000 .word 0
- 707 0028 00000000 .word USBD_HID_GetCfgDesc
- 708 002c 00000000 .word USBD_HID_GetCfgDesc
- 709 0030 00000000 .word USBD_HID_GetCfgDesc
- 710 0034 00000000 .word USBD_HID_GetDeviceQualifierDesc
- 711 .section .data.USBD_HID_CfgDesc,"aw",%progbits
- 712 .align 2
- 713 .set .LANCHOR0,. + 0
- 716 USBD_HID_CfgDesc:
- 717 0000 09 .byte 9
- ARM GAS /tmp/ccE5JjBw.s page 25
-
-
- 718 0001 02 .byte 2
- 719 0002 22 .byte 34
- 720 0003 00 .byte 0
- 721 0004 01 .byte 1
- 722 0005 01 .byte 1
- 723 0006 00 .byte 0
- 724 0007 E0 .byte -32
- 725 0008 32 .byte 50
- 726 0009 09 .byte 9
- 727 000a 04 .byte 4
- 728 000b 00 .byte 0
- 729 000c 00 .byte 0
- 730 000d 01 .byte 1
- 731 000e 03 .byte 3
- 732 000f 01 .byte 1
- 733 0010 01 .byte 1
- 734 0011 00 .byte 0
- 735 0012 09 .byte 9
- 736 0013 21 .byte 33
- 737 0014 11 .byte 17
- 738 0015 01 .byte 1
- 739 0016 00 .byte 0
- 740 0017 01 .byte 1
- 741 0018 22 .byte 34
- 742 0019 48 .byte 72
- 743 001a 00 .byte 0
- 744 001b 07 .byte 7
- 745 001c 05 .byte 5
- 746 001d 81 .byte -127
- 747 001e 03 .byte 3
- 748 001f 10 .byte 16
- 749 0020 00 .byte 0
- 750 0021 0A .byte 10
- 751 .section .data.USBD_HID_Desc,"aw",%progbits
- 752 .align 2
- 753 .set .LANCHOR3,. + 0
- 756 USBD_HID_Desc:
- 757 0000 09 .byte 9
- 758 0001 21 .byte 33
- 759 0002 11 .byte 17
- 760 0003 01 .byte 1
- 761 0004 00 .byte 0
- 762 0005 01 .byte 1
- 763 0006 22 .byte 34
- 764 0007 48 .byte 72
- 765 0008 00 .byte 0
- 766 .section .data.USBD_HID_DeviceQualifierDesc,"aw",%progbits
- 767 .align 2
- 768 .set .LANCHOR1,. + 0
- 771 USBD_HID_DeviceQualifierDesc:
- 772 0000 0A .byte 10
- 773 0001 06 .byte 6
- 774 0002 00 .byte 0
- 775 0003 02 .byte 2
- 776 0004 00 .byte 0
- 777 0005 00 .byte 0
- 778 0006 00 .byte 0
- ARM GAS /tmp/ccE5JjBw.s page 26
-
-
- 779 0007 40 .byte 64
- 780 0008 01 .byte 1
- 781 0009 00 .byte 0
- 782 .text
- 783 .Letext0:
- 784 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin
- 785 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/lo
- 786 .file 4 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_t
- 787 .file 5 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/lib/gcc/arm-none-eabi/7.3.1/
- 788 .file 6 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/re
- 789 .file 7 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s
- 790 .file 8 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/stdlib
- 791 .file 9 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
- 792 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
- 793 .file 11 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
- 794 .file 12 "Inc/usbd_hid.h"
- 795 .file 13 "Inc/usbd_desc.h"
- 796 .file 14 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h"
- 797 .file 15 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h"
- 798 .file 16 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h"
- 799 .file 17 "<built-in>"
- ARM GAS /tmp/ccE5JjBw.s page 27
-
-
-DEFINED SYMBOLS
- *ABS*:0000000000000000 usbd_hid.c
- /tmp/ccE5JjBw.s:16 .text.USBD_HID_GetCfgDesc:0000000000000000 $t
- /tmp/ccE5JjBw.s:22 .text.USBD_HID_GetCfgDesc:0000000000000000 USBD_HID_GetCfgDesc
- /tmp/ccE5JjBw.s:42 .text.USBD_HID_GetCfgDesc:0000000000000008 $d
- /tmp/ccE5JjBw.s:47 .text.USBD_HID_DataIn:0000000000000000 $t
- /tmp/ccE5JjBw.s:53 .text.USBD_HID_DataIn:0000000000000000 USBD_HID_DataIn
- /tmp/ccE5JjBw.s:76 .text.USBD_HID_GetDeviceQualifierDesc:0000000000000000 $t
- /tmp/ccE5JjBw.s:82 .text.USBD_HID_GetDeviceQualifierDesc:0000000000000000 USBD_HID_GetDeviceQualifierDesc
- /tmp/ccE5JjBw.s:101 .text.USBD_HID_GetDeviceQualifierDesc:0000000000000008 $d
- /tmp/ccE5JjBw.s:106 .text.USBD_HID_Setup:0000000000000000 $t
- /tmp/ccE5JjBw.s:112 .text.USBD_HID_Setup:0000000000000000 USBD_HID_Setup
- /tmp/ccE5JjBw.s:307 .text.USBD_HID_Setup:00000000000000c0 $d
- /tmp/ccE5JjBw.s:313 .text.USBD_HID_DeInit:0000000000000000 $t
- /tmp/ccE5JjBw.s:319 .text.USBD_HID_DeInit:0000000000000000 USBD_HID_DeInit
- /tmp/ccE5JjBw.s:366 .text.USBD_HID_Init:0000000000000000 $t
- /tmp/ccE5JjBw.s:372 .text.USBD_HID_Init:0000000000000000 USBD_HID_Init
- /tmp/ccE5JjBw.s:423 .text.USBD_HID_SendReport:0000000000000000 $t
- /tmp/ccE5JjBw.s:430 .text.USBD_HID_SendReport:0000000000000000 USBD_HID_SendReport
- /tmp/ccE5JjBw.s:483 .text.USBD_HID_GetPollingInterval:0000000000000000 $t
- /tmp/ccE5JjBw.s:490 .text.USBD_HID_GetPollingInterval:0000000000000000 USBD_HID_GetPollingInterval
- /tmp/ccE5JjBw.s:519 .text.USBD_HID_GetReport:0000000000000000 $t
- /tmp/ccE5JjBw.s:526 .text.USBD_HID_GetReport:0000000000000000 USBD_HID_GetReport
- /tmp/ccE5JjBw.s:541 .text.USBD_HID_DataOut:0000000000000000 $t
- /tmp/ccE5JjBw.s:547 .text.USBD_HID_DataOut:0000000000000000 USBD_HID_DataOut
- /tmp/ccE5JjBw.s:604 .text.USBD_HID_DataOut:0000000000000038 $d
- *COM*:0000000000000004 nOutData
- *COM*:0000000000000008 OutDataBuffer
- *COM*:0000000000000008 OutData
- /tmp/ccE5JjBw.s:696 .data.USBD_HID:0000000000000000 USBD_HID
- /tmp/ccE5JjBw.s:615 .data.HID_ReportDesc:0000000000000000 $d
- /tmp/ccE5JjBw.s:619 .data.HID_ReportDesc:0000000000000000 HID_ReportDesc
- /tmp/ccE5JjBw.s:693 .data.USBD_HID:0000000000000000 $d
- /tmp/ccE5JjBw.s:712 .data.USBD_HID_CfgDesc:0000000000000000 $d
- /tmp/ccE5JjBw.s:716 .data.USBD_HID_CfgDesc:0000000000000000 USBD_HID_CfgDesc
- /tmp/ccE5JjBw.s:752 .data.USBD_HID_Desc:0000000000000000 $d
- /tmp/ccE5JjBw.s:756 .data.USBD_HID_Desc:0000000000000000 USBD_HID_Desc
- /tmp/ccE5JjBw.s:767 .data.USBD_HID_DeviceQualifierDesc:0000000000000000 $d
- /tmp/ccE5JjBw.s:771 .data.USBD_HID_DeviceQualifierDesc:0000000000000000 USBD_HID_DeviceQualifierDesc
-
-UNDEFINED SYMBOLS
-USBD_CtlSendData
-USBD_CtlError
-USBD_LL_CloseEP
-free
-USBD_LL_OpenEP
-malloc
-USBD_LL_Transmit
-USBD_LL_GetRxDataSize
-memcpy
-USBD_LL_PrepareReceive