not major but when testing example device_control.py, it does not include OSCILLATE type devices. added below to confirm oscillate functionality on the v4 standard.
# Oscillate
if device.has_output(OutputType.OSCILLATE):
print(" Starting oscillate at 25%...")
await device.run_output(DeviceOutputCommand(OutputType.OSCILLATE, 0.25))
await asyncio.sleep(1)
print(" Increasing to 50%...")
await device.run_output(DeviceOutputCommand(OutputType.OSCILLATE, 0.5))
await asyncio.sleep(1)
print(" Full power (100%)...")
await device.run_output(DeviceOutputCommand(OutputType.OSCILLATE, 1.0))
await asyncio.sleep(1)
Also with a Lovense Fucking Machine connected all examples ran except device_info.py gave the following:
Connecting to server...
Scanning for devices (5 seconds)...
==================================================
Device: Lovense Sex Machine
Index: 5
Display Name: (none)
Timing Gap: 100ms
==================================================
Features (2):
Feature 0: Fucking Machine Oscillation Speed
Outputs:
Traceback (most recent call last):
File "buttplug-py\examples\device_info.py", line 79, in <module>
asyncio.run(main())
~~~~~~~~~~~^^^^^^^^
File "Python\pythoncore-3.14-64\Lib\asyncio\runners.py", line 204, in run
return runner.run(main)
~~~~~~~~~~^^^^^^
File "Python\pythoncore-3.14-64\Lib\asyncio\runners.py", line 127, in run
return self._loop.run_until_complete(task)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "Python\pythoncore-3.14-64\Lib\asyncio\base_events.py", line 719, in run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "buttplug-py\examples\device_info.py", line 55, in main
value_range = feature.get_output_range(output_type)
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'DeviceFeature' object has no attribute 'get_output_range'
not major but when testing example device_control.py, it does not include OSCILLATE type devices. added below to confirm oscillate functionality on the v4 standard.
Also with a Lovense Fucking Machine connected all examples ran except device_info.py gave the following: