Skip to content

SimulatedConsole

Defined in: console-sdk/src/testing/simulatedConsole.ts:98

The “person at the machine + the firmware” — everything a test can do to one simulated console (SDK_PLAN.md §3.11.2). Obtain instances from SimulatedTransport.console(ref) / .addConsole(spec).

Clock gating (§3.11.2’s table): run() frames, reconnect budgets, and command timeouts need clock.advance(...); presence flips, pressKey, and emitFrame take effect immediately (microtask queue).

appear(): void

Defined in: console-sdk/src/testing/simulatedConsole.ts:107

Comes (back) into radio range: scannable and connectable again.

void


dropConnection(): void

Defined in: console-sdk/src/testing/simulatedConsole.ts:111

Unexpected BLE link loss → the reconnect-policy path.

void


emitFrame(frame): void

Defined in: console-sdk/src/testing/simulatedConsole.ts:122

Emits one frame — the current state shallow-merged with frame.

Partial<LiveMetrics>

void


failNextCommand(command, mode): void

Defined in: console-sdk/src/testing/simulatedConsole.ts:129

Injects a protocol-level fault into the NEXT matching command: 'timeout' drops the response frame, 'reject' answers with the firmware failure result. One-shot; cleared once consumed.

"start" | "programWorkout" | "stop" | "fetchRecord"

"timeout" | "reject"

void


powerOff(): void

Defined in: console-sdk/src/testing/simulatedConsole.ts:115

Clean shutdown: disconnect + not scannable.

void


pressKey(key): void

Defined in: console-sdk/src/testing/simulatedConsole.ts:118

Presses a front-panel key. HOME mid-workout = premature-FINISH abort.

"select" | "home"

void


restoreConnection(): void

Defined in: console-sdk/src/testing/simulatedConsole.ts:113

Becomes connectable again after SimulatedConsole.dropConnection.

void


run(script): void

Defined in: console-sdk/src/testing/simulatedConsole.ts:120

Runs an autopilot workout: realistic frames on the clock.

ConsoleScript

void


vanish(): void

Defined in: console-sdk/src/testing/simulatedConsole.ts:109

Goes out of range: stops advertising — the scan-TTL expiry path.

void

readonly id: DeviceId

Defined in: console-sdk/src/testing/simulatedConsole.ts:100

Stable transport-level device id.


readonly model: DeviceModel

Defined in: console-sdk/src/testing/simulatedConsole.ts:104

Hardware model.


readonly received: object

Defined in: console-sdk/src/testing/simulatedConsole.ts:135

What the SDK wrote to this console — assert on programming/setup.

displayUnits: DisplayUnits | null

Display units applied by the SDK, or null before any write.

heartRateBpm: number | null

Last heart-rate forward, bpm, or null before any write.

program: unknown

The decoded programmed workout, or null before any SET_WORKOUT.

utcSynced: boolean

Whether a clock-sync command has been received.


readonly serial: string

Defined in: console-sdk/src/testing/simulatedConsole.ts:102

User-visible serial / console id.


readonly workoutState: "idle" | "working" | "resting" | "finished"

Defined in: console-sdk/src/testing/simulatedConsole.ts:147

Firmware lifecycle phase, as the console itself would report it.