#pragma once

#define CH32X035_ESIG_UNIID1    0x1FFFF7E8
#define CH32X035_ESIG_UNIID2    0x1FFFF7EC
#define CH32X035_ESIG_UNIID3    0x1FFFF7F0

// Strings
#define WCH_USBHID_MANUF_STR            "WCH"
#define WCH_USBHID_PROD_STR             "CH32X035-Keyboard"
#define WCH_USBHID_INTERF_STR           "USBKeyboard"
#define WCH_USBHID_SERIAL_PREFIX        "KB"

#define STR_LEN(s) (sizeof(s) - 1)

#define WCH_USBHID_MANUF_LEN            STR_LEN(WCH_USBHID_MANUF_STR)
#define WCH_USBHID_PROD_LEN             STR_LEN(WCH_USBHID_PROD_STR)  
#define WCH_USBHID_INTERF_LEN           STR_LEN(WCH_USBHID_INTERF_STR)
#define WCH_USBHID_SERIAL_PREFIX_LEN    STR_LEN(WCH_USBHID_SERIAL_PREFIX)
#define WCH_USBHID_UID_HEX_CHARS        24
#define WCH_USBHID_SERIAL_LEN           (WCH_USBHID_SERIAL_PREFIX_LEN + WCH_USBHID_UID_HEX_CHARS)

#define WCH_USBHID_VENDOR_ID        0x16C0
#define WCH_USBHID_PRODUCT_ID       0x27E5 
#define WCH_USBHID_DEVICE_VERSION   0x0100
#define WCH_USBHID_LANGUAGE         0x0409
#define WCH_USBHID_MAX_POWER_mA     100
