Version 1.0.0... at last! #86
Replies: 11 comments 15 replies
-
I need some help getting the Arduino IDE (2.3.2) to compile. Compilation error: CRSFforArduino.hpp: No such file or directory. Looks like the IDE is not seeing the CRSFforArduino library files. Cheers, s |
Beta Was this translation helpful? Give feedback.
-
Hi, thank you for responding. I’m wondering if I have the Arduino IDE configured correctly. Here is what I have done so far … following the wiki …
I downloaded the 1.0.0 zip, extracted the zip, and then copied the “CRSFforArduino-1.0.0” folder to my Arduino/libraries folder.
I opened a new sketch (File-->New Sketch) and added #include "CRSFforArduino.hpp", then compiled the new sketch which yielded "Compilation error: CRSFforArduino.hpp: No such file or directory."
Also, I do not see any examples from File-->Examples. It appears that the Arduino IDE does not see anything to do with CRSFdorArduino.
Cheers, Scott
On Friday, March 1, 2024 at 03:55:32 a.m. EST, ZZ-Cat ***@***.***> wrote:
That's odd.
Can you elaborate on this a bit more, please?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I have had success by adding the library in th "sketch >> Include Library
> Add .zip library -
may be best to include this way...
[image: Screenshot 2024-03-01 at 12.20.39 PM.png]
…On Fri, Mar 1, 2024 at 11:01 AM SB-JHL-B26 ***@***.***> wrote:
Hi, thank you for responding. I’m wondering if I have the Arduino IDE
configured correctly. Here is what I have done so far … following the wiki
…
I downloaded the 1.0.0 zip, extracted the zip, and then copied the
“CRSFforArduino-1.0.0” folder to my Arduino/libraries folder.
I opened a new sketch (File-->New Sketch) and added #include
"CRSFforArduino.hpp", then compiled the new sketch which yielded
"Compilation error: CRSFforArduino.hpp: No such file or directory."
Also, I do not see any examples from File-->Examples. It appears that the
Arduino IDE does not see anything to do with CRSFdorArduino.
Cheers, Scott
On Friday, March 1, 2024 at 03:55:32 a.m. EST, ZZ-Cat ***@***.***> wrote:
That's odd.
Can you elaborate on this a bit more, please?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
—
Reply to this email directly, view it on GitHub
<#86 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACBPU6ZP4KW2OQ64BPZ4B6LYWCQ4VAVCNFSM6AAAAABDWFPHP6VHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DMNBUHA4TG>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
Update ... Essentially, the Arduino IDE (2.3) is not seeing the CRSFforArduino library. After unzipping the Source Code zip, I moving the top level folder to my C:\Users\WSB\Documents\Arduino\libraries folder. I restarted IDE, went to Tools-->Manage Libraries to open the Library Manager. In the top search bar of the Library Manager, I typed in CRSF and three libraries were listed (Sam4uk, Jacob Williams and qqqlab). There was no sign of a ZZ-Cat library to install. Perhaps this is because of the Caveat " ... This is because CRSF for Arduino is not yet available in the Arduino IDE's Library Manager.". So I suppose the question is how do I install your libraries manually? |
Beta Was this translation helpful? Give feedback.
-
Update ... My experience with the CRSFforArduino code/libraries. After trying a bunch of things I could not get the Adruino IDE (2.3) to see anything related to the CRSFforArduino libraries. Trying to run the examples manually resulted in "file not found" of course because the IDE did not have the necessary file paths established that comes with using the native IDE Library Manager. There is of course the possibility that I overlooked something simple. I am not a seasoned Arduino IDE user since in the past I have used Visual Studio. It would be beneficial to have this library use the default Arduino IDE Library installation tools. For example, in the IDE Library Manager, typing "CRSF" yields 3 libraries. I simply clicked on the INSTALL button for AlfredoCRSF, and the IDE installed the library. Going to File-->Examples yielded 4 examples at the bottom "Examples from Custom Libraries" menu. I ran the "printAllChannels" example (after adjusting the Rx/Tx pin numbering for my Arduino Nano ESP32 board) and all worked perfectly with my RadioMaster RP2 ELRS Nano Receiver. If there are some changes to the CRSFforArduino library installation process, I would be happy to test them out in order to contribute in some tiny way. Thank you to those that took the time to help. Cheers, Scott |
Beta Was this translation helpful? Give feedback.
-
Yes that worked! Thank you.
"rc_channels.ino" example compiles and loads but does not result in any output to the serial monitor.
I will need to do a bit more review and make sure the Rx/Tx pin designations are correct for my Arduino Nano ESP32 board.
Do you know where this configuration data resides?
Cheers, Scott
On Friday, March 1, 2024 at 12:47:46 p.m. EST, Neil Stein ***@***.***> wrote:
that is an easy fix, expand the zip, and the open the library.properties file in a text editor. The following line that starts with "paragraph" has an extra line break in it. Each key pair needs to be on a single line,
Just make a small edit to update, this line to only have a trailing line break,
/////
paragraph=This library enables you to connect either a TBS Crossfire or ExpressLRS receiver to your development board,giving you access to telemetry and up to 16 11-bit proportional RC channels over a tried-and-true serial protocol.
/////
save the file. Zip the folder and include as before.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Compatibility issues with the Arduino IDE Library ManagerCRSF for Arduino is not yet available in the Library Manager in the Arduino IDE. I don't believe that this should be a reason why the Arduino IDE is not seeing CRSF for Arduino. I have tested the compilation of CRSF for Arduino with the Arduino IDE version 1.8.10. CRSF for Arduino version 1.0.0 is compatible with rev. 2.2 of the Library Specifications. Rev. 2.2 of the Arduino Library Specifications is compatible with Arduino IDE version 1.8.10 and later. Possible confusion around installation and use with Arduino IDEBy rights, the folder structure of CRSF for Arduino should look like this: |-libraries <- This is the Arduino IDE's folder where the rest of your libraries are stored.
|
|-CRSFforArduino <- Note the semantic version tag is omitted.
|
|-examples
| |-[code examples]
|
|-src
|-[CRSF for Arduino's abstraction layers]
|-CFA_Config.hpp
|-CRSFforArduino.hpp <- This is what should be included in your sketches.
|-CRSFforArduino.cpp <- This is what should be linked with CRSFforArduino.hpp when compiled You may need to rename CRSF for Arduino's top level folder from You may retain the rest of the files in CRSF for Arduino's directory. You must not delete the Typo in
|
Beta Was this translation helpful? Give feedback.
-
Update ... With the help from 'steinne', I was able to install the CRSFforArduino library, compile and load. In particular the "rc_channels" example. Unfortunately my Arduino Nano ESP32 board does not output anything. "CRSF for Arduino initialisation failed!" or "RC Channels Example" or "Ready" did not print in the Serial Monitor and there is no channel data being displayed. I have 2 sketches open on and can switch back and forth between "AlfredoCRSF" and "CRSFforArduio" examples. Same hardware same IDE. The AlfredoCRSF example sketch provided channel data and the CRSFforArduino example sketch does not print anything. At this point I have spent quite a bit time testing and trying to get CRSFforArduino to work. I will have to leave it for now since I believe some things require attention which are beyond my "user" level capabilities. I will continue to test when the code/installation base is more mature and a couple of issues are further tested by the devs. I will commit my time to testing as a contribution to this cause. Cheers, s |
Beta Was this translation helpful? Give feedback.
-
Thank you for responding. I will take a look at HardwareSerial with the aim of getting it to work. I will post my results.
It is quite a task to preside over such a large number of boards and environments!
I will help test the Arduino Nano ESP32-S3 board as well as test the Arduino IDE. Just give me a heads up when new releases happen.
Cheers, Scott
On Friday, March 1, 2024 at 05:27:11 p.m. EST, ZZ-Cat ***@***.***> wrote:
Interesting. 🤔
I have not yet touched Arduino IDE 2.x.x. This will change as soon as I have it installed on my end.
Clearly a lot has changed since 1.8.10, and I need to play "catch up" with this.
CRSF for Arduino has a constructor CRSFforArduino::CRSFforArduino(HardwareSerial *serialPort) where you can provide your own pre-defined and pre-configured UART to CRSF for Arduino. This includes your own pins... in most cases.
ESP32 is completely different to other platforms.
In the context of UART, it looks as though the pins are defined when you call begin() on the platform.
Whereas with SAMD21 and SAMD51, you define the pins in the HardwareSerial constructor and begin() is used to simply call the baudrate and configuration (EG 420000 and 8-bits, no parity, and 1 stop bit).
The last person that requested ESP32 support did not hang around to help me test the codebase on their targets to ensure everything was working. I foolishly made the assumption that "it just works", and merged it.... only to come up with what you're experiencing now.
One of the primary goals of this project is to get it to a state where it works out-of-the-box, and you should not have to unnecessarily fuck with it just to get it working.
This is where I need folks what can do hardware testing on supported development boards come in. 'Cause the available targets that CRSF for Arduino is now compatible with... that list has grown far beyond any of the limited hardware I have available on hand, and it isn't realistic for me to test all the development boards myself.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I have a few boards that I can help out with. I will elaborate tomorrow. Cheers, Scott.On Mar 1, 2024, at 6:40 PM, ZZ-Cat ***@***.***> wrote:
Awesome!
Generally, when someone lets me know they are interested in helping out with testing hardware, I tag them in a related Pull Request and I provide instructions for them to check out the topic branch and flash their target(s) with the firmware, and they provide me with feedback on how it all goes; and I make adjustments to the codebase, along the way.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
@SB-JHL-B26. While I was working on #91, I noticed that my Arduino build check was failing with the same error you mentioned here. Due to the severity of this bug, I have issued a PSA and created an Issue from this. Thus putting it at the top of my list in the development pipeline. A fix for this will be available in the next patch release. This got past my quality control, because at the time, there was a bug in the Arduino build check workflow on Adafruit's end and I had to temporarily disable it until they got it fixed. I have since reinstated that build check, and it picked the error you mentioned up straight away. |
Beta Was this translation helpful? Give feedback.
-
Overview
Wow, what a journey it has been!
The first
MAJOR
cut of CRSF for Arduino is finally here.I can't say this enough: A huge thank you to you all for your contributions, hardware testing, Issues, Pull Requests, your patience with me, and your wonderful ideas in my Discussions tab.
You all have helped make Version 1.0.0 of CRSF for Arduino a reality.
Thank you very much from the bottom of my heart.
This project has been some two years in the making (both offline and online), through various iterations and attempts.
A few bumps along the way, plus a point where I simply wanted to give up, delete this repo and call it quits.
But, I found it in me to keep going, despite the setbacks... and gods, that has finally paid off.
Some say firmware and software development is a thank-less job.
I beg to differ. My own experience, I have had nothing but overwhelming support from my user-base.
You all have been what's kept me going through the times where I had reached my absolute lowest with CRSF for Arduino.
You folks are amazing.
So, here's to you all, my gift to you... CRSF for Arduino, Version 1.0.0.
Enjoy~ 🖤
What's new
Features
Hardware targets
What's Changed
Fixes
$PROJECT_DIR
from all relevant paths. by @ZZ-Cat in fix(platformio): Remove$PROJECT_DIR
from all relevant paths. #64Re-factors and re-writes
DevBoards
class and bringHardwareSerial
class up to the Sketch Layer by @ZZ-Cat in refactor(hal): DeprecateDevBoards
class and bringHardwareSerial
class up to the Sketch Layer #71Chores
Miscellaneous
Kia ora and haere mai to our new contributors
Full Changelog: v0.4.0...v1.0.0
Semantic Versioning
All releases of CRSF for Arduino follow the Semantic Versioning Guidelines.
This means "Major.Minor.Patch".
Major = New features that are incompatible with previous iterations.
Minor = New features &/or hardware support that retains compatibility with the current Major release.
Patch = Bug fixes.
This is Major Version 1.x.x and is considered stable.
While every effort has gone in to ensure the latest release is bug-free, there are no guarantees with firmware development.
Your feedback is always welcome. If you spot any bugs, don't hesitate to open an issue.
For general comments & questions, please use the discussions section.
New contributors are always welcome. Please read through my Contribution Guidelines before you go Gung Ho with coding.
This discussion was created from the release Version 1.0.0... at last!.
Beta Was this translation helpful? Give feedback.
All reactions