Skip to main content
Version: 3.4.x

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

tip

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, enter services.msc, and then press Enter or select OK.

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.