Can't get Tinker to work all the time

Sorry to add to the list of frustrated beginners but Photon brings out the worst in us. Back in September I asked for help and some was forthcoming but at a level that just led to hours and hours of frustration. I never did get text sent to Photon. Today I am trying to get Tinker working. I have it on my Samsung Galaxy S3 but try to get it to blink a LED forget it! The only way I have been able to send commands to the Photon was by flashing my Photon Redboard with Tinker the program in Particle Build. The Particle app on my cell then sent the commands OK. Go to another project on the Redboard and try to command it from the cell and even with reflashing Tinker no joy. The app shows yellow dot for my Photon and claims to be online but no tinker.
I must have gone terribly wrong somewhere. Photon can’t be this terrible.

Right, that's probably where the issue is. The phone app does nothing more than issue cloud function commands to predefined functions. Those functions have to be on the device in order for them to be called. If they're not on there, it's not going to work. The Tinker firmware has these functions exposed and is thus able to work with the app. Once you flash something else to it, thus overwriting the default Tinker, those functions are no longer there. The logical result then is that the Tinker app will not be able to communicate with it anymore.
Sounds like expected behaviour to me?

Thanks Moors. I’m glad my description made some sense. Now how do we fix the problem? I have not grasped what is going on yet. Flashing Tinker into the Photon makes the difference. But I assumed Tinker was to run on Particle in my cell phone - that somehow when a program was running on one of my Photons, that the cell program would always be ready to send an appropriate command. But tinker is not there so the buttons on the cell cannot be programmed and used. Is there a problem with the download and install of Particle on the cell? BTW Tinker is listed in my cell apps but when selected just displays a hardware list - my cell’s CPU, # of cores, Disk memory etc. Does this sound correct? Thanks again for your help.
Dave

To clear things up, I’ll try to word it simple

Image property of www . aliexpress . com/baby-shape-sorter_reviews.html

Tinker firmware and the Tinker Mobile App are just like the pieces of this toy.
Imagine the App is like the blue triangle and Tinker firmware is like the triangular hole.
If you try Tinker App with any other hole (firmware) you can try as long as you want to get into the device or if you try a incompatible App with the Tinker hole (firmware) you won’t succeede.

So the firmware and the remote side need to fit together.

In order to use Tinker App to talk to your own firmware, your firmware has to implement the same (triangular) interface (= exposed set of Particle.function()s).

I made a further discovery after my earlier response. My other Photon (Particle not Sparkfun) acts as it should. With a program running in the Photon, opening the Particle app in my cell phone gives me the expected green dot “Online” and the control of pins.
The problem it would seem is in the Sparkfun Redboard. I hope they can fix it.

There is nothing to fix. It works exactly like it should. The Tinker combination is meant as a demo. There are functions exposed in the firmware, and those same ones are hardcoded in the app. The app can thus only trigger the ones in the firmware that match those exactly.
The Tinker firmware on the device is just a piece of demo code like any other code you'd flash to it. As soon as you flash something else, it gets overwritten. The functions that the app is supposed to call are thus no longer available. Calling them will thus not work. That's how it's supposed to work. Unless you specifically add functions with the same name and behaviour as the Tinker firmware, the app will not be able to call them. There's nothing to fix.

If you'd like to be able to call different functions, you can try the page I made here. That will show you any exposed functions and variables on your device and allows you to call them.

4 Likes

Regardless of the board (Photon, RedBoard, Electron, etc), the cell phone app will only control pins of board flashed with the Tinker code. If you flash the boards with something that isn’t Tinker, the cell phone app will not be able to control those pins. The cell phone app will still show which devices are online, but it won’t be able to control the pins.

2 Likes