Experiencing various issues

Okay, I'm going to give this a shot from the top...

Do you mean you took the effort to make it compatible with the Particle ecosystem, or did you simply copy&paste it? Although the Particle products are promoted as being 'Arduino-compatible' that does not mean you can use stuff one on one. There is a lot of different hardware involved that requires a different approach. The 'code-compatible' part is due to the same language that's being used.

Most, if not all, libraries are contributed by the community. There isn't a governing power in place to check all of them. I'm pretty sure 'Arduino-land' has its fair share of malfunctioning libraries as well, so it wouldn't be fair to expect anything different from Particle. That's not to say we aren't trying to make sure that most libraries work as well as possible.

To put it bluntly:"guess what, it's not an Arduino". A bit more sophisticated: there's so much more going on on this board than your good old Arduino that you have to account for. Different hardware, Wifi, network connectivity, and so on. It's similar to Arduino, it is, however, not an Arduino, so please don't try to treat it as such. There are a lot of similarities, for sure, but also quite a few (important!) differences which you can't simply ignore.

I'd agree with you on the fact that it's not as fast as it used to be. This will be looked at in the (hopefully not too distant future). Updating firmware, and adding/removing firmware has never been an issue for me. Do you have any steps we can take to reproduce these issues so we could try to fix them?

That's a rather unhelpful statement. If you could tell us what isn't working, we might be able to help you out.

I can compile firmware with it, save it to my computer, and upload it to my devices, I'm not sure why yours wouldn't be able to do that.

If I'm not mistaken, that's being worked on. Currently, some other projects have priority, but I'm sure this will be addressed. Also, some background server rework is necessary in order to facilitate this.

No one is forcing you to use it. If you don't like the software they're providing, feel free to use your own toolchain. There are steps available which you can follow which will allow you to compile locally. Also, the Cloud isn't something you must use either, you're free to use the local cloud, or just use tcp/ip instead, should you have any obligations against that.

Rather than complaining about it, providing detailed information might help give us clues as to where things may have gone awry. Saying 'this doesn't work' won't help getting it to work. Rather, tell us what issues you're facing, and preferably a way so that we can reproduce them. If you find anything in need of improvement, do let us know what, and ways it can be improved, rather than:"this sucks".


That's like going to a car repair shop and saying:"my car doesn't work, but I'm sure it has something to to with the gasoline, so yeah, I didn't bring my car. Oh yeah, you'd better fix it!". It just doesn't work that way. I mean, feel free to not post it if you're certain your code is flawless, but then don't expect us to be able to help you out.

Okay, let's go crazy here, and try to imagine something, albeit it might be very unlikely. What if it is your code that's malfunctioning? Because if it weren't, we'd have a couple of thousand people with the exact same issues, which I personally haven't encountered yet. I could be wrong though, and you've got perfect code. But then again, it wouldn't hurt sharing that, does it? We might be able to learn a thing or two from it.

This is generally known as "whining for the hell of it". Going as far to say this platform 'sucks' because you happen not to like aspects of it seems a bit harsh.

If complaining is your main goal of being here, I wholeheartedly suggest you find an alternative means of getting rid of your frustrations. There'll be a conflict of interest otherwise. You see, our goal is to help people. Meaningless complaining isn't helping anyone, and doesn't contribute much more than a bad atmosphere. Again, If you've got issues with something, or see room for improvement, then let us know in a constructive way, rather than just bashing about it.
If you do have serious questions you require help with, then by all means, ask away, that's why we're here.


Yeah, if only this were an actual Arduino... but it isn't. And it's not as simple as just:"let me paste this stuff here, and BAM, MAGIC, it works!". There are hardware differences which are not to be underestimated, so please don't take them as lightly as you appear to do currently.

Well, if that's what you're going to compare against, try running it on your toaster, see if it'll run that. If it doesn't, it's probably the toasters fault? You can't just magically expect everything to work just because it did on an Arduino. Try running Windows on an Arduino, 'cause, you know, it works on my computer, so why wouldn't it work on an Arduino?

I wouldn't know, since you haven't given any steps to reproduce this. If you manage to do so, we might be able to fix this? Browser incompatibility springs to mind, but that's just a random guess. Without more details, there's little we can do.

Is it in listening mode (blinking blue), or have you got a Serial.begin() in your code somewhere? If not, than it's not surprising that it doesn't work, since no Serial connection is opened to begin with. Also, installing the drivers as per the docs shouldn't hurt either, although I doubt that's the cause.


I haven't yet had any issues with the forum whatsoever. Could it be that Chrome crashed for any other reason? Are you using an experimental version perhaps? Can you reproduce this, or was this a one-time thing?


In light of keeping this forum a nice place to be, I've changed your topic's title as well, since that didn't contribute anything meaningful. Please have a read through the above, if you haven't yet done so, and return with some to-the-point questions.

2 Likes

I for one really feel for the user. I am going through many of the same issues and I am coming from Spark. Trying to add a library in the web IDE causes it to essentially go unresponsive one you hit “Include in App”. I can’t get back to my code without a page refresh. Even still, all I get is undefined references during flash that are related to the lib (SparkIntervalTimer lib). In the Top 10 popular libs so I assume this has worked at some point. I am getting other times the IDE just goes unresponsive too. I’ve used it for about an hour with the Photon and encountered about 5 distinct bugs.

As for the Spark core, I spent about 2 months frigging around with it and came to the same conclusion this guy did. This platform is “half-baked” at best. I ended up giving up due to the large number of bugs on the Spark platform and this is certainly not my first time at the rodeo. I’ve been an Embedded Expert for decades. I switched from Web IDE to spark cmdline. I was really hoping the Photon would be better as this is the second time around but so far I can’t even get the Spark code I had to flash properly.

It may not be nice to hear someone put your platform down, but venting is part of working through these bugs.

1 Like

Exactly, @guru_florida
Thanks for providing your feedback also. I felt certain that I can't be the only one experiencing these issues.

It may not be nice to hear someone put your platform down, but venting is part of working through these bugs.

If these folks on the forum are that upset about the (fairly nice) things I've been saying they wouldn't last 10 seconds in my job when I was at eBay. The things people would say about us would make these boys cry!

Bottom line, the reason I'm still on the forum complaining is because I care. If I didn't I would have just stuck the fool thing in a drawer somewhere and forgot about it, I wonder how many people out there are doing exactly that?

I'm not saying you can't share your negative experiences on here, but if you do so, please try to include some way Particle can improve things. Saying:"the Web IDE sucks" doesn't give much information for example. "the long loading times make the Web IDE experience less pleasant" is not only a nicer way of saying things, but includes some actual information that can be used in a meaningful way. I get that it will take you a few more words to construct a sentence like that, but it's a lot more likely to be picked up in a positive way. Then it goes from:"these people are complaining" to "these people provide helpful critisism", which I'm sure you'll agree with, benefits both parties much better.

Knowing how unpleasant that can be, let's stick to this then:"Don't do unto others what you don't want others to do unto you", sounds fair?

If you come blasting in with:"why doesn't this #%$^*> thing work?", that'll start you off with a hand over the "delete topic" button before I've even read it. It's not that we don't want critisism on here, but we do prefer it to be constructive and useful. If you could keep that in mind for the future, then by all means, fire away. As long as no one lets us know something isn't working the way it should, particle won't know something is amiss, so your input is valuable, if formulated properly.

In regards to Core code not (yet) working on the photon: due to hardware differences between the two devices, some porting might be required. With the hardware abstraction layer coming up, this won't be necessary anymore with future products.
Some other features might also be required which are currently under active development. If I'm not mistaken, there'll be a fairly big update upcoming in the next couple of weeks which should help solve some of these issues.

1 Like

@jrubins,

thanks for all the feedback. I’m happy to help consolidate the high friction issues and work with Particle as a non-employee but active forum contributor together with the rest of the Elite members and help make things better.

Feel free to drop me a PM or add on to this thread and see how i can help.

  • I know the Web IDE library feature is WIP to make it better than before.
  • You can consider the Particle dev as a local software but only difference is that it compiles via the :cloud: unlike an Arduino IDE
  • This way you can add libraries files easily in a local directory.
  • DHT has a great library by @mtnscott so do try that.
  • As for the LCD that you are trying to interface, do you have a link? @peekay123 should be able to handle that and i can help :wink:

Thanks!

3 Likes

Do you mean you took the effort to make it compatible with the Particle ecosystem, or did you simply copy&paste it? Although the Particle products are promoted as being 'Arduino-compatible' that does not mean you can use stuff one on one. There is a lot of different hardware involved that requires a different approach. The 'code-compatible' part is due to the same language that's being used.

I copy & pasted the hell out of it. What else do I need to do to make it compatible? Use the different (for no obvious reason) syntax for importing libs? Tell the web IDE to import the lib, wait 5 minutes, then refresh the page, see if it's imported, tell it to import again, wait 5 minutes and refresh again? Because if that's what you mean, that's what I did.

Code is posted here: particle_dryer - Pastebin.com if there is something that I'm doing that would work for 'duino but not for Photon, let me know.

To put it bluntly:"guess what, it's not an Arduino".

Then don't sell it as "arduino compatible"!!!!!

A bit more sophisticated: there's so much more going on on this board than your good old Arduino that you have to account for. Different hardware, Wifi, network connectivity, and so on. It's similar to Arduino, it is, however, not an Arduino, so please don't try to treat it as such. There are a lot of similarities, for sure, but also quite a few (important!) differences which you can't simply ignore.

I don't care. If you sell a product that is arduino compatible, make it compatible. Make it transparent. The job of the Particle dev team is to abstract away that complexity. If I wanted to understand the ins and outs of Arm vs Atmel architecture development, then I'd buy fistfuls of chips for 1/10th the price of these microcontroller products. The whole reason these products exist is because guys like me don't want that complexity, but are perfectly happy to write a little C++. If I have to learn that complexity, your community will never grow from 5k users to the 300k users that Arduino has despite being "superior" in hardware, features, and price.

I'd agree with you on the fact that it's not as fast as it used to be. This will be looked at in the (hopefully not too distant future). Updating firmware, and adding/removing firmware has never been an issue for me. Do you have any steps we can take to reproduce these issues so we could try to fix them?

Take a look at @guru_florida's reply below, he gives a good sense of the problem. I'll try to do a screen cap tonight if I can.
Basically, any time I try to import a library to an app, it has a 50/50 shot of just freezing, then .... nothing ... then after 5 minutes I'll refresh, and sometimes see the library imported to the app, sometimes not. I'm using the adafruit_rgblcd lib and the piettech_dht lib, both libs do that.
Regarding the libs that don't work, the adafruit_dht lib worked fine on one app, but not on another. Why? There was no reason given, other than some-function-or-other is "private" (it's not).

That wouldn't be so bad, if I could use the local IDE, but that thing doesn't work at all.

That's a rather unhelpful statement. If you could tell us what isn't working, we might be able to help you out.

It doesn't have any useful functionality. Does that make the point clearer? I can't flash the Photon. I can't upload to the web, I can't download from the web. It doesn't even save files locally (as far as I can tell). Basically, it's just a text editor with a serial monitor, which I have one of - sublime - already. I don't see the point of it, since I can't flash firmware from it, and would rather have seen that engineering effort go into making the web IDE work, since that does seem to be able to flash the Photon (most of the time).
I'm on OSX Yosemite on a brand new Macbook pro, if that makes any difference.

No one is forcing you to use it. If you don't like the software they're providing, feel free to use your own toolchain. There are steps available which you can follow which will allow you to compile locally. Also, the Cloud isn't something you must use either, you're free to use the local cloud, or just use tcp/ip instead, should you have any obligations against that.

Once again, if the proprietors of this project want to see it grow, that is not an acceptable solution. Give me a single toolchain that works, and if I want something different because that's accessible, then fine. I don't want to learn TCP/IP just to program a microcontroller. No one else does either.

Rather than complaining about it, providing detailed information might help give us clues as to where things may have gone awry. Saying 'this doesn't work' won't help getting it to work. Rather, tell us what issues you're facing, and preferably a way so that we can reproduce them. If you find anything in need of improvement, do let us know what, and ways it can be improved, rather than:"this sucks".

I've detailed many things that "need improvement". So far, no one has said, "you're right, we'll fix it". Neither have any of the responses pointed to specific issues in my code or approach. Most of the responses I've seen seem to be blaming the user. Perfectly acceptable attitude if you don't like growing your userbase. Not my decision to make, though.

Okay, let's go crazy here, and try to imagine something, albeit it might be very unlikely. What if it is your code that's malfunctioning?

If it is my code, then why does it compile? Why does it flash? If it is my code then it's still Particle's issue because it isn't catching the problems and is allowing me to flash the firmware.

Because if it weren't, we'd have a couple of thousand people with the exact same issues, which I personally haven't encountered yet. I could be wrong though, and you've got perfect code. But then again, it wouldn't hurt sharing that, does it? We might be able to learn a thing or two from it.

This is exactly the wrong attitude to take. Because most (and I mean 90+%) of users will just throw a problem product in a drawer somewhere and you will never ever hear from them again. No one will bother writing you a "dear John" letter to let you know they've abandoned your platform and gone back to Arduino or just switched to RasPi. People don't bother.

I'll regale you with an anecdote to illustrate:
I recently (2 months ago) bought a pair of glasses from Lookmatic. I bought my previous glasses from them and they look nice and have good quality lenses. They were having a sale, so I thought "why not" and bought a pair using my stored prescription. The specs came, but the prescription wasn't right. So I wrote the CS team an email and sent them back. Got the replacement pair in the mail, and guess what -- still wrong! Know what I've done about it? Not a damn thing! Know why? Because I can't be bothered.
And that was for a $75 set of specs, so imagine what most people thing about a $15 microcontroller. They don't. If it doesn't work, it goes in the bin.

The point is that when you hear from someone like me -- someone who cares just enough to be grumpy and tell you about, it's the tip of the iceberg.

I can promise that I don't have perfect code, but it should at least run. It shouldn't have any effect on whether the Photon initializes after a reset.

This is generally known as "whining for the hell of it". Going as far to say this platform 'sucks' because you happen not to like aspects of it seems a bit harsh.

Not liking it and it not working are 2 different things. There are lots of things that I dislike about 'duino and RasPi, but I love those platforms, because they work. Functionality may be minimal, but at least it does what it says on the tin.

If complaining is your main goal of being here, I wholeheartedly suggest you find an alternative means of getting rid of your frustrations. There'll be a conflict of interest otherwise. You see, our goal is to help people. Meaningless complaining isn't helping anyone, and doesn't contribute much more than a bad atmosphere. Again, If you've got issues with something, or see room for improvement, then let us know in a constructive way, rather than just bashing about it.
If you do have serious questions you require help with, then by all means, ask away, that's why we're here.

If this minimal complaining along with lots of helpful feedback has you butthurt, then you need to find a different line of work that working with the public.

Well, if that's what you're going to compare against, try running it on your toaster, see if it'll run that. If it doesn't, it's probably the toasters fault? You can't just magically expect everything to work just because it did on an Arduino. Try running Windows on an Arduino, 'cause, you know, it works on my computer, so why wouldn't it work on an Arduino?

My toaster isn't "arduino compatible" ...

I wouldn't know, since you haven't given any steps to reproduce this. If you manage to do so, we might be able to fix this? Browser incompatibility springs to mind, but that's just a random guess. Without more details, there's little we can do.

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36

Is it in listening mode (blinking blue), or have you got a Serial.begin() in your code somewhere? If not, than it's not surprising that it doesn't work, since no Serial connection is opened to begin with. Also, installing the drivers as per the docs shouldn't hurt either, although I doubt that's the cause.

Code was posted before your reply, so if you really think I don't have "Serial.begin()" in the code, you could at least check.

I haven't yet had any issues with the forum whatsoever. Could it be that Chrome crashed for any other reason? Are you using an experimental version perhaps? Can you reproduce this, or was this a one-time thing?

That was a joke. Chrome crashed when I tried to upload an image. Happens from time-to-time. I keep using it though, because in spite of a few bugs it adds value to my life. Something to ponder.

In light of keeping this forum a nice place to be, I've changed your topic's title as well, since that didn't contribute anything meaningful. Please have a read through the above, if you haven't yet done so, and return with some to-the-point questions.

I'd really rather you didn't. I didn't include any swear words, and the title was attention grabbing. Now it's boring and looks like any other thread. Please change it back.

I get that you are trying to be helpful, but really the majority of your responses are just defensive. I'm not kicking your puppy, I'm telling you about my experience, trying to see if anyone else has the same problems (they do), and perhaps trying to get some assistance if I have screwed something up (which is entirely possible). You've neutered my ability to do the first two and haven't helped with the last one.

Thanks,
JR

Thanks @kennethlimcp
I’m using


and a port of this lib: https://github.com/adafruit/Adafruit-RGB-LCD-Shield-Library
by @mumblepins : https://github.com/mumblepins/Adafruit_RGBLCDShield
discussed in this thread:
Having some trouble getting code to compile

The problem I have with Particle Dev is that it doesn’t seem to work at all
Here’s what happens when I try to “compile and upload”

I can’t seem to get libraries added to code at all through Particle Dev.

RE: DHT lib, the piettech lib seems to work, so I’m okay with that. Why the adafruit_dht lib works for some apps and not for others seems like a Particle issue.

Here’s a screencap video of the balkiness removing a library. I don’t always get this problem, or the problem when adding libraries, but this should give you some idea.

I also got a screencap of a 500 error, but that’s not a very enlightening video.
It happens just enough to be really irritating, particularly when I can’t flash from the local IDE.

Finally – while I’m griping – why does Photon require a different format to import libs that Arduino. That’s just nuts considering all your libraries are in one place. Build.particle should be able to just know the difference between “import <blah.h>” and import “blah/blah.h”

Little stuff like that just adds up, too.

I must admit it is bad form on the part of Particle to claim Arduino Compatibility. The Spark and the Photon are certainly not Arduino compatible. Sure, they share some library API similarities, and they both use the setup() loop() paradigm, but hardware wise they are very different.

I would suggest just accepting the fact that you have a product that is not Arduino compatible. After you accept that, you can then learn what a really cool piece of hardware you do have, and start learning how to make use of it.

So, just looking at the problems with the display and ignoring everything else :-P, you might want to take a look at this thread which talks about I2c and lcd displays. I only skimmed it I’ll admit, but it sounds like some of the problems result from the lower voltage that the particle operates at.

I would suggest just accepting the fact that you have a product that is not Arduino compatible. After you accept that, you can then learn what a really cool piece of hardware you do have, and start learning how to make use of it.

I hear ya, but if I can't use arduino libraries (which are legion), then the functionality of the Photon platform is ... greatly diminished.

Interesting. So the issue that @BulldogLowell was having is that the liquidcrystal_i2c lib he was using doesn’t have a delay built in. Neither does the adafruit lib.
I figured I’d try to use his example from his lib, then maybe we could include the delays in the adafruit port. However, I get this problem

I give up. I’m having a scotch, listening to Kurt Vile and going to bed. I’m too old for this…

Hi, all, Christine here.

First of all, thank you to everyone for your contributions to this thread. It’s very frustrating to need to troubleshoot, it’s very difficult to help someone troubleshoot online, and it is wonderful that everyone is trying so hard.

@jrubins, thanks for making this thread. As a Particle employee, I really appreciate getting this kind of feedback that I can pass on to the team. We want to make your experience better. Having someone vocally identify these kinds of problems is really important to us, and in many ways it is what the forum is for. The fact that you are willing to troubleshoot with the wonderful Elites (volunteer moderators of the Particle Community), is also great. We do want to fix the big problems you’re identifying. In the meantime, they’re here to help you get going.

I agree that the experience in the IDE is far from perfect. We are working on this now and I’ve talked a lot with @suda (who built Particle Dev) and @dave (veteran Particle Software Engineer) about what we can do to improve both the local and online build experiences. One thing we want to do is make your code available between the online and build environment. We also plan to make the library experience better, and we want to make the whole online build faster as a whole. As someone who flashed and debugged multiple Cores today at a family hack day, I can agree that load speed and easier library use would go a long way to improving user experience.

@guru_florida if the IDE is becoming unresponsive when you add a library, that is extremely disconcerting. I’ll get someone on that first thing Monday.

@rvnash and @jrubins bring up a good point about Arduino compatibility. I’ll bring that to people for messaging for the future. Please let me know if you see that anywhere other than the old Kickstarter campaign.

To everyone who contributed here, there are good thoughts all around. @Moors7 is right that the community is typically very focused on problem solving. I do agree that negative user experiences are crucial for Particle to hear, even if they come in the form of venting. However, the forums-- particularly the troubleshooting category-- respond most quickly to people who are very specific with their questions and looking for equally specific answers. I want you to get the quick answers you need to get your stuff working while we at Particle are able to work on the big problems you’ve correctly identified. Therefore, for feedback/venting, I encourage everyone to PM me or one of the other Particle employees on the forums (@dave, @kmmonk, @corey, @jonlogan to name a few) with things that we could fix. Title it “Feedback for Particle” and let us know what’s going on. That way you get to vent, we get to hear it, and the wonderful solution-oriented Particle community members like @kennethlimcp, @ScruffR, @Moors7, and @mumblepins can feel good getting you on your feet in the meantime with more specific q&a.

@jrubins, I am glad you are going to go have a scotch because it seems like this experience has been really frustrating for you. I hope after a good Lagavulin and some rest you might feel less frustrated. If after that, you’d like to keep at it, some of the best Core Whisperers are on this thread and also available over PM. If you’ve had a really tough time of it though and have no interest in continuing, let me know through PM and I’ll see what we can do about a refund.

5 Likes

@jrubins: I’ll raise a glass of whiskey to your scotch!

I too have not been without my fair share of issues with the Photon. I’ve been hacking with my trusty ol’ Spark Cores while I wait for the motivation to start troubleshooting my Photon.

I’m not as microcontrollery-technical as many of the other elites, but maybe I can offer some help!

  • Piette DHT library vs Adafruit DHT library: I think this all comes down to timing and blocking code. In particular, the Photon and Core need to sync up with the cloud every now and then (something like every 15 to 20 seconds). If they can’t or things are blocked and delayed too much, the device isn’t going to be happy. Also, when the device does its cloud check-in, it can cause delays in other timing-sensitive code. Those two reasons are at least part of the problem why the Adafruit library didn’t work out well in the first place.
  • Difficulties with local Particle Dev IDE: One suggestion I can offer (if you haven’t already tried it yourself), is to make sure all of your project is contained within a directory (and not just an .ino file on your desktop or something). Try to clean out any cruft that’s not directly related to compiling and/or put it in a particle.ignore file.
  • Web IDE Difficulties: I’ve grown a little frustrated with the response times and switched to another IDE (Cloud9 – I did a write-up about it in another thread). I think the problem there is it just hasn’t scaled well and hasn’t had the attention that it needed. A lot of things have changed since the web IDE was scoped and launched, and it’s a complicated system to update. I heard within the physical confines of Particle HQ (note that I live some 2,500 miles away) that the web IDE is on the radar, but I don’t know the priority off the top of my head.

If you can, give the Particle CLI another shake with a different editor (such as Sublime that you mentioned). Since you’re on a Mac, try out some of the shell scripts from my Cloud9 thread mentioned earlier. Hopefully that will take some of the IDE edge off. Also, I am living proof that you can compile a sketch with no errors or warnings and lock up a Core/Photon. Infinite loops and buffer overflows are tough for compilers to catch! :wink:

The firmware update for the Photon that someone mentioned above is supposed to address some bugs that I think are giving me grief with my Photon. I’ve shelved my Photon until that update hits production. Then I’ll start threatening my Photon with a hammer if I still have issues out of it.

As unbiased as I’ve tried to make this post, I do want to “defend” the Particle team. They are a truly exceptional group of people. They are a passionate, smart, and dedicated team, all of which left me feeling like I made a whole new group of BFFs in just a few days. Feedback like yours is taken very seriously, and it is a matter of personal pride for everyone to get it resolved as quickly as possible. The Photon is still a very new product with some pretty drastic changes from the original Spark Core, so there are bugs that are cropping up that never reared their ugly heads in development. Being a 20-year veteran of software development, I now this feeling all too well. We (speaking for all developers) just need to “own” our mistakes, acknowledge them, and fix them in a reasonable manner. There are always other forces at play like the bigger picture and business priorities that will get in the way.

I appreciate reading this polite feedback, even if it took some “discourse” to drill down to some of the issues. If some of the suggestions in this post or the posts prior don’t fix your issues, keep an eye out for that new firmware release. If that doesn’t improve things, hit @christine up for that refund. My personal belief is that it will work itself out in the next few weeks, and you may be glad you held on!

4 Likes

Wow @jrubins, that thread grew a bit :wink:
Sorry for not getting back earlier, but my points were addressed already, so I’d like do what @Christine mentioned what Elites like to do most - help solve problems and give tips how to get round things.

Although it might not help directly, some things to try, if you still can be bothered:

  • If you don’t need cloud support, try SYSTEM_MODE(MANUAL)
  • For your buttons (it is frustrating when they don’t respond) try using interrupts for them
  • Power/voltage might be an issue, try beefier power supply and maybe level shifters where needed.

Another person noted the issues with the I2C library for LiquidCrystal on my repo, It is likely an issue related to only the Photon. I haven't received my Photons yet (thought they are in the mail) so I will be able to look at that sometime later this week, I am hoping.

as a side note... I too, having a pretty comfortable background in Arduino, expected that the Particle platform to would be more "Arduino-like" that\n it is. After spending about 10 months working with it, I can say that I'd rather have all of the built-in awesomeness of a Particle (and I've learned a lot too). At this point (and Particle team please take this the right way) I just cannot get my hands on enough of them to do all of the new projects I want to do!!! So please stick with it... the community is great and can help you.

2 Likes

Wow, thanks all of you for the considered responses, @christine, @wgbartley, @ScruffR, @BulldogLowell

I appreciate that you are taking these issues seriously.
If I can provide overall feedback to the Particle team:
This is a great product, but it seems to be hamstrung by its differences with the Arduino platform. If you want to see the Particle platform grow to the size of the arduino platform, piggyback on what they’ve done as much as you possibly can. Make it so that porting libs is easy and 100% compatible. Make it so I can copy/paste code. If the Photon is “an arduino with wifi and extra features for 1/2 the price” then you will have a real giant killer on your hands. Even if it were the same price or more expensive it would be able to get a huge DIY following. The advantage of the lower price is a realistic path from prototype to production with a single device.

Second, if the Web IDE is not the best way to do things, then tell me (in the docs) the best way to get firmware to the Photon. I’m happy as a pig to upload firmware via a usb cable, wifi flashing is a “gravy” feature IMHO, but it seems to be the focus of all the documentation. I’ll definitely spend some time investigating the other approaches like cloud9. Because the web IDE is the focal point of the documentation, I assume that it’s the best way to get ones and zeros from laptop to Photon. If it’s not, I’m all ears.

Third, I’m sure that the Particle Dev team are awesome people. They made a great product, and I want to see it succeed. It seemed that some folks on the forum were not particularly concerned with being helpful or even contributing meaningfully to the conversation (gripe-fest). It seems that those posts have vanished now, though… maybe it was all a dream :wink:

3 Likes

okay, specific issues now:
I got the CLI installed this morning. Particle Dev still won’t flash via the cloud :frowning:
I can flash via the CLI, which is great, and I’ve got sublime talking to the photon via sublimeREPL
Next step, take @mumblepins port of the adafruit library and add a few delays to the wire.somethingorother calls.
Any advice on including libraries when flashing from the CLI? Does the lib file just go into the same file as the code?

Thanks again,
JR

1 Like

For your error in the screenshot (in post #22) try to add this in your LiquidCrystal_I2C_Spark.h (and maybe .cpp)

#ifdef PLATFORM_ID
#include "i2c_hal.h"
#endif

As for your other question

I usually do it that way and put all the required library files in just one flat folder alongside my main program .ino (I use INO rather than CPP to quickly find the main program ;-)).
The thing you may have to watch then is, that examples from Particle Build (Web IDE) do have their includes like #include "LibraryName/LibraryName.h" and this would need to be changed into #include "LibraryName.h".
Not nice, but also on the ToDos.


A forum search for CLOCK_SPEED_ came up with some topics regarding this issue.
It is a temporary problem, till fw v0.4.2 hits the cloud build world, which should have happened earlier, but due to unexpected circumstances got pushed and pushed back.

As tricky it sometimes is, to find the best search term to give you the desired results, it often proves worth to spend a few extra minutes to search to save you a lot of frustration.

(Un)Fortunately the Photon has arrived in some peoples hands quicker than expected (while others are still waiting eagerly - we feel with them :weary:), while the firmware was not entirely in its "ready-for-everybody" state.
But behind the scenes ingenious people (like Mat McGowan) are working their heads off to iron things out.

2 Likes

Here's a screenshot of how I organize my project directories:

I use the online IDE (build.particle.io) to browse for the library I want, click on the GitHub link, and clone the repository into my project directory. The Particle CLI uploads all of these files as a "flat" directory, so you'll reference them in your main sketch "flatly" (#include "neopixel.h").

To flash, I use deploy.sh (pasted below) which includes all the requisite files that I usually want, minus stuff in any examples directories. I save the target device ID in a file named device_id. That way I can use cat device_id and only have to change the device ID in one place instead of updating each script in a project directory.

Like @ScruffR, I use the .ino file extension to help my main sketch to stand out a little. :wink:

#!/bin/bash

DEVICE_ID=$(cat device_id)
particle flash $DEVICE_ID `find . -type f -iname *.ino -or -iname *.h -or -iname *.c* -not -iname *.csv -not -ipath */examples/*`
2 Likes