Olá Pessoal,
Depois de um tempo afastado por problemas de visão

, estou tentado voltar ao caso da interface USB com o STM32F103... (blue pill) e os programas do fabricante (STM32CubeMX e Atolic TrueStudio).
Ainda pretendo utilizar o tal do HAL, mas como o resultado gera uma infinidade de arquivos, fico perdido em como achar e "amarrar" as coisas.
O que eu gostaria de fazer seria:
Na hora do "boot" (plugar o dispositivo), dependendo do status de um pino de entrada, eu selecionar uma opção no descriptor USB para meu joystick ter 2 ou 4 botões.
Já tentei algumas coisas (na verdade, muitas), mas basicamente não consigo fazer o arquivo com o descriptor (USBD_HID.C) enxergar uma variável no arquivo MAIN.C
__ALIGN_BEGIN static uint8_t HID_USB_ReportDesc[HID_USB_REPORT_DESC_SIZE] __ALIGN_END =
{
0x05, 0x01, // USAGE_PAGE (Generic Desktop)
0x09, 0x05, // USAGE (Game Pad)
0xa1, 0x01, // COLLECTION (Application)
0xa1, 0x00, // COLLECTION (Physical)
0x05, 0x09, // USAGE_PAGE (Button)
0x19, 0x01, // USAGE_MINIMUM (Button 1)
0x29, 0x02, // USAGE_MAXIMUM ///////// Aqui que eu mudo o numero de botões.
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0x01, // LOGICAL_MAXIMUM (1)
0x75, 0x01, // REPORT_SIZE (1)
0x95, 0x10, // REPORT_COUNT (16)
0x81, 0x02, // INPUT (Data,Var,Abs)
0xc0, // END_COLLECTION
0xc0 // END_COLLECTION
};
Alguma outra ideia ou forma de fazer isto?