TMC32_QJB/HID/HID.h
2026-04-30 16:23:12 +08:00

94 lines
2.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/********************************************************************************
* Copyright (c) 2016, Beijing Tongfang Microelectroics Co., Ltd.
* All rights reserved.
* Module: HID header file
* Author: Yang Song
* Version: V1.0
* History:
* 2016-09-22 Original version
********************************************************************************/
#ifndef HID_H_
#define HID_H_
//#if HID
#define HID 0x00
#define HIDINTPKTSIZE 0x40
#define SET_REPORT 0x09
#define GET_REPORT 0x01
#define HIDRREPORT 0x22
#define HID_KBD_RPT_LEN 0x3f
#define HID_POS_RPT_LEN 0x45
//#define HIDRXMAXLENL 0x0B
//#define HIDRXMAXLENH 0x08
#define HIDTXMAXLENL 0x1F
#define HIDTXMAXLENH 0x00
#define HIDPOS_CFG_LEN 0x29
#define HIDKBD_CFG_LEN 0x22
#define VSP_CFG_LEN 0x43
//#define HIDRXLEN (((u16)HIDRXMAXLENH<<8)+HIDRXMAXLENL)
//#define HIDTXLEN (((u16)HIDTXMAXLENH<<8)+HIDTXMAXLENL)
#define SETBASE 0x50 // Change base
#define ALGOPER 0x56 // DES operation: Encryption/Decrytion/Read result
#define WRFLASH 0x58 // Write flash
#define RDFLASH 0x5A // Read flash
#define UDFLASH 0x5C // Update flash
#define ERFLASH 0x2E // Erase flash
#define FERFLASH 0x3E // Fast erase flash
#define GETRDMN 0x84 // get random number
#define CAPSLOCKON 0x01
#define CAPSLOCKOFF 0x00
#define NUMLOCKON 0x01
#define NUMLOCKOFF 0x00
#define SHIFTON 0x02
extern u8 g_bCapsLock;
extern u8 g_bNumLock; //0£º û¿ª£» 1£º¿ªÁË
extern void SendCapsLock(void);
extern void SendNumLock(void);
extern const u8 usbHidPosInterfaceDescriptor[];
extern const u8 usbHidKbdInterfaceDescriptor[];
extern const u8 usbHidPosDeviceClassDescriptor[];
extern const u8 usbHidKbdDeviceClassDescriptor[];
extern const u8 usbHidPosEndpointDescriptor[];
extern const u8 usbHidKbdEndpointDescriptor[];
extern const u8 usbHidKbdReportDescriptor[HID_KBD_RPT_LEN];
extern const u8 usbHidPosReportDescriptor[HID_POS_RPT_LEN];
extern void hidReportRequest(u8 req);
extern void hidSetReportRequest(void);
extern void hidGetReportRequest(void);
extern void hidSendReportDscrpt(void);
extern void usbHidPosSendChars(u8 *buf,u32 len);
extern u32 usbHidPosRecvChars(u8 *buf, u32 bufSize);
extern void usbHidKbdSendChars(u8 *buf,u32 len);
extern void usbHidKbdSendCharsGBK(u8 *buf,u32 len);
extern void usbHidKbdSendCharsUNICODE(u8 *buf,u32 len);
extern void usbHidKbdSendCharsUTF8(u8 *buf,u32 len);
//¸ù¾ÝÏÖÓÐ״̬status¿ª¹Øcapslock
void usbHidKbdSendCapsLock(uint8_t status);
//#endif
#endif