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
andoscillator: 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 to0
to stop.
Supported Wave Shapes
Shape Name | Description |
---|---|
sine_wave | Smooth periodic waveform |
square_wave | Binary high/low signal |
triangle_wave | Angular sawtooth-like wave |
saw_wave | Rising ramp signal |
Parameters
Parameter | Type | Constraints | Description |
---|---|---|---|
oscillator | number | 0 or 1 | Index of the oscillator to set |
shape | string | See supported shapes above | Type of waveform to generate |
amplitude | number | Must be > 0 | Vibration strength |
frequency | number | Must 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
}
]
}
}
]
}