Hello. I’m still getting oriented with the Particle tools. I was hoping for some direction on the best ways to standardize a workflow for Particle.
The main question is whether I should be using the web IDE or the MS Code / Particle Workbench IDE. Which is the “correct” way? I have struggled to get used to MS Code. I have many years experience working in MPLABX for Microchip PIC code and a bit of experience w/ Atmel Studio.
This MS code thing is all new - it appears Particle is a plugin to MS code?
Here are some points on my average project:
- I will often bring in straight .c and .h code, as I already have a ton of code written in C for PIC. My first realization upon installing MS Code is that it doesn’t let me just add .c and .h files to the project. It won’t compile them. (Not sure exactly what went wrong, just that it didn’t work). I was eventually able to get it to compile by changing the .c to .cpp and left the .h as it was.
So right now I have projects with file names with .cpp and .h. I don’t think that is correct, but it is compiling, loading, and working right now, though I still can’t use global variables defined on my attached code pages - any global vars need to be defined in my main .ino file for some reason to work.
Normally in MPLABX I just #include “extra_code_header_file.h” on each page of the code that needs those functions or global variables. I haven’t been able to get any of the Particle tools to do this yet.
I haven’t done remote firmware update yet, but I will eventually be using Particle for regular updates to firmware on gateway Argon/Boron devices and Xenon mesh endpoints. I’m not sure how either IDE is tied to the update process, if one is better than the other, or if the web IDE is better for a fleet of live devices and the desktop IDE is intended just for development. So far I am just uploading code via USB cable from MS Code.
I’m usually doing projects for clients, so whatever I write will be handed off to someone else at some point. I like the web IDE for this, but not if the web IDE will introduce other limitations in the future. I can always just send them a zipped up copy of the program folder from MS Code. The clients are generally non-code people - I tend to show them in person how to open files and upload things. If they have to install MS Code and set up and configure a toolchain just to get code on a device, then using a web link may be a lot easier.
Can the web IDE upload code via USB to a local device? I tried using the web IDE one time trying to upgrade the version of DeviceOS on a Boron. I followed the instructions and started the upload, but I think it went over cellular which didn’t make sense since it was connected via USB. It took about 20 minutes of of the Boron rebooting on its own, but eventually it shows the new firmware version.
Does the web IDE only update code over the air? That doesn’t seem usable for development.
I appreciate any thoughts or feedback.