CRSF for Arduino's first official major release is slated to come out in early 2024, and this is the issue to track its development.
Once everything is all said-and-done here, Version 1.0.0 will be released to the public, and you will be able to access it from my Releases section.
To-Do List
In order of priority, here is what needs to be done before Version 1.0.0 is released:
[x] #56
[x] #67
[x] Clarify what is compatible and what isn't.
[x] Show instructions for how to request support for a development board that is currently "incompatible", but has the same architecture (or is built around the same chip) as other boards that are compatible.
[x] Show relevant hyperlinks in Serial Monitor.
[x] #70
[x] Allow hardware to set default UART port and Rx and Tx pins.
[x] Customisable UART port assignments on supported hardware.
[x] #76
[x] #73
[x] #69
[x] #52
[x] #58
[x] #83
[x] #84
[x] Remove unnecessary comments.
[x] Remove deprecated/commented out code.
[x] Documentation.
[x] Code of Conduct.
[x] Contribution Guidelines.
[x] Readme.
[x] Issue Templates.
[x] Add Arduino IDE as a compatibility requirement in the development board request form.
[x] Add PlatformIO as a compatibility requirement in the development board request form.
[x] Update with recently added targets.
[x] Wiki.
[x] Update to reflect the latest API.
Anything else that crops up will be added to this list.
Notes
Arbitrary/Custom UART assignments
Instead of writing this one myself, I found it better to bring up Arduino's HardwareSerial class as a parameter to CRSF for Arduino's constructor. Instead of you defining pins or ports as parameters to this constructor, you will be able to provide your own HardwareSerial implementation and pass that in.
This gives you greater flexibility, at the expense of increased code complexity. If you're doing this on SAMD21 and SAMD51 architectures, you already know what I am referring to when I say "complexity". I don't know how it is for you Teensy and ESP32 users. However, for us SAMD users... heh... Hide the Pain Harold intensifies.
Documentation
For the time being, I have decided to update the wiki right here on GitHub.
This will serve as the main documentation source in the meantime while I learn more about Docusaurus.
Throughout the development of Version 1.0.0, the main README will be updated to reflect recent changes per merged Pull Request to the Main-Trunk. This ensures that those that are cloning CRSF for Arduino directly off the Main-Trunk know what thar getting themselves into.
Codebase standardisation
The repository for the official CRSF Protocol is now available for public use.
At the time of writing this, the documentation for it is still being written for the existing protocol.
What I would like to do is have CRSF for Arduino be an accurate representation of the documentation of the CRSF Protocol itself. That way, if you would like to know more about the protocol itself, you can easily refer to that documentation and cross-reference it with my codebase here.
STM32 targets
Gods, I knew this was going to be a rabbit hole, but WOW! Just... WOW!
So, I added nearly the entire line-up of F103 and F4 targets. Literally the entire F405, F722, and H745 line-up.
Plus, I added Arduino's Nicla, Opta and Portenta H7 targets.
Doing STM32 support got very monotonous for me, and was starting to feel like I was bashing my head against a wall.
I feel like there's plenty of chipsets now for most people to be happy with. I didn't add literally all the STM32 chips. Because at this time, it simply isn't realistic to do it.
If someone wants me to add in their super-obscure target, they are more-than-welcome to hit me up in my Issues tab about it.
While I am on that note...
Issues
Please do not copy-and-paste the same phrase over-and-over in your Issue.
You need to be specific about what it is you need me to do. If you're too vague, I will ask you to be more specific.
If I get no response from you or your response is convoluted or incoherent, I will close your Issue and move on.
Overview
Copied over from #49.
This is THE BIG ONE! =^/,..,^=
CRSF for Arduino's first official major release is slated to come out in early 2024, and this is the issue to track its development.
Once everything is all said-and-done here, Version 1.0.0 will be released to the public, and you will be able to access it from my Releases section.
To-Do List
In order of priority, here is what needs to be done before Version 1.0.0 is released:
Anything else that crops up will be added to this list.
Notes
Arbitrary/Custom UART assignments
Instead of writing this one myself, I found it better to bring up Arduino's
HardwareSerial
class as a parameter to CRSF for Arduino's constructor. Instead of you defining pins or ports as parameters to this constructor, you will be able to provide your ownHardwareSerial
implementation and pass that in.This gives you greater flexibility, at the expense of increased code complexity. If you're doing this on SAMD21 and SAMD51 architectures, you already know what I am referring to when I say "complexity". I don't know how it is for you Teensy and ESP32 users. However, for us SAMD users... heh... Hide the Pain Harold intensifies.
Documentation
For the time being, I have decided to update the wiki right here on GitHub. This will serve as the main documentation source in the meantime while I learn more about Docusaurus.
Throughout the development of Version 1.0.0, the main README will be updated to reflect recent changes per merged Pull Request to the Main-Trunk. This ensures that those that are cloning CRSF for Arduino directly off the Main-Trunk know what thar getting themselves into.
Codebase standardisation
The repository for the official CRSF Protocol is now available for public use.
At the time of writing this, the documentation for it is still being written for the existing protocol.
What I would like to do is have CRSF for Arduino be an accurate representation of the documentation of the CRSF Protocol itself. That way, if you would like to know more about the protocol itself, you can easily refer to that documentation and cross-reference it with my codebase here.
STM32 targets
Gods, I knew this was going to be a rabbit hole, but WOW! Just... WOW!
So, I added nearly the entire line-up of F103 and F4 targets. Literally the entire F405, F722, and H745 line-up.
Plus, I added Arduino's Nicla, Opta and Portenta H7 targets.
Doing STM32 support got very monotonous for me, and was starting to feel like I was bashing my head against a wall.
I feel like there's plenty of chipsets now for most people to be happy with. I didn't add literally all the STM32 chips. Because at this time, it simply isn't realistic to do it.
If someone wants me to add in their super-obscure target, they are more-than-welcome to hit me up in my Issues tab about it.
While I am on that note...
Issues
Please do not copy-and-paste the same phrase over-and-over in your Issue.
You need to be specific about what it is you need me to do. If you're too vague, I will ask you to be more specific.
If I get no response from you or your response is convoluted or incoherent, I will close your Issue and move on.