ZZ-Cat / CRSFforArduino

An Arduino Library for communicating with ExpressLRS and TBS Crossfire receivers.
GNU Affero General Public License v3.0
161 stars 27 forks source link

Version 1.0.0 Development Tracking #61

Closed ZZ-Cat closed 9 months ago

ZZ-Cat commented 10 months ago

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 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.

ZZ-Cat commented 9 months ago

I am closing this Issue, because development of Version 1.0.0 is complete, and is now available to the public.