I bought an Electron on the kick starter campaign. Thought it would be cool to monitor stuff over cellular.
Still yet to be able to get this working on a project. Tinker works but what fun is that to turn on the D7 LED.
Its not like I’m not familiar with micro controllers. Was using basic stamps in the late 90’s and then moved to PIC micros using PICBasic pro. Used RPI with Python to control stuff. Use altera and xilinx programmers at work to program $2500 FPGAs and CPLDs. Have also used Spectrum Digital emulators to bit bang flash loading u-boot to industrial devices.
The Electron and all the IDE and DEV and CLI and whatever other magic it takes to get this thing to work has me frustrated to a point of selling it all on eBay for cheap.
Then there is the include file abyss when using the DEV program environment. Every example I tried on github has include files listed. Where the hell do I find all them to make it work??? When compiling I’m always getting errors and the file I want to include is listed in the same folder where the .ino file is.
I only have so much time to work on this then I get frustrated and it goes back in the drawer for a few months.
Gonna dig out my basic stamp and write hello to a parallel LCD. I can get that to work every time.
I can really sympathize with this. I have not worked with microcontrollers that much until the last few months, compared to your past experience. Its frustrating and different from a lot of things, but once I learn the way they work, it makes it easier. The whole Particle platform includes the cloud element, which is different from a lot of the other products I’ve used like a RPi or python scripting, arduino, or ESP8266 modules.
Like anything that you havn’t worked with before, there are kinks and tricks and things you figure out while also learning a new platform. Particle has a really nice community as well, and I’d almost argue they are less snooty than the stackoverflow or other common programming help sites…
All the Particle devices need to be connected to the cloud by default and use the Web IDE. Start there. Don’t even look at Dev or the app yet. Stay in the web IDE. They have integrated libraries you can add that automatically put them in the correct spot so you don’t have to. It updates your properties file as well too. The Web IDE take a lot of the hard stuff out of the normal flow. instead of downloading and installing a library to the correct folder manually, the web IDE knows how to ask for all the resources it needs, you just need to ask for it. The errors are actually really useful in most cases, but not as useful as the python trace that I like.
If you are having trouble with your device getting disconnected or getting weird color lights, then just blow everything away and re-flash the firmware. Hold the setup button and like when you first got it and wipe it clean. Set it back up (I use tinker personally) and try again. Its the best way, and will usually be faster than finding an exact scenario that works. Even weirder issues can be fixed (for me anyway) by totally unclaiming and reclaiming the device and running the entire setup process from square 0 using the Particle app. Not that hard, but it takes a few minutes, yet consistently fixes my issues.
If your 100% bent on using DEV, then you have to learn the file structure. I do not use dev to add libraries, I just use the Windows manager and download files from github and paste them in where they need to be. It isn’t ideal, but it works. You will need to update your properties file as well.
Just my couple cents. Sorry you’re frustrated, the community is here to help.
Also to add my two cents, if you’re a command-line kind of guy and you’re not using Windows, I’d highly recommend using po, a tool I’ve been maintaining for over two years that makes local development very smooth.
@031014, thanks for the kind words and support of the community
Just a few notes on some minor details in your post.
While that is often the case and unleashes the full power of the Particle ecosystem and makes the first encounter of it via Web IDE quick and easy, it’s not a prerequisite. All Particle devices can also be programmed and used completely offline.
Just a note of caution: Unclaiming an already correctly claimed device does hardly ever (read never) cure a problem but usually only adds to the existing one - if such issues pop up frequently the reason is somewhere else and should be grabbed by the root.
Good to know you have found a solution that works for you
However, the library manager of Particle Desktop IDE (aka Dev) works quite well, but there are still some issues with the copy library feature causing the building process also try build library examples when you only want your project built (solution: remove the examples folder from the copied library folder).
@Jason_WI, I dare to say one big asset for the Particle ecosystem and tool park is this very community. We are there to help, but as I see you haven’t really used this powerful “tool” very much since you joined.
If you came to us early in the process, we might have been able to prevent the frustration you were feeling build up over the past months from culminating to the point of “explosion”
But better late then never
BTW, I’m mainly using Web IDE and CLI - I only ever use Dev to reproduce issues members have with it
Also note: Particle is working hard on a revamp of its IDEs - but it’s a long going process, so don’t hold your breath. For the time being good alternatives are available too (e.g. Visual Studio, Visual Studio Code, Eclipse, …).
Yeah, @Rftop’s got the right idea here. You can test out library files using the (+) button in the build environment (upper right hand corner). Make sure that you format the #include statement correctly, I think for this case it would be #include "nameOfLibraryFile.h" without any subfolders or anything.
Sometimes the arduino libraries do require a bit of tweaking to work, but people on this forum are really helpful if you run into any roadblocks!
It is not just you. The tool flow can be frustrating.
To make it more fun, there are really 3 environments.
Web (which you should start with)
DEV (the gui that runs on your desktop)
CLI (command line interface, so you can use your own editors)
Opinion: None are particularly polished.
Due to include issues, the same code will not work on all 3.
DEV has basic things missing, like reporting syntax errors.
CLI has install issues. But at least it exists.
(It is possible the above have been fixed)