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

Implement simultaneous camera connect #127

Merged
merged 9 commits into from
Sep 18, 2024
Merged

Implement simultaneous camera connect #127

merged 9 commits into from
Sep 18, 2024

Conversation

gkoh
Copy link
Owner

@gkoh gkoh commented Sep 16, 2024

Add per-camera task and queue.
Modify control task to act as proxy to each camera, thereby completely divorcing the UI from interfering with camera bluetooth traffic.

Add setting to enable 'Multi-Connect', defaults to false.
Refactor connect menu to handle multiple camera selection and connection.

Minimally tested with 2 targets, should work with up to 9.

Also fix the mobile device name by updating NimBLE-Arduino to development version.

Lay the foundation for supporting simultaneous, parallel camera
connections.

The UI now sends commands to the control task, which relays them to
per-camera tasks.
This allows the UI and each connected camera to operate asynchronously.

Increase limit maximum clients from 3 to 8.
Fix #100 by updating to a development cut of NimBLE-Arduino.
Whilst here improve device bond handling, this makes subsequent
pair/forget sequences a little less iffy.
M5ez:
Add context to menu item advanced function.

Furble:
Tweak NimBLE settings.
Remove scan duration, now scan forever as we can stop on demand.
Drop global interval_t, load as needed to reduce variable scope.

Add setting to toggle multi-connect.
Modify connection menu to support tagging cameras.
Add ability to connect to all tagged cameras.

Cannot get directed advertising to mobile devices so still disabled.

Multi-connect to mobile devices is super iffy, not recommended for
production use.
Fix minor error in shutter lock formatting, introduced when migrating
from String to std::string.

Also removed unused macros.
Move some more code into std::string native and const a few more
parameters.
Refactor the Camera type into the base Camera class.
Refactor fillSaveName into CameraList class, it is only used there.
Style adjustments.
@gkoh gkoh merged commit f146821 into master Sep 18, 2024
5 checks passed
@gkoh gkoh deleted the multi-connect branch September 18, 2024 02:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add simultaneous multiple camera connection Display human readable peer name for smartphone connections.
1 participant