USB Device - Joystick/Mouse  1.0
Classes | Macros | Enumerations | Functions
usb.h File Reference

USB library for STM3240-G eval Knihovna pro praci s USB Device na STM3240G-eval. More...

#include <stdint.h>

Go to the source code of this file.

Classes

struct  SUsbSetupPckt
 
struct  SUsbEP
 < Vlastni struktura pro EP More...
 

Macros

#define SWAPBYTE(addr)
 
#define LOWBYTE(x)   ((uint8_t)(x & 0x00FF))
 Vem jen nejnizsi bajt. More...
 
#define HIGHBYTE(x)   ((uint8_t)((x & 0xFF00) >>8))
 Vem jen druhy nejnizsi bajt. More...
 
#define VENDOR_ID   (0x1212)
 Vendor ID. More...
 
#define PRODUCT_ID   (0x1313)
 PRODUCT ID. More...
 
#define USB_CONFIG_DESC_SIZ   (34)
 Velikost konfiguracniho deskriptoru. More...
 
#define USB_SIZ_DEVICE_DESC   (18)
 Velikost device deskriptoru. More...
 
#define USB_HID_DESC_SIZ   9
 Velikost deskriptoru HID. More...
 
#define HID_MOUSE_REPORT_DESC_SIZE   74
 Velikost report deskriptoru. More...
 
#define HID_DESCRIPTOR_TYPE   0x21
 Typ HID deskriptoru. More...
 
#define HID_REPORT_DESC   0x22
 Typ report deskriptoru. More...
 
#define HID_REQ_SET_PROTOCOL   0x0B
 Dotaz na nastaveni protokolu. More...
 
#define HID_REQ_GET_PROTOCOL   0x03
 Dotaz na deskriptor. More...
 
#define HID_REQ_SET_IDLE   0x0A
 Nastav HID na IDLE. More...
 
#define HID_REQ_GET_IDLE   0x02
 Get IDLE HID. More...
 

Enumerations

enum  EDevState {
  USB_EP0_IDLE = 0, USB_EP0_SETUP = 1, USB_EP0_DATA_IN = 2, USB_EP0_DATA_OUT = 3,
  USB_EP0_STATUS_IN = 4, USB_EP0_STATUS_OUT = 5, USB_EP0_STALL = 6
}
 
enum  EDevStatus { USB_DEFAULT = 1, USB_ADDRESSED = 2, USB_CONFIGURED = 3, USB_SUSPENDED = 4 }
 
enum  EBmRqtTRecip { EBM_DEVICE = 0, EBM_INTERFACE = 1, EBM_ENDPOINT = 2, EBM_OTHER = 3 }
 
enum  EbRequest {
  EBR_GET_STATUS = 0x00, EBR_CLEAR_FEATURE = 0x01, EBR_SET_FEATURE = 0x03, EBR_SET_ADDRESS = 0x05,
  EBR_GET_DESCRIPTOR = 0x06, EBR_SET_DESCRIPTOR = 0x07, EBR_GET_CONFIGURATION = 0x08, EBR_SET_CONFIGURATION = 0x09,
  EBR_GET_INTERFACE = 0x0A, EBR_SET_INTERFACE = 0x0B
}
 
enum  EbRequestConf { USB_REQ_TYPE_STANDARD = 0x00, USB_REQ_TYPE_CLASS = 0x20, USB_REQ_TYPE_VENDOR = 0x40, USB_REQ_TYPE_MASK = 0x60 }
 
enum  EwValDesc {
  EVD_DEVICE = 1, EVD_CONFIGURATION = 2, EVD_STRING = 3, EVD_INTERFACE = 4,
  EVD_ENDPOINT = 5, EVD_DEV_QAL = 6, EVD_DEV_OTHER_SPEED_CONF = 7, EVD_INTERFACE_POWER = 8,
  EVD_OTG = 9
}
 

Functions

void USBInit ()
 Vlastni inicializace USB Funkce nastavi GPIO piny. More...
 
void USBSendMouseMove (uint8_t *_mouseStat, uint16_t _len)
 Uzivatelska funkce pro odeslani pohybu mysi. More...
 

Detailed Description

USB library for STM3240-G eval Knihovna pro praci s USB Device na STM3240G-eval.

Skolni projekt pro CVUT FEL KRP

Author
Bc. Matej Jirka

Macro Definition Documentation

#define HID_DESCRIPTOR_TYPE   0x21

Typ HID deskriptoru.

#define HID_MOUSE_REPORT_DESC_SIZE   74

Velikost report deskriptoru.

#define HID_REPORT_DESC   0x22

Typ report deskriptoru.

#define HID_REQ_GET_IDLE   0x02

Get IDLE HID.

#define HID_REQ_GET_PROTOCOL   0x03

Dotaz na deskriptor.

#define HID_REQ_SET_IDLE   0x0A

Nastav HID na IDLE.

#define HID_REQ_SET_PROTOCOL   0x0B

Dotaz na nastaveni protokolu.

#define HIGHBYTE (   x)    ((uint8_t)((x & 0xFF00) >>8))

Vem jen druhy nejnizsi bajt.

#define LOWBYTE (   x)    ((uint8_t)(x & 0x00FF))

Vem jen nejnizsi bajt.

#define PRODUCT_ID   (0x1313)

PRODUCT ID.

#define SWAPBYTE (   addr)
Value:
(((uint16_t)(*((uint8_t *)(addr)))) + \
(((uint16_t)(*(((uint8_t *)(addr)) + 1))) << 8))
#define USB_CONFIG_DESC_SIZ   (34)

Velikost konfiguracniho deskriptoru.

#define USB_HID_DESC_SIZ   9

Velikost deskriptoru HID.

#define USB_SIZ_DEVICE_DESC   (18)

Velikost device deskriptoru.

#define VENDOR_ID   (0x1212)

Vendor ID.

Enumeration Type Documentation

Enumerator
EBM_DEVICE 

Dotaz na device.

EBM_INTERFACE 

Dotaz na interface.

EBM_ENDPOINT 

Dotaz na endpoint.

EBM_OTHER 

Jiny.

enum EbRequest
Enumerator
EBR_GET_STATUS 
EBR_CLEAR_FEATURE 
EBR_SET_FEATURE 
EBR_SET_ADDRESS 

Nastav adresu.

EBR_GET_DESCRIPTOR 

Dotaz na descriptor.

EBR_SET_DESCRIPTOR 
EBR_GET_CONFIGURATION 

Dotaz na konfiguraci.

EBR_SET_CONFIGURATION 
EBR_GET_INTERFACE 
EBR_SET_INTERFACE 
Enumerator
USB_REQ_TYPE_STANDARD 
USB_REQ_TYPE_CLASS 
USB_REQ_TYPE_VENDOR 
USB_REQ_TYPE_MASK 
enum EDevState
Enumerator
USB_EP0_IDLE 
USB_EP0_SETUP 
USB_EP0_DATA_IN 
USB_EP0_DATA_OUT 
USB_EP0_STATUS_IN 
USB_EP0_STATUS_OUT 
USB_EP0_STALL 
enum EDevStatus
Enumerator
USB_DEFAULT 

USB ve vychozim nastaveni.

USB_ADDRESSED 

USB adresovano.

USB_CONFIGURED 

USB konfigurovano.

USB_SUSPENDED 

USB suspendovano.

enum EwValDesc
Enumerator
EVD_DEVICE 

Typ bmRequestType pro deskriptor.

EVD_CONFIGURATION 
EVD_STRING 
EVD_INTERFACE 
EVD_ENDPOINT 
EVD_DEV_QAL 
EVD_DEV_OTHER_SPEED_CONF 
EVD_INTERFACE_POWER 
EVD_OTG 

Function Documentation

void USBInit ( )

Vlastni inicializace USB Funkce nastavi GPIO piny.

Priradi Pinum alternativni funkci USB FS. Nastavi zakladni adresy promennym pro obsluhu USB registruu. Dle manualu nastavi usb CORE pro prijem usbreset. Predpriravi EP.

void USBSendMouseMove ( uint8_t *  _mouseStat,
uint16_t  _len 
)

Uzivatelska funkce pro odeslani pohybu mysi.

Parameters
_mouseStatpole bytu se stavem(pohybem) mysi
_lenvelikost (pocet bajtu) v _mouseStat