Haply Inverse Service
The Haply Inverse Service is a foundational component that integrates Haply's tactile devices with interactive applications, running as a background server to enable real-time interactions. Its functionalities include:
- Device Discovery and Management: Identifies and configures connected Haply devices automatically.
- Ownership Management: Manages access to devices across multiple applications, ensuring smooth operation.
- Real-Time State Streaming: Provides updates on device states at high frequencies for precise control.
- Command Processing: Executes commands for force or position with high fidelity, enhancing the haptic feedback.
- Background Operation: Runs in the background, maintaining device readiness without user intervention.
Run, stop, restart
Use the Haply Device Manager to easily manage the service and see the connected devices.
On Windows:
- Open the Services desktop app: Press
Windows
+R
to open the Run box, enterservices.msc
, and then pressEnter
or selectOK
.
On Ubuntu:
- Start
systemctl start haply-inverse-service.service
- Stop
systemctl stop haply-inverse-service.service
- Enable
systemctl enable haply-inverse-service.service
- Disable
systemctl disable haply-inverse-service.service
Concepts
Coordinate System Convention
Haply uses a right-handed coordinate system with Z-Up, which results in X pointing to your right, Y forward, and Z pointing upward.
We provide an automatic conversion where you can instruct your current coordinate system (See here), and the service will operate in that system. This means that, once a new coordinate system is instructed, all outputs will be in that new system, and we will also expect all inputs to be in that system. The service internally handles both conversions to & from our right-hand Z-Up system for communication purposes afterward.
Channels
The Haply Inverse Service has two dynamic communication channels, one for the live states & actions for the devices ( see Simulation channel), and one uni-directional for the system's events reporting key events and related information ( see Events Channel).
Interfaces
Both the HTTP and Websocket channels interfaces use JSON
formatted payloads.