Sobre este projeto
it-programming / desktop-apps
Aberto
Estamos buscando um desenvolvedor de firmware experiente para criar uma solução robusta para o microcontrolador STM32F401. O objetivo principal é habilitar o STM32F401 para operar como um USB Host, capaz de ler e interpretar dados de um volante usb hid (human interface device), comumente usado em jogos de pc.
Requisitos do Projeto:
1. Plataforma e Ferramentas:
- O desenvolvimento deve ser focado no microcontrolador STM32F401.
- O código deve ser compatível com a Arduino IDE.
- Não é permitido o uso de bibliotecas proprietárias.
- O código fonte deve ser totalmente comentado para facilitar a compreensão e futuras manutenções.
- A estrutura do projeto deve ser simples e modular, permitindo futuras alterações e expansões.
2. Funcionalidades USB Host HID:
- Implementar a detecção automática da conexão de um volante USB.
- Identificar e gerenciar a desconexão do dispositivo USB.
- Garantir a inicialização automática do modo USB Host ao ligar o sistema.
3. Leitura e Processamento de Dados do Volante:
- Capacidade de ler o eixo de direção do volante, obtendo seu valor posicional.
- Exibir o valor lido do eixo de direção via comunicação UART.
- As leituras devem ser contínuas e atualizadas em tempo real.
- Detectar o estado (pressionado/solto) de todos os botões disponíveis no volante.
- Exibir o estado dos botões via comunicação UART.
4. Funcionalidades de Debug:
- Configurar a comunicação serial (UART) a 115200 bps para fins de depuração.
- A saída de debug via UART deve incluir:
- Status atual da conexão USB (conectado, desconectado, erro).
- Valor atual do eixo de direção do volante.
- Estado de cada botão do volante.
- Mensagens de erro de comunicação, se houver.
Entregáveis:
- Código fonte completo e bem organizado.
- Todo o código deve estar devidamente comentado.
- Um projeto compilável, com todas as dependências necessárias.
- Instruções claras para a compilação do projeto.
- Instruções detalhadas para a gravação do firmware no STM32F401.
- Confirmação de compatibilidade com a Arduino IDE.
- A estrutura do projeto deve ser preparada para futuras modificações, seguindo as melhores práticas de engenharia de software.
Observação: Não é necessário implementar controle de motores ou qualquer outra funcionalidade além da leitura e exibição dos dados do volante via UART. O foco desta etapa é exclusivamente estabelecer a comunicação USB Host com o volante e disponibilizar seus dados.
Categoria TI e Programação
Subcategoria Aplicativos desktop
Qual é o alcance do projeto? Criar um novo aplicativo
Prazo de Entrega: Não estabelecido
Habilidades necessárias