Skip to main content

Hapticlabs

Beta
Digital
output
Small RAM
0.5.0

#Description

A toolkit that allows you to test detailed, haptic feedback.

Requires the Hapticlabs toolkit. Find out more about it here.

This component requires 2 pins.

#Functions

#Toolkit

This component works with the Hapticlabs Toolkit. Find out more about it here.



#JavaScript / Node.js

ClassHapticlabsextends ComponentBase

Hapticlabs dual-channel haptic feedback controller. Controls two digital output pins for haptic actuators.

#Value type

TypeScript
interface HapticlabsValue {
  pin1: number;  // 0 = inactive, 1 = active
  pin2: number;  // 0 = inactive, 1 = active
}

#Constructor options

OptionTypeRequiredDescription
pin1numberrequired
pin2numberrequired

#Events

EventParametersDescription
changevalue: HapticlabsValue

#Methods

get valueHapticlabsValue | undefinedfrom ComponentBase

Get the current value of the component.

#Example

JavaScript
import { Board, Hapticlabs } from "@blokdots/components";

const board = new Board("/dev/ttyACM0");
await board.open();

const hapticlabs = new Hapticlabs({ board, pin1: "D5", pin2: "D5" });


#C++ (Arduino)

ClassHapticlabsextends ComponentBase

Dual-channel haptic feedback controller Controls two digital output pins for haptic actuators Features: - Two independent haptic tracks (Track 1 and Track 2) - Simple HIGH/LOW control for haptic actuators - Non-blocking timed triggering with automatic shutoff - Continuous triggering with duration control Usage: - playTrack1() / playTrack2() - Activate track - stopTrack1() / stopTrack2() - Deactivate track - triggerTrack1(durationMs) - Trigger for specific duration (non-blocking) - triggerTrack2(durationMs) - Trigger for specific duration (non-blocking) - isTrack1Active() / isTrack2Active() - Check state

#Setup

C++
#include "blokdots.h"

Hapticlabs myComponent(0, 0);

#Constructor

Hapticlabs(pin1, pin2)

Basic constructor (no EventBus)

ParameterTypeDefault
pin1uint8_trequired
pin2uint8_trequired
Hapticlabs(bus, pin1, pin2, evtChange)

Constructor with EventBus for trigger support

ParameterTypeDefault
busEventBusrequired
pin1uint8_trequired
pin2uint8_trequired
evtChangeuint8_trequired

#Methods

playTrack1()
stopTrack1()
triggerTrack1(durationMs)

Non-blocking trigger with automatic shutoff

ParameterTypeDefault
durationMsuint32_trequired
isTrack1Active()bool
playTrack2()
stopTrack2()
triggerTrack2(durationMs)

Non-blocking trigger with automatic shutoff

ParameterTypeDefault
durationMsuint32_trequired
isTrack2Active()bool
stopAll()
emittedValue()int

For triggers: returns bitmask (bit 0 = track1, bit 1 = track2)