Arduino IDE?? #607
Replies: 8 comments 4 replies
-
I'm converting this to a Q&A Discussion. |
Beta Was this translation helpful? Give feedback.
-
@themindfactory Circling back to this in an attempt to give "an" answer, assuming that with "editing" you also mean "compiling and flashing":
The code itself can be modified in any editor you choose and is compiled by a "regular" C++ cross compiler in the end. However, PlatformIO does a lot of heavy lifting needed to make sure that whatever is needed to make that compilation succeed is in place. All of that would have to somehow be ported to another build context if one would want to use one. Not impossible in principle but certainly not easy. Also, when it comes to Arduino IDE, we may be doing some things with PlatformIO that Arduino IDE just doesn't support; I have to add to that that I don't know enough about Arduino IDE to be able to make any definitive statement about this. |
Beta Was this translation helpful? Give feedback.
-
I am so glad to have found this posted question by @themindfactory regarding using NightDriverStrip code with the Arduino IDE...and even happier to have @rbergen's very clear to understand reasons for why NightDriver code is tied to PlatformIO with Boy Scout knots too numerous to name. ;-). For me, PlatformIO is frustrating in trying to learn while at the same time learning C++, being an olde timer who mainly knew Apple II Assembler coding, and FP Basic and little else since 1988 and now. For me, the Arduino IDE was a far easier road to learn to navigate while learning new programming methodologies for use with programmable LEDs and laser vector graphics. |
Beta Was this translation helpful? Give feedback.
-
It might be possible to convert it to the Arduino IDE, but it’d be more work than learning VSCode and PlatformIO. While the learning curve is a LITTLE steeper, I strongly encourage you to learn PlatformIO, even if its with a simpler project at first, as it’s a great environment and very much worth learning!
Cheers,
Dave
… On Jan 13, 2025, at 5:12 PM, aldengaw ***@***.***> wrote:
I am so glad to have found this posted question by @themindfactory <https://github.com/themindfactory> regarding using NightDriverStrip code with the Arduino IDE...and even happier to have @rbergen <https://github.com/rbergen>'s very clear to understand reasons for why NightDriver code is tied to PlatformIO with Boy Scout knots too numerous to name. ;-).
For me, PlatformIO is frustrating in trying to learn while at the same time learning C++, being an olde timer who mainly knew Apple II Assembler coding, and FP Basic and little else since 1988 and now. For me, the Arduino IDE was a far easier road to learn to navigate while learning new programming methodologies for use with programmable LEDs and laser vector graphics.
—
Reply to this email directly, view it on GitHub <#607 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AA4HCF5UGNLDNGD224FH4Q32KRP7PAVCNFSM6AAAAABVDZ3SP6VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTCOBSGYZTGOI>.
You are receiving this because you are subscribed to this thread.
|
Beta Was this translation helpful? Give feedback.
-
Thanks Dave. I definitely see its benefits and advantages, especially with error checking, which the Arduino IDE is far lacking. I invested a lot of time 18 months ago trying to learn it. I think maybe I'm just getting too old. Love your YT channel btw. |
Beta Was this translation helpful? Give feedback.
-
There are very sound lifecycle reasons to flee PlatformIO right now, with Pioarduino being a reasonable stepping stone out—and I'm passively working on that in the background—but unless one has chops in build systems and tooling[1], it won't be trivial. If you're a casual user just trying to preserve muscle memory, this is not a project to undertake lightly. The way PlatformIO is used here isn't just an editor or even an IDE; the "hard" part is that it's used for versioned library management, dependency management, and build systems. My personal happy place is to use the editor[s] I want to use and keep a window open with shell scripts that look for the proper serial device, set PLATFORMIO_UPLOAD_PORT, and call 'pio run --target upload -e $E && tio $PLATFORMIO_UPLOAD_PORT'. If I'm debugging, I'll sometimes replace tio with pio monitor, but that's just more platformio cooties that I have to shake off. I end up with a half dozen scripts, specific to whatever I'm working with that day, like "go-mes", "go-hex", "go-yulc", "go-demo", "go-lily", and more, followed by the dreaded go-all which I used to ensure that I'm not sending Rutger total garbage in a PR. (My code might be stupid or broken, but it should at least compile.) This lets me, reluctantly, use the build and dependency management parts of PIO without getting any of the vscode/platformio editor on me. I, too, am an opinionated fossil about tooling, but probably in a opposite direction than many of the posters ITT. I don't think anyone has said why they want Arduino IDE, but I'm guessing the leading answer is "familiarity" and not technical superiority of Arduino IDE. In fact, I think I've heard very little positive about the technical merits of the Arduino IDE. If anyone has a reason beyond "it's what my fingers already operate", I'd be interested in hearing them. [1] I do and have considered a CMake wrapper in this project just to fix the atrocious build times, and I still have kicked that can down the road for over a year, knowing I won't ever get those hours back because just building is only the start of the gauntlet. |
Beta Was this translation helpful? Give feedback.
-
@robertlipe, I fully appreciate your in depth comments and reasonings, but I've no idea what you said...that's how newbie I am to modern coding and elaborate IDEs like PlatformIO. Over a year ago I spent many months trying to get the simplest NightDriver routine to work with my M5 Stick C Plus (laser blaster or whatever it was called) and a WS2812B strips. I complained that I didn't want to be part of a "community" of developers that share libraries and their versions on github etc. Dave (and others) gave me good instructions on how to make PlatformIO a standalone environment, and it worked. But PlatformIO was a pain in my ass to learn simply because I'm not an experienced C, C+, C++, Python, etc. programmer. My only real-world experience was using C and some Editor/Compiler helping a EE friend write code for a mail sorting machine project...I did the typing, learned some of the programming syntax, but that was back around 2000...and I've slept since then, starting from scratch pretty much. What little I learned 12-18 months ago, I've forgotten most of. I removed PlatformIO but kept Visual Studio (for some reason) about 8 months ago feeling it was a useless environment for what I really needed for educating myself. My Arduino IDE experience? Learning to use the UNO, the M5 Stick, the Teensy 4.1 for various hardware tasks while learning some of the rudiments of C++. Why do I gravitate to an IDE like Arduino's? Because it is simple to learn, has a simple footprint, it is EASIER to understand and use, and it has worked with every MCU Module I have mentioned along with programming my WS2812B light box using fairly simple routines and coding along with an UNO of M5 Stick C Plus. Managing libraries---simple and easy. And no, it does not have decent or much of any kind of worthwhile error or syntax checking. I'm wanting to learn C++ for me. At nearing 77, I'm not interesting in impressing programming communities or the world, but I am interested in keeping my brain challenged for as long as possible. NIghtDriver has some existing coding for doing many of the things I envisioned as highly useful for my few WS2812B projects. Its always another something unknown, unfamiliar. Very frustrating. Update: Ok, I made some progress miraculously somehow by opening a NightDriverStrip folder on my hd which seemed to have installed PlatformIO and gave me a "Welcome to PlatformIO" window with Recent Projects listed, and with the NightDriverStrip folder contents in the left pane. Recent projects show two NightDriverStrip folder locations that I made in the past, one in my C: Windows user folder and one on an external USB drive. So independent progress. yea! |
Beta Was this translation helpful? Give feedback.
-
This is what's maddening.
It goes on for pages like that and ends with: Here's an update, I will start a new discussion thread as I've taken this one off topic. Where it now compiles mostly without errors until the end it still fails...and becomes erratic at recognizing the M5 StickC Plus in on COM3, which is something I remember now was an off and on hassle a year ago in my attempts using PIO. |
Beta Was this translation helpful? Give feedback.
-
Not an issue a questions, is there an easy way to download and use this source code in Arduino IDE?
Richard.
Beta Was this translation helpful? Give feedback.
All reactions