commits
Otherwise it spams even debug messages
Means we can track library compatibility now.
Only run connection checks once every 5 seconds or so.
Affects #479
Intiface Central on Mobile needs explicit device disconnection in app,
otherwise devices will stay connected between server sessions.
Reduces amount of log spam during scanning
Affects #479
debug messages set to info, spams logs.
Affects #479
Trying to grab the span guard as part of the instrument call on the
task was a bad idea. Scope the span to just the task.
Fixes #481
Check to make sure we have a protocol specializer before
we mark a device as connecting. This should keep us from
dropping advertisements because invalid advertisements
are already being processed.
Fixes #462
Change the TimedRetryCommunicationManager to have a variable
rescan rate, and to only scan at once every 10s for Lovense Connect.
Fixes #483
I added an explicit native line ending setting, as rustfmt decided
to convert everything to unix line endings the first time.
This allows protocol initialisation to be feature aware.
The included use-case is the Satisfyer protocol which sends the last command
sent as a keep-alive, starting in the initialiser. The commands are variable
length based on the capabilities of the device, so we need to know if the
device has 1 to 5 features to properly setup the keep-alive.
We've been sending packets of 8 bytes to all Satisfyer devices
so far, but it turns out that we should be sending 4 bytes per
feature. Right now the features are vibrators, oscilators or
single direction rotators (all map to VibrateCmd).
This change uses the feature count to initialise the length of
the data packet array, and dynamically loads the values into the
array before sending. It has to do so on the first command though,
since the initialiser doesn't have access to the attributes.
Thanks to @Spazzwanjunk at their friend for doing the hard work on this one:
https://github.com/buttplugio/stpihkal/issues/136#issuecomment-1151179571
This change makes the hismith protocol model aware.
The other fucking machine models are commented out in the config
until the UI supports speed limit configurations.
Still fails on CI for mac/linux due to socket reuse timeouts
These haven't changed since the first time I implemented
this protocol. Don't generate every build, there's no need.
If a server disconnected, the client side may or may not have
actually registered the disconnect depending on a bunch of
different reasons. Try to align these better, though this really
just needs a through scrubbing at some point.
Fixes #421
If disconnect is called, set the disconnect status regardless of
whether or not calling disconnect succeeds.
Affects #421
Everything having to do with config files should live in the
config file module. We'll re-expose as needed when the
time comes to work on configuration UI.
getset all (or at least most of) the things
Now that we can have both Raw and Sensor Readings, we
shouldn't specialize to raw on receive.
Fixed #159
Finally singularized everything. Woo.
Don't break client API compat just to clean that up. Awkward but who cares.
This allows protocol initialisation to be feature aware.
The included use-case is the Satisfyer protocol which sends the last command
sent as a keep-alive, starting in the initialiser. The commands are variable
length based on the capabilities of the device, so we need to know if the
device has 1 to 5 features to properly setup the keep-alive.
We've been sending packets of 8 bytes to all Satisfyer devices
so far, but it turns out that we should be sending 4 bytes per
feature. Right now the features are vibrators, oscilators or
single direction rotators (all map to VibrateCmd).
This change uses the feature count to initialise the length of
the data packet array, and dynamically loads the values into the
array before sending. It has to do so on the first command though,
since the initialiser doesn't have access to the attributes.