Learning Curve is so steep, to level it, you need to invest lost of efforts

Just to address the IDE discussion.

These points are valid but Particle is aware of it and has promised a major overhaul of all IDEs and especially the lib support once they got the Electron out and gain back free man-power currently focusing on this task.

If the library is for personal use only, and perhaps for only a specific project, then you can add it directly using the little '+' button in the top right corner. That'll give you a new .h and .cpp file in which to place your library.

I'll admit it isn't as smooth as it should be, and I too would like to see it a whole lot smoother, but that's something that'll be worked on in the, hopefully not too distant, future.

As for Particle Dev, although it might not be where it should be yet, I find the library system the least of its problems. The fact that you have to copy it to the same folder does make sense to me, even though a 'centralised' place wouldn't be bad. Again, I'm not saying there aren't improvements, but they are ones Particle is aware of, and which should be remedied soon.
That said... Particle is not in the business of making IDEs, and there are entire companies focused on doing that, and only that. They've got years of expertise and many more developers working on their IDEs, whereas Particle has one, if I'm not mistaken. There are only so many things that can be done at any given time, and with the electron coming up shortly, that has had priority. Once that is out, more resources should be available to spend on fixing up the holes that have been left behind. One of those is the development environment.
If that still isn't satisfactory, you could always install one of the 'giants' IDEs', and set up your own tool chain. There are instructions available for doing that with Netbeans, which allows you to compile locally. That gives you all the benefits of a professional IDE, along with the flexibility of being able to edit even the system firmware, if that's something you're into.

1 Like

I'd like to clear up a few things about your complaints.

This is common is other development environments like Web Development... anything with a package/library management platform. But as @Moors7 said, if it's for personal or project use only. Just use the + to add the files.

Simply not true. Take a look at My Project. I compile that in Particle Dev without modification. The key is knowing that the file structure gets flattened, not that it needs to be flat from the start. That means that #include statements don't need the subfolder name, simply the file name.

4 Likes

I appreciate the pointer to the + symbol, but it's impractical for libraries with a large number of source files like the two I stated in my first post.

Ah! This is very useful information that is not stated in the docs (as far as I can tell). It's still not ideal, but it's much friendlier than putting all files in the same directory. Thank you for pointing it out. I've already reconfigured my project.

1 Like

You're absolutely right. It is not practical, but it will be worked on and hopefully fixed once the Electron is deployed. :smile:

Again, you're absolutely right. It is not documented, and is not quite ideal. But it does lend some structure to your files. I have made it a personal goal on the forums to educate people of this as I can't imagine trying to build a project with all my files hanging out in one folder. shudders

3 Likes

Whaaa? Why didn't I know this before? If I had, I probably would have refactored my Github repo and turned my BlinkyEyes code into a library a couple of months ago!

Thanks for the heads-up on that.

2 Likes

I’m brand new to Arduino and Photon, but I have both. From what I have learned by using the Photon, it is more useful than the Arduino for the price and provides opportunity to develop a system I can control over the internet. This is exciting and useful! I don’t have the experience of using and storing many libraries yet but I am struggling to learn everything… but it’s fun! A particle video on Publish and Dashboard helped me advance the most. Particle; please add more videos to the documents! I could use a video showing a simple start to finish webpage interface for PC and Android/iPhones (perhaps using a DHT22, or relay) to read, change and display results. That would certainly advance my understanding considerably. Thanks for a great product. By the way,I just purchased a 2nd Photon so I can get them talking to each other…can’t wait to experiment.

3 Likes

I’ve not found there to be much of a learning curve at all using Particle. I have found the hardware fragile though. I have one board that doesn’t boot up anymore and another that the SPI bus stopped working. I’m unlikely to put much more time and effort into it because of that.

@PeteStewardson, if you shared your difficulties with the Community we would gladly help you. Most boot problems are solvable though the SPI bus that stopped working is perplexing. The Photon hardware is no more sensitive than any 3.3v system and I have yet to have issues with hardware beyond the ones I created. :wink:

3 Likes

I have shelved my 2 photon’s and dumped my older Core. The core was put away working, but during a firmware update over the air, it must have croaked. I agree with the author, they can be daunting. I spent the better part of 2 days trying to get my Core working, and in the end, I find my time is worth more than the $30 i spent at the kickstarter.

One of my other pet annoyances with these devices, is if you are no longer within WiFi range, they stop working. That to me is useless. I wanted to put one of the spark’s in my motorbike for manipulation of the brakes and blinkers, automation as such. Unless I plan on staying in the garage, they can’t be used. Not to mention how flaming irritating it is to try and get a library working (Freetronics DMD 32x16 anyone?)

I have gone back to using the arduino IDE and Arduino Nano boards because of my experiences, and the simplicity of the libraries.

The Photon and Core DO work without wifi. This is a common misconception that is easily remedied by reading the docs, searching the forums or posting in the forums. I will say I find it vexing that your time is too valuable to do any of those things but not valuable enough to keep you from visiting the forums of a product you don’t use…
As to “croaking” or fragile hardware, unless you physically burnt up the board I highly doubt it is anything that can’t be corrected with some focused research or a forum post coupled with a true desire to apply a fix.

From the complaints I see a lot of misunderstanding and annoyances being held up as death blows. Everyone is entitled to their opinion about the annoyances but one should always do the research before stating “facts”, something lacking in nearly every post that is a statement of “this is too hard”.

4 Likes

The “croaked” spark core was stuck on the magenta flash, and from the amount of posts about it I would say there was a problem. There was nothing in the documentation about that particular problem, and the inability for me to want install Linux on my Windows 10 machine to remedy that is I guess my fault (I had posted in the forums, thanks). However, I put it away in it’s box working and when I went to use it again it didn’t want to go. That is hardly my fault. Anyway, I don’t care, it’s only a $30 toy and was flashing magenta the day I tossed it out. I wouldn’t say the hardware was fragile by any means.

The wifi limitation must have been fixed, yay. I apologize but I didn’t see the memo. When I tried it with my Spark core, you could load a code to it, (LCD shield) take it up the road and the LCD would stop and the Core would reboot and start looking for wifi again. It might just be time to play with the photon’s again.

Magenta flashing indicates a firmware/system update of sorts. They shouldn't trigger on their own, so is there any possibility you did anything other than just turning it on? Have you tried a factory reset to see if than helps (it most always does)?

Hate to say it, but this is one of those made up things that cause more harm that it helps solve. Where exactly did you get the notion from that you need Linux? I've gotten things to work nicely on windows 7, 8, 8.1, and 10, using various versions of software (node.js, CLI, etc.). Saying things like "I don't want to install Linux, therefor it doesn't work" without anything to back up why you'd need Linux, is not helping anyone.

I've seen that post, and noted you stopped responding to suggestions. There's very little we can do to help in that case.

It has been for a rather long time, really. http://blog.particle.io/2014/08/06/control-the-connection/
If you don't like reading the blog (which is perfectly okay), perhaps you should try the docs: https://docs.particle.io/reference/firmware/core/#system-modes
Or the forums: New feature: control your connection!
Or the FAQ: https://docs.particle.io/support/troubleshooting/mode-switching/core/
...

That's expected behavior for a single threaded application that is dependent of WiFi, wouldn't you think? It (very roughly) looks like this in the background.

Main(){
  process_cloud_stuff(); //this needs internet, obviously.
  run_user_code();
}

If it doesn't have a connection, how is it going to handle the cloud stuff? If you don't tell it what to do, in this case, it'll try to connect, which I think is more than reasonable...


We can go on like this for another while, but perhaps you'd like to get your Core working again? If you're willing to give it another shot, I think it's doable.

2 Likes

Thanks Moors7,

I stopped responding to suggestions in that thread because I hit the annoyed/frustrated wall, since I could use the Command Line Interface (CLI) to add the SSID and password to the unit, but it would not respond with the firmware load, so I cut my losses and threw it in the bin, she’s never gonna work again at the bottom of the trash heap, haha. No biggie, I was agreeing with the OP about it can be a steep learning curve, despite being mostly arduino code.

Taking a look at the new and improved documentation now, much better! Honestly, I had great expectations with my kickstarter support, and the documentation (at that stage) let it down. Some people (myself included) aren’t comfortable asking for help in forums in fear of being ridiculed, because we aren’t at the elite level of particle fluency. Documentation doesn’t scald, and when it contains examples, it gives you something to work with. Hence why I went back to the Arduino for so long, their documentation and example code/wiring is an awesome learning tool.

It's a key cornerstone of this community to not tolerate the uncivilized behaviors you might have experienced elsewhere. The community FAQ lays out how everyone is expected to behave here.

So I hope you will feel free to ask the questions you need answers to without fear of ridicule or other inappropriate backlash to honest requests for help.

2 Likes

Yeah, I can't but agree with @mdma here. This is one of the nicest communities I've ever encountered. Most, if not all, people are often very helpful. Unruly, or inappropriate behavior has not, and will not, be tolerated. Treating people nicely gets you further than any rage-induced ridicule.
That said, I can imagine people getting frustrated with some really obvious "you haven't even bothered to check the docs" type of questions. Luckily, they're most always nice enough to point you to where you should be looking. If they give you a subtle RTFM, you should've probably done so already :wink:
Although I personally try to ask as few questions as possible, that is one of the reasons why this community exists. If you've got questions, then do ask them. Worst case scenario, you get pointed to something you should read.

I might have an 'elite' badge, but more often than not, I find answers to peoples questions by searching the docs and/or forums. They both contain a wealth of information, and it mostly comes down to making an effort to find something.

5 Likes

I too, must disagree. I just started getting involved in this IoT world and started with the Photon, and after running through some basic examples and setting them up I feel quite confident with it now. Of course I always have the reference page open when I’m working on one but once you wrap your head around the basic structures of the code and the syntax, it’s not too bad at all really. I’ve never done any C programming so I always seem to miss a semi-colon somewhere… :laughing:

Stick with it, you’ll get it. The Photon is so cool, I love it.

2 Likes

Have to thumbs up on the community comment, especially shouts out to @peekay123 and @ScruffR, those guys always seem to answer my questions. Do you guys ever sleep?

4 Likes

We take it in turns - one of us is always on the watch :eyes: :sunglasses:

4 Likes

@ScruffR is actually a cyborg and never sleeps. He’s also got advanced AI and solves the toughest problems :monkey_face:

2 Likes