philbowles / h4plugins

Adds GPIO handling, WiFi, MQTT, Webserver to H4 timer/scheduler. Multi-Platform plugins adding everything needed to create your own multi-function IOT firmware.
46 stars 17 forks source link

Guidance for how best to develop new plugins (compiler setup) #21

Open julianrendell opened 3 years ago

julianrendell commented 3 years ago

Hi-

I'm working with a student on building a ArtNet service plugin.

Right now we're compiling with the GUI version of Arduino and hit the apparently common issue with Arduino GUI & developing libraries: caching. There's no "make clean" in the Arduino GUI, and it doesn't reliably pickup source code changes in libraries- once they're built, the cached version is always used.

We've read about one workaround, which is to change the target board. But that's quite annoying.

Right now we've created an Arduino sketch and moved the files that are being worked on from the H4plugins... but that's created some other issues (admittedly, root cause was copied not moved files.) It also makes it hard to keep eg git up to date.

How do you have your development environment set up to make it simpler to develop H4Plugins as a library?

Are you using the Arduino command line tools?

Or building via the Arduino integration in Visual Studio Code? (My limited experience with that integration is that nothing is cached, it does a full build every time.)

Thanks in advance!