1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
34
42
43
48
49
54
55
62
63
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/* ... */
#ifndef __MAIN_H
#define __MAIN_H
#include "stdio.h"
#include "usbh_core.h"
#include "stm32446e_eval.h"
#include "stm32446e_eval_io.h"
#include "stm32446e_eval_lcd.h"
#include "lcd_log.h"
#include "usbh_hid.h"
#include "usbh_hid_parser.h"
8 includes
Includes
typedef enum {
HID_DEMO_IDLE = 0,
HID_DEMO_WAIT,
HID_DEMO_START,
HID_DEMO_MOUSE,
HID_DEMO_KEYBOARD,
HID_DEMO_REENUMERATE,
...}HID_Demo_State;
typedef enum {
HID_MOUSE_IDLE = 0,
HID_MOUSE_WAIT,
HID_MOUSE_START,
...}HID_mouse_State;
typedef enum {
HID_KEYBOARD_IDLE = 0,
HID_KEYBOARD_WAIT,
HID_KEYBOARD_START,
...}HID_keyboard_State;
typedef struct _DemoStateMachine {
__IO HID_Demo_State state;
__IO HID_mouse_State mouse_state;
__IO HID_keyboard_State keyboard_state;
__IO uint8_t select;
__IO uint8_t lock;
...}HID_DEMO_StateMachine;
typedef enum {
APPLICATION_IDLE = 0,
APPLICATION_DISCONNECT,
APPLICATION_START,
APPLICATION_READY,
APPLICATION_RUNNING,
...}HID_ApplicationTypeDef;
extern USBH_HandleTypeDef hUSBHost;
extern HID_ApplicationTypeDef Appli_state;
extern HID_MOUSE_Info_TypeDef mouse_info;
extern uint8_t *DEMO_MOUSE_menu[];
extern HID_DEMO_StateMachine hid_demo;
extern uint8_t prev_select;
Exported types
void HID_SelectItem(uint8_t **menu, uint8_t item);
void HID_MenuInit(void);
void HID_MenuProcess(void);
void HID_MouseMenuProcess(void);
void HID_KeyboardMenuProcess(void);
void HID_MOUSE_ButtonReleased(uint8_t button_idx);
void HID_MOUSE_ButtonPressed(uint8_t button_idx);
void USR_MOUSE_ProcessData(HID_MOUSE_Info_TypeDef *data);
void USR_KEYBRD_ProcessData(uint8_t data);
Exported functions
/* ... */#endif