Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Each core provides a different USBAPI

Aberta
#141 2 comentários 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
25/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
cpp
Domínio
api, embedded-iot

Direção de pesquisa

Comece por api/USBAPI.h e compare as implementações nos caminhos de core avr, samd, megaavr e mbed mencionados na issue, incluindo USBCore.cpp, USBDeviceClass e PluggableUSBModule. A issue não define uma mudança concreta, portanto primeiro estabeleça o escopo de compatibilidade pretendido; o trabalho estará concluído quando houver um acordo sobre uma USB API comum entre os cores afetados.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

The Arduino Core API defines a very low level USB api in api/USBAPI.h. This API is implemented by the avr core in cores/arduino/USBCore.cpp. But it is not implemented by samd core, which implements the same functionality but in its own USBDeviceClass class. The USB implementation in megaavr core (USBCore.cpp) is a copy of the avr usb implementation with some deviations. The mbed core implements its own version of the PluggableUSBModule.

As a result, each core implements its own USB API which is incompatible with the others, there exist many code duplicates and users of the USB API have to understand and adapt their code to each individual core implementation.

Are there any plans to improve this situation?

Linguagem predominante
C++
Estrelas
306
Forks
150
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Ainda não verificamos os arquivos de configuração deste projeto. Comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de arduino/ArduinoCore-API

Todas as issues de arduino/ArduinoCore-API

Issues semelhantes

Mais issues de C++

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.