# Particle Device OS Updates: Comments

**URL:** <https://community.particle.io/t/particle-device-os-updates-comments/14379>\
**Category:** Firmware\
**Created:** [August 14, 2015, 12:10am UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379 "2015-08-14T00:10:09Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![mdma](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/mdma/32/1924_2.png) [@mdma](https://community.particle.io/u/mdma)\
**Post date:** [August 14, 2015, 12:10am UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/1 "2015-08-14T00:10:09Z")

</div>

This thread is for comments/questions about the firmware updates posted in the [Particle Device OS Update Thread](http://community.particle.io/t/particle-firmware-update-thread/14378).

---

<div class="post-metadata">

**Author:** ![Carsten4207](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/carsten4207/32/130_2.png) [@Carsten4207](https://community.particle.io/u/Carsten4207)\
**Post date:** [August 14, 2015, 1:18am UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/2 "2015-08-14T01:18:25Z")

</div>

Thank you for the update!

This might be a silly question, but I just want to confirm. On the Photon, if I flash 4.4.rcX via the CLI using this command:

particle flash deviceid system-part1-photon.bin  
particle flash deviceid system-part2-photon.bin

Then if I build my app via Particle Build (Web IDE), then the fixes in 4.4 still apply correct? Or does the WebIDE revert back to 4.1 until the WebIDE is updated to 4.4?

Thanks

---

<div class="post-metadata">

**Author:** ![mdma](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/mdma/32/1924_2.png) [@mdma](https://community.particle.io/u/mdma)\
**Post date:** [August 14, 2015, 1:24am UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/3 "2015-08-14T01:24:12Z")

</div>

Hi @Carsten4207! That’s a great question!

The vast majority of the fixes are in the system firmware so updating your photon with the new system binaries will bring in those fixes. Examples of these are I2C stability, TCPClient stability.

There are a handful of fixes that are in the application firmware part and these require rolling out 0.4.4 to Particle Build. (Examples of these are floating point “%f” support in `sprintf`, `WiFi.selectAntenna()` and Wire.setClock(CLOCK\_100KHZ`) All of these are compile-time issues (code using those features will presently not compile, but will compile once 0.4.4 is deployed to Build.)

The WebIDE will not revert your system firmware, so you’ll still have all the fixes in the system firmware even though your application code is compiled against 0.4.1. When 0.4.4 is released and you build an application against 0.4.4, the Cloud will upgrade your system firmware automatically over-the-air to 0.4.4 if it’s at an older version.

---

<div class="post-metadata">

**Author:** ![bpr](https://avatars.discourse-cdn.com/v4/letter/b/8797f3/32.png) [@bpr](https://community.particle.io/u/bpr)\
**Post date:** [August 14, 2015, 2:54am UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/4 "2015-08-14T02:54:13Z")

</div>

Wow! I’m not using i2c or tcp but nonetheless finding the new firmware vastly more robust on photon with publish/subscribe and waking from sleep to reconnect and publish (semi\_automatic). Also now recovers cloud connection nicely after being cut off from wifi (isolated in a microwave for awhile). Am I just seeing things that aren’t there or were those aspects also upgraded? Nice work!

---

<div class="post-metadata">

**Author:** ![Maarten\_CH](https://avatars.discourse-cdn.com/v4/letter/m/67e7ee/32.png) [@Maarten\_CH](https://community.particle.io/u/Maarten_CH)\
**Post date:** [August 14, 2015, 7:03am UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/5 "2015-08-14T07:03:09Z")

</div>

> [@mdma](#):
>
> When 0.4.4 is released and you build an application against 0.4.4, the Cloud will upgrade your system firmware automatically over-the-air to 0.4.4 if it's at an older version.

Does this mean that in the future the photons get automatic updates when we flash an application to it using the WebIDE? So no need to do the update using CLI "particle flash deviceid system-part1-photon.bin" and "particle flash deviceid system-part2-photon.bin" anymore? And will this also be available for the offline Particle dev?

I have a photon that runs fine for hours and then starts to blink white so I'm looking forward to try the new firmware!

---

<div class="post-metadata">

**Author:** ![nrobinson2000](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/nrobinson2000/32/15624_2.png) [@nrobinson2000](https://community.particle.io/u/nrobinson2000)\
**Post date:** [August 14, 2015, 10:24am UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/6 "2015-08-14T10:24:53Z")

</div>

Will this update fix the issues with using Spark.function, Spark.subscribe and attachInterrupt when used in a class? Or is that a future update?

> [@\[Solved\] How to register a C++ instance method with Spark.function?](https://community.particle.io/t/solved-how-to-register-a-c-instance-method-with-spark-function/13999):
>
> Hey guys! I have been using my Photons for day, and I have found a problem. My code will compile and flash, but whenever I call one of the cloud functions from my library the Photon crashes. I have included the tinker framework into my code, and it does not crash when one of its cloud functions is called. In the .cpp file, I had to write the cloud functions like this to make it want to compile. Spark.function("moveNeck", (int (\*)(String))&sparkbot::moveNeckCloud); Spark.function("moveRight"…

---

<div class="post-metadata">

**Author:** ![Moors7](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/moors7/32/588_2.png) [@Moors7](https://community.particle.io/u/Moors7)\
**Post date:** [August 14, 2015, 10:27am UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/7 "2015-08-14T10:27:41Z")

</div>

> [@Maarten\_CH](#):
>
> Does this mean that in the future the photons get automatic updates when we flash an application to it using the WebIDE? So no need to do the update using CLI "particle flash deviceid system-part1-photon.bin" and "particle flash deviceid system-part2-photon.bin" anymore?

Yup, that's the idea 😄

> [@Maarten\_CH](#):
>
> And will this also be available for the offline Particle dev?

That IDE isn't really 'offline'. It still compiles your apps in the cloud, and OTA flashing is also done over the cloud. That said, any OTA update through the cloud should initiate this upgrade procedure if I'm not mistaken.

---

<div class="post-metadata">

**Author:** ![Maarten\_CH](https://avatars.discourse-cdn.com/v4/letter/m/67e7ee/32.png) [@Maarten\_CH](https://community.particle.io/u/Maarten_CH)\
**Post date:** [August 14, 2015, 12:00pm UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/8 "2015-08-14T12:00:35Z")

</div>

> [@Moors7](#):
>
> That IDE isn't really 'offline'. It still compiles your apps in the cloud, and OTA flashing is also done over the cloud. That said, any OTA update through the cloud should initiate this upgrade procedure if I'm not mistaken.

That sounds good 😃

---

<div class="post-metadata">

**Author:** ![rvnash](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/rvnash/32/5574_2.png) [@rvnash](https://community.particle.io/u/rvnash)\
**Post date:** [August 14, 2015, 1:06pm UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/9 "2015-08-14T13:06:02Z")

</div>

Was the fix to the micros() function to use the full 32 bits before rolling over incorporated into 4.4? It is here: [https://github.com/spark/firmware/pull/493](https://github.com/spark/firmware/pull/493) It looks to me like the pull was accepted into the develop branch, but I’m not sure if that is the branch that the release is made from, so I’m asking.

If it was accepted into the release, there is part of the [documentation](https://docs.particle.io/reference/firmware/photon/#micros-) that describes the pre-fix behavior. Since the rollout of the new firmware will be gradual, there will be lots of people still running old firmware. Will the documentation then have to describe both behaviors? Will there be different versions of the documentation?

---

<div class="post-metadata">

**Author:** ![mdma](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/mdma/32/1924_2.png) [@mdma](https://community.particle.io/u/mdma)\
**Post date:** [August 14, 2015, 4:04pm UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/10 "2015-08-14T16:04:00Z")

</div>

I’ve made a PR to the docs that describes both pre and post 0.4.4 behaior. The release candidate rc.3 will be cut from develop later today.

---

<div class="post-metadata">

**Author:** ![edalquist](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/edalquist/32/5759_2.png) [@edalquist](https://community.particle.io/u/edalquist)\
**Post date:** [August 14, 2015, 5:33pm UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/11 "2015-08-14T17:33:22Z")

</div>

Do the TCPClient fixes address some of the issues brought up in the [long term connection stability](https://community.particle.io/t/long-term-photon-connection-stability/13925) thread? Or do those changes just affect direct usage of TCPClient?

---

<div class="post-metadata">

**Author:** ![LeoW](https://avatars.discourse-cdn.com/v4/letter/l/edb3f5/32.png) [@LeoW](https://community.particle.io/u/LeoW)\
**Post date:** [August 14, 2015, 5:52pm UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/12 "2015-08-14T17:52:20Z")

</div>

Hi there! Just wanted to make sure I’m doing this update correctly for compiling locally on the photon – will the firmware updates work if I just:

1. “git pull” from the most recent “develop” branch of spark/firmware
2. “cd” to “firmware/modules”
3. “make PLATFORM=photon clean all PARTICLE\_DEVELOP=1 program-dfu”

Just wondering since I did the above and the photon I’m testing with still re-enters listening mode if it didn’t connect to wifi after given credentials

---

<div class="post-metadata">

**Author:** ![jvanier](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/jvanier/32/5542_2.png) [@jvanier](https://community.particle.io/u/jvanier)\
**Post date:** [August 14, 2015, 6:46pm UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/13 "2015-08-14T18:46:32Z")

</div>

> [@nrobinson2000](#):
>
> Will this update fix the issues with using Spark.function, Spark.subscribe and attachInterrupt when used in a class? Or is that a future update?

[I just proposed a change to Particle for this](https://github.com/spark/firmware/pull/534), but they will need to review it. It will probably be available in the subsequent firmware release 0.4.5, not 0.4.4 due next week.

---

<div class="post-metadata">

**Author:** ![nrobinson2000](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/nrobinson2000/32/15624_2.png) [@nrobinson2000](https://community.particle.io/u/nrobinson2000)\
**Post date:** [August 14, 2015, 7:16pm UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/14 "2015-08-14T19:16:11Z")

</div>

Wow, what a good contribution. Thanks for proposing the change for me.

---

<div class="post-metadata">

**Author:** ![jvanier](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/jvanier/32/5542_2.png) [@jvanier](https://community.particle.io/u/jvanier)\
**Post date:** [August 14, 2015, 7:17pm UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/15 "2015-08-14T19:17:38Z")

</div>

You’re welcome @nrobinson2000! I want this for my own project too 😄

---

<div class="post-metadata">

**Author:** ![WebDust21](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/webdust21/32/6186_2.png) [@WebDust21](https://community.particle.io/u/WebDust21)\
**Post date:** [August 14, 2015, 8:46pm UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/16 "2015-08-14T20:46:35Z")

</div>

How about 0.4.0 for the Particle Core??? I think there are more Cores in the world than Photons at the current time…

---

<div class="post-metadata">

**Author:** ![mdma](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/mdma/32/1924_2.png) [@mdma](https://community.particle.io/u/mdma)\
**Post date:** [August 15, 2015, 1:49am UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/17 "2015-08-15T01:49:50Z")

</div>

We are working so hard on this! Would be very helpful if anyone that can build locally with a Core tests the develop branch on their Core and reports any issues. 😄

---

<div class="post-metadata">

**Author:** ![WebDust21](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/webdust21/32/6186_2.png) [@WebDust21](https://community.particle.io/u/WebDust21)\
**Post date:** [August 15, 2015, 2:03am UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/18 "2015-08-15T02:03:08Z")

</div>

@mdma: 'Tis a little harder when Cores aren’t being sold anymore 😉. Unfortunately, as I’ve mentioned elsewhere, I really can’t use the most recent DEVELOP, as the firmware is about 10K more in size…and I’m at redline with my software! I’d love to help with development testing, though.

At the moment, I have two issues with the (month-old) LATEST build. (Not sure if these issues have been fixed—I can’t use the most recent build.)

- `WiFi.ping()` doesn’t work at all. But if I use the Particle Dev IDE, `WiFi.ping()` works perfectly on exactly the same Core. I’m stymied by this one, as the firmware code wasn’t changed.

- `System.sleep(A5, RISING)` doesn’t work either. It puts the system into sleep alright, but with the pin held at 0v (1.8K resistor), it immediately wakes right back up again. FWIW, I’m using manual system mode.

- `TCPServer.stop()` seems that it might be working. Not 100% positive yet, though.

---

<div class="post-metadata">

**Author:** ![mdma](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/mdma/32/1924_2.png) [@mdma](https://community.particle.io/u/mdma)\
**Post date:** [August 15, 2015, 2:21am UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/19 "2015-08-15T02:21:42Z")

</div>

Thanks for these notes @WebDust21. We’ll certainly test these issues and endeavour to bring a fix!

---

<div class="post-metadata">

**Author:** ![WebDust21](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/webdust21/32/6186_2.png) [@WebDust21](https://community.particle.io/u/WebDust21)\
**Post date:** [August 15, 2015, 6:32pm UTC](https://community.particle.io/t/particle-device-os-updates-comments/14379/20 "2015-08-15T18:32:54Z")

</div>

@mdma: I spent a couple of hours hacking the latest DEVELOP into my build. I was able to merge EVERYTHING except for “module.mk” and “module-defaults.mk”, with minimal code size increase. Now I am technically running the most recent DEVELOP, and should be able to make up-to-date error reports on this thread. (I’m pretty much through with GitHub by now.)

Here’s my long-winded hack post…

> **[Particle Matter: Updates from Sprint 40](http://community.particle.io/t/particle-matter-updates-from-sprint-40/14137/6?u=webdust21)**
>
> @dave, after some bug frustrations, I decided to play around with the most recent DEVELOP branch. (Good luck trying to get me to do anything with GitHub--I can't even get the Git GUI to download the DEVELOP branch--all it does is download one third...

[Next page](https://community.particle.io/t/particle-device-os-updates-comments/14379.md?page=2)
