Skip to main content

Utility Functions

Helper functions exported from @blokdots/components.

#autoDetectPort()

TypeScript
function autoDetectPort(timeoutMs?): Promise<ProbeResult>;

Auto-detect a connected blokdots Arduino board by probing all available serial/USB ports in parallel.

The first port that completes the blokdots two-step handshake (S:READY → S:HASH?) wins. All other probe connections are cleaned up automatically.

#Parameters

ParameterTypeDefault valueDescription
timeoutMsnumberPROBE_TIMEOUT_MSPer-port probe timeout in ms (default: 5000)

#Returns

Promise<ProbeResult>

Open ProbeResult that Board can inherit

#Throws

If no blokdots board is found within the timeout

#clamp()

TypeScript
function clamp(
   value, 
   min, 
   max): number;

Clamp a value between min and max bounds.

#Parameters

ParameterTypeDescription
valuenumberValue to clamp
minnumberMinimum value
maxnumberMaximum value

#Returns

number

Clamped value

#getBlokdotsSocketIOServer()

TypeScript
function getBlokdotsSocketIOServer(): Promise<BlokdotsSocketIOServer>;

#Returns

Promise<BlokdotsSocketIOServer>

#getBlokdotsSocketIOServerAddress()

TypeScript
function getBlokdotsSocketIOServerAddress(): string | null;

#Returns

string | null

#hexToRgb()

TypeScript
function hexToRgb(hex): [number, number, number] | null;

#Parameters

ParameterType
hexstring

#Returns

[number, number, number] | null

#invertValue()

TypeScript
function invertValue(value, max): number;

Invert a value relative to a maximum.

#Parameters

ParameterTypeDescription
valuenumberValue to invert
maxnumberMaximum value for inversion

#Returns

number

Inverted value

#mapValue()

TypeScript
function mapValue(
   value, 
   inMin, 
   inMax, 
   outMin, 
   outMax, 
   constrain?): number;

Map a value between from one value to the other.

#Parameters

ParameterTypeDefault valueDescription
valuenumberundefinedValue to clamp
inMinnumberundefinedMinimum value in
inMaxnumberundefinedMaximum value in
outMinnumberundefinedMinimum value out
outMaxnumberundefinedMaximum value out
constrainbooleantrueif the value should be constrained (default = true)

#Returns

number

Mapped value

#renderTextToBitmap()

TypeScript
function renderTextToBitmap(
   text, 
   startY, 
   scale, 
   bitmap, 
   maxY?): void;

Render text into a 128×64 flat pixel array (row-major, index = y*128+x).

#Parameters

ParameterTypeDefault valueDescription
textstringundefinedThe string to render.
startYnumberundefinedThe top pixel row where drawing begins (0–63).
scale1 | 2undefined1 = normal 6×8 glyphs; 2 = glyphs scaled to 12×16.
bitmap(0 | 1)[]undefinedThe target array (must be 128*64 entries, values 0
maxYnumber64Pixel row at which to stop drawing (exclusive). Defaults to 64.

#Returns

void

#rgbToHex()

TypeScript
function rgbToHex(
   r, 
   g, 
   b): string;

#Parameters

ParameterType
rnumber
gnumber
bnumber

#Returns

string