Go Down

Topic: How to contribute to ArduinoCore-avr libraries? (Read 314 times) previous topic - next topic


Jan 07, 2021, 06:07 pm Last Edit: Jan 07, 2021, 06:08 pm by abratchik
Is it possible to contribute to https://github.com/arduino/ArduinoCore-avr? I only found manual for Arduino CLI - does it mean that ArduinoCore is locked for contribution?


Hi @abratchik. Thanks for your interest in contributing to the Arduino project!

The only reason why you didn't find a contribution guide for arduino/ArduinoCore-avr is because nobody got around to adding one. It certainly isn't locked for contribution. The only Arduino repositories that are truly locked for contribution are the ones that have been archived. It will be clear from visiting the repository on GitHub that it is archived, and you will find that there is no option to submit pull requests to these repositories.

Now I will be honest with you that there are other repositories that aren't archived, but which are not very actively maintained. You can get an indication of these repositories by checking the date of the last commit in the repository, which will be shown on the repository's home page on GitHub. You are still welcome to submit pull requests to these repositories, but don't be too impatient for them to be merged. Arduino has hundreds of repositories, so it's difficult for the developers to find time to manage all of them. Even if your pull request is not merged right away, your proposed changes are made prominently accessible to everyone, so even if it doesn't make it into the official code quickly, the community can still easily use your version of the code.

The general guidelines you find in the Arduino CLI contributing guide also apply to contributing to any of Arduino's repositories, but there is also quite a bit of information in that guide that is specific to the Arduino CLI project and doens't apply to arduino/ArduinoCore-avr. A more general guide can be found here:

Please let me know if you have any questions.


Jan 07, 2021, 07:45 pm Last Edit: Jan 07, 2021, 07:49 pm by abratchik
Thank you. So, if I understood properly, I can make a pull request for proposing the change but I need to discuss it with the Arduino Developer mailing List, correct?

The change I'd like to propose is predominantly regarding the HID library. Current version is limited to bulk interrupt transfer via SendReport. I developed an extended version, which supports the control pipe as well so one can use SetFeature/GetFeature protocol. The source is here.

This should extend the supported HID devices other than Keyboard and Mouse. I did it for Power Device according to the USB spec https://usb.org/document-library/usage-tables-hid-power-devices-11. I believe it can be also useful for all Arduino projects where a HID compliance is required.

Project is here https://create.arduino.cc/projecthub/abratchik/hid-compliant-ups-with-arduino-75198c?ref=user&ref_id=1670256&offset=0


The reason you might want to discuss a planned change with the Arduino Developers mailing list is to get feedback before starting the development work so you can base your work on the conclusions of the discussion. That might save effort as opposed to doing it the other way of doing the development work first, submitting the pull request, then possibly needing to make some changes based on the pull request review.

So it's not mandatory. It's only a suggestion.

Go Up