Unleashed App doesn't cancel the "shutterbutton pressed" action when photo cannot be taken by the camera

We tested as good as we can. But there will always be things we didn't find. If you found things that apparently don't work as they should, you can report them here so we can take care of them as soon as possible.
Unfoolishly
Posts: 293
Joined: June 24th, 2020, 2:43 am

October 10th, 2020, 11:56 pm

Hi all,

Today I discovered a bug in the Unleashed App when trying to take a photo using the App but with the lens-cap still on. I know, a bit silly of me, but it happened.
But what I did not expect is that the App got "disrupted" by pressing the "shutter button" in the App and not reset itself after a while.
The shutterbutton in the App remained pressed, while the camera was trying to take a photo. But the camera could not take a photo because the lens-cap was still on. After removing the lens-cap, the camera did not make a photo, nor did the App return back to "normal", as if the button was never pressed. The button remained "pressed" in the UI/UX and the App began to do some strange things, like not working the way you would expect. I turned off and on the camera, but that did not restore the Unleashed App back into the state of an "unpressed shutterbutton". Somehow, the App begon to disfunction.
I would expect that if such erroneous situation occurs, the Unleashed hardware and Unleashed App sync back-and-forth to keep in line with the desired behavior. But it did not.
I had to close the Unleashed App, pull out the battery and push it back in to restore everything to normal again.

I think the problem is in the Unleashed App (on Android), and maybe a bit in the firmware of the Unleashed itself?). This is a usecase that can happen to all of us, including me. So I would assume that the App somehow restores itself to normal again (as if the button pressed never occurred) when the Unleashed cannot take the photo and the "pressed in" button in the App is released/reset after a predefined amount of time. Otherwise the command will linger in the App and disrupts the normal operation of the camera.

That is all I have encountered today.

Request: auto recovery of shutter button pressed state in UI/UX and recall (= ignored) of shutter button pressed command from App to Unleashed within a predefined amount of time when the photo cannot be taken for whatever reason that may be. It should not have some sort of "memory" of the command if the camera can't execute the command in real time, when the command is given.

Thanks in advance.

Greetings,
Unfoolishly
Retired customer of the Unleashed. I have given up on this project, it's a never-ending story of bugs. Goodbye everyone!
Andy
Posts: 225
Joined: October 4th, 2018, 4:18 pm

October 12th, 2020, 10:06 am

This sounds like a firmware issue. Can you reproduce it? I have personally tested this many times and have never seen this issue, so you may have come across a rare edge case.
Andy
Firmware developer at Foolography
Unfoolishly
Posts: 293
Joined: June 24th, 2020, 2:43 am

October 12th, 2020, 11:34 am

Andy wrote:
October 12th, 2020, 10:06 am
This sounds like a firmware issue. Can you reproduce it? I have personally tested this many times and have never seen this issue, so you may have come across a rare edge case.
Hi Andy,
Yes, I assume I can reproduce it. If time permits I will make a short video of it demonstrating it, because it really looks like uncontrolled behavior of the Unleashed App/hardware.

Could it be that this only occurs when multiple Unleashed are paired/bounded in the App, and therefore you have not yet come across of this bug while testing?

Greetings,
Unfoolishly
Retired customer of the Unleashed. I have given up on this project, it's a never-ending story of bugs. Goodbye everyone!
Andy
Posts: 225
Joined: October 4th, 2018, 4:18 pm

October 12th, 2020, 12:03 pm

Not really since one Unleashed doesn't care about other Unleasheds. Most likely this is a bug in our tap-to-trigger state machine.
Andy
Firmware developer at Foolography
Andy
Posts: 225
Joined: October 4th, 2018, 4:18 pm

October 12th, 2020, 12:04 pm

But just in case, check if you can also reproduce it with other Unleasheds disabled, maybe you're right and it's an app issue instead of a firmware issue.
Andy
Firmware developer at Foolography
Unfoolishly
Posts: 293
Joined: June 24th, 2020, 2:43 am

October 12th, 2020, 12:37 pm

Andy wrote:
October 12th, 2020, 12:04 pm
But just in case, check if you can also reproduce it with other Unleasheds disabled, maybe you're right and it's an app issue instead of a firmware issue.
I will do my best to figure out different scenario's in which it occurs, or not occurs. But currently my time is very limited to create a video out of it.

Does the Unleashed give feedback to the Unleashed App if the Unleashed/camera successfully took a photo? Does the Unleashed ALWAYS do something with the moment/signal from the camera that a photo was taken? I mean: when I press the shutterbutton in the App 10 times, does the App sends these 10 commandments to the Unleashed in which these commands get queued to forward them to the camera? But what if you do this with the lens-cap still on the lens, do these commands expire in a preset timeperiod and thus get discarded in the queue of the Unleashed commands? It's the same as pressing the shutterbutton on the camera while the lens-cap is on: the camera ignores these shutterbutton pressed signals.
The thing is, that when you press the shutterbutton in the App but the camera can't make the photo (for whatever reason that might be) the shutterbutton in the App hangs in "pressed" state and never returns back to "unpressed" state. If the App gets informed back of the Unleashed if a photo is taken, what does the Unleashed signal back to the App when it can't take a photo (lens-cap on)? I assume the queue holds the commands, but they never time-out in time. Then you get a statemachine that is going out of control... getting back-and-forth problems.

Greetings,
Unfoolishly
Retired customer of the Unleashed. I have given up on this project, it's a never-ending story of bugs. Goodbye everyone!
Andy
Posts: 225
Joined: October 4th, 2018, 4:18 pm

October 12th, 2020, 12:45 pm

There's no queue, the trigger in the app is designed to work as if you were pressing the trigger on the camera. You can leave your finger on the trigger and it behaves exactly as if you were holding the shutter button down on the camera.

The only exception is a tap-to-trigger mechanism. That allows you to "tap" on the trigger button in the app and the Unleashed will try to take a picture, waiting for confirmation from the camera or just timing out. You don't need to know the specifics. My guess is that this mechanism is getting stuck pressing the shutter button waiting for some condition, but I don't know what condition. We already have timeouts in place, so it would help to know if this is an easy-to-reproduce issue.
Andy
Firmware developer at Foolography
Unfoolishly
Posts: 293
Joined: June 24th, 2020, 2:43 am

October 12th, 2020, 12:53 pm

Andy wrote:
October 12th, 2020, 12:45 pm
There's no queue, the trigger in the app is designed to work as if you were pressing the trigger on the camera. You can leave your finger on the trigger and it behaves exactly as if you were holding the shutter button down on the camera.

The only exception is a tap-to-trigger mechanism. That allows you to "tap" on the trigger button in the app and the Unleashed will try to take a picture, waiting for confirmation from the camera or just timing out. You don't need to know the specifics. My guess is that this mechanism is getting stuck pressing the shutter button waiting for some condition, but I don't know what condition. We already have timeouts in place, so it would help to know if this is an easy-to-reproduce issue.
Aha, I see. Is there a build-in logging structure inside the Unleashed hardware that can be signalled back to the App, so I can reproduce the condition and hand over the logging of both the App and the Unleashed hardware? That way, you can more easily find the cause of the bug.

I'll try to make a video out of it next week (hopefully). But don't pin me down on it ;-)

Greetings,
Unfoolishly
Last edited by Unfoolishly on October 12th, 2020, 1:56 pm, edited 1 time in total.
Retired customer of the Unleashed. I have given up on this project, it's a never-ending story of bugs. Goodbye everyone!
Andy
Posts: 225
Joined: October 4th, 2018, 4:18 pm

October 12th, 2020, 1:37 pm

Nope, there isn't such thing.
Andy
Firmware developer at Foolography
Oliver
Posts: 1127
Joined: October 9th, 2018, 4:17 pm

October 14th, 2020, 11:28 am

The Firmware is designed to release the trigger if it doesn't manage to trigger after 1 or 2 seconds, and the app should simply mirror what the firmware tells it, but who knows what edge-case you managed to find. As always, if you do manage to reproduce it, a log-file from your android app would be very helpful!
Founder & CEO of Foolography, Hardware & Firmware developer.
Post Reply