28 lines
1.3 KiB
JavaScript
28 lines
1.3 KiB
JavaScript
import assert from "node:assert/strict";
|
|
import fs from "node:fs";
|
|
import path from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
|
|
import { createLinuxCncTaskHalSdk } from "../../../wasm-port/runtime/sdk/src/linuxcnc-task-hal.js";
|
|
import {
|
|
collectHalMeterScopeEvidence,
|
|
validateHalMeterEvidence,
|
|
validateHalScopeWaveformEvidence,
|
|
} from "../../../wasm-port/runtime/sdk/src/hal-meter-scope-evidence.js";
|
|
|
|
const workspace = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../..");
|
|
const wasmBinary = fs.readFileSync(path.join(workspace, "wasm-port/build/wasm/task-hal/linuxcnc_task_hal.wasm"));
|
|
const sdk = await createLinuxCncTaskHalSdk({ wasmBinary, print() {}, printErr() {} });
|
|
const { halMeterEvidence, halScopeWaveformEvidence } = collectHalMeterScopeEvidence(sdk.module, {
|
|
profileId: "xyzbc-trt",
|
|
samplePeriodNs: 1000000,
|
|
recordLength: 16,
|
|
});
|
|
assert.equal(validateHalMeterEvidence(halMeterEvidence), true);
|
|
assert.equal(validateHalScopeWaveformEvidence(halScopeWaveformEvidence), true);
|
|
assert.equal(halMeterEvidence.profileId, "xyzbc-trt");
|
|
assert.equal(halScopeWaveformEvidence.profileId, "xyzbc-trt");
|
|
assert.equal(halScopeWaveformEvidence.samples.length, 16);
|
|
console.log("web_hal_meter_evidence=ok");
|
|
console.log("web_hal_scope_waveform_evidence=ok");
|