Skip to main content
Version: 3.4.x

Haptic FXs

Experimental

This is a set of evolving and experimental features.

Feel free to experiment & provide feedback depending on your usecase so we can improve our API and provide more value.

Usage & signatures might change.

Vibration Generator

This feature enables programmable vibration output on Inverse3 devices using up to two independent oscillators. It functions similarly to a basic synthesizer signal generator — each oscillator can produce a waveform with configurable amplitude and frequency.


Oscillator Basics

  • Each Inverse3 device supports up to 2 oscillators (oscillator: 0 and oscillator: 1).
  • You may control oscillators individually or in bulk.
  • Once set, the oscillator runs until explicitly changed or stopped ("set and forget" behavior).
  • You can start/stop oscillator with simple amplitude control, set to 0 to stop.

Supported Wave Shapes

Shape NameDescription
sine_waveSmooth periodic waveform
square_waveBinary high/low signal
triangle_waveAngular sawtooth-like wave
saw_waveRising ramp signal

Parameters

ParameterTypeConstraintsDescription
oscillatornumber0 or 1Index of the oscillator to set
shapestringSee supported shapes aboveType of waveform to generate
amplitudenumberMust be > 0Vibration strength
frequencynumberMust be > 10 (Hz)Oscillator frequency

All fields are required

Commands

set_oscillator

Assigns a single oscillator to a device.

{
"inverse3": [
{
"device_id": "04BA",
"commands": {
"set_oscillator": {
"oscillator": 0,
"shape": "sine_wave",
"amplitude": 0,
"frequency": 3000
}
}
}
]
}

set_oscillators

Assigns multiple oscillators at once. You can also pass only one if desired.

{
"inverse3": [
{
"device_id": "04BA",
"commands": {
"set_oscillators": [
{
"oscillator": 0,
"shape": "sine_wave",
"amplitude": 0.2,
"frequency": 3000
},
{
"oscillator": 1,
"shape": "saw_wave",
"amplitude": 0.5,
"frequency": 80
}
]
}
}
]
}