Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Connection without timeout #129

Closed
hijae opened this issue Sep 18, 2024 · 4 comments · Fixed by #133
Closed

Connection without timeout #129

hijae opened this issue Sep 18, 2024 · 4 comments · Fixed by #133
Labels
enhancement New feature or request
Milestone

Comments

@hijae
Copy link
Contributor

hijae commented Sep 18, 2024

I'm using the this primarily for GPS logging rather than shutter. I would like the camera to continue to wait for a connection even if it briefly sleeps or is powered off, so that I can reconnect at any time.

@gkoh gkoh added the enhancement New feature or request label Sep 18, 2024
@gkoh gkoh added this to the v2.2.0 milestone Sep 18, 2024
@gkoh
Copy link
Owner

gkoh commented Sep 19, 2024

I see, using furble as a passive, always on GPS data source.

Adding such a mode will not be kind to battery life, but I assume that is known penalty.
This is certainly possible.

We would need to:

  • add a setting to control disconnect behaviour
    • try once, twice, indefinite, etc
    • default to current behaviour
  • update the disconnect handler to respect the setting
  • add cancel to the (dis)connect handler
    • this one is a bit messy, but nice to have
    • right now there is no way to interrupt or cancel the connect

I'll need some time to think about how to implement the cancel properly.

@gkoh
Copy link
Owner

gkoh commented Sep 24, 2024

@hijae It appears that properly implementing this reasonably simple request will exceed the capabilities of the underlying M5ez library.
We have been consistently hitting the limits of this ageing library.
I am now exploring alternative UI libraries that can also support #80.

For now, you could hack the UI disconnect handler.
There is a reconnected variable which you can just delete. This will send furble into infinite reconnection mode.
The only way to exit will be to either:

  • connect to a camera then exit properly
  • forceful power off by holding the power button

@gkoh gkoh modified the milestones: v2.2.0, v3.0.0 Sep 25, 2024
@gkoh gkoh modified the milestones: v3.0.0, v2.3.0 Oct 3, 2024
gkoh pushed a commit that referenced this issue Oct 3, 2024
gkoh pushed a commit that referenced this issue Oct 3, 2024
@gkoh gkoh linked a pull request Oct 3, 2024 that will close this issue
@gkoh
Copy link
Owner

gkoh commented Oct 3, 2024

I recently worked out this is possible with M5ez, but required a fair amount of rework, see #133.
Moving to an earlier milestone, that doesn't require a new UI.

gkoh pushed a commit that referenced this issue Oct 4, 2024
gkoh pushed a commit that referenced this issue Oct 4, 2024
@gkoh gkoh closed this as completed in #133 Oct 6, 2024
gkoh added a commit that referenced this issue Oct 6, 2024
* Implement infinite reconnect with cancel.

Refactor a lot of things to support cancelling an active connection
attempt.
Significantly simplify the callback structure for the connection
progress bar.

Whilst here, fix possible null pointer dereferences in Fujifilm
service and characteristic handling.

* (#129) Reconnect without timeout

* (#129) Enhance Warning

* Remove stale warning in README.

---------

Co-authored-by: Hijae Song <[email protected]>
@gkoh
Copy link
Owner

gkoh commented Oct 6, 2024

With this feature, you need to connect successfully once.
After that, the reconnection logic handles things.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants