@depz/sensor-sdk 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -5
- package/dist/dataset.d.ts.map +1 -1
- package/dist/dataset.js +66 -2
- package/dist/dataset.js.map +1 -1
- package/dist/device/device.d.ts +6 -0
- package/dist/device/device.d.ts.map +1 -1
- package/dist/device/device.js +29 -6
- package/dist/device/device.js.map +1 -1
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +25 -2
- package/dist/discovery.js.map +1 -1
- package/dist/index.d.ts +21 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -1
- package/dist/index.js.map +1 -1
- package/dist/protocol/bno055.d.ts +101 -0
- package/dist/protocol/bno055.d.ts.map +1 -0
- package/dist/protocol/bno055.js +105 -0
- package/dist/protocol/bno055.js.map +1 -0
- package/dist/protocol/identity.d.ts +1 -1
- package/dist/protocol/identity.d.ts.map +1 -1
- package/dist/protocol/identity.js +6 -0
- package/dist/protocol/identity.js.map +1 -1
- package/dist/protocol/vl53l7.d.ts +77 -0
- package/dist/protocol/vl53l7.d.ts.map +1 -0
- package/dist/protocol/vl53l7.js +99 -0
- package/dist/protocol/vl53l7.js.map +1 -0
- package/dist/protocol/vl53lx.d.ts +72 -0
- package/dist/protocol/vl53lx.d.ts.map +1 -0
- package/dist/protocol/vl53lx.js +87 -0
- package/dist/protocol/vl53lx.js.map +1 -0
- package/dist/sensors/bno055/bno055.d.ts +207 -0
- package/dist/sensors/bno055/bno055.d.ts.map +1 -0
- package/dist/sensors/bno055/bno055.js +547 -0
- package/dist/sensors/bno055/bno055.js.map +1 -0
- package/dist/sensors/bno055/regs.d.ts +271 -0
- package/dist/sensors/bno055/regs.d.ts.map +1 -0
- package/dist/sensors/bno055/regs.js +366 -0
- package/dist/sensors/bno055/regs.js.map +1 -0
- package/dist/sensors/bno086/bno086.d.ts +15 -0
- package/dist/sensors/bno086/bno086.d.ts.map +1 -1
- package/dist/sensors/bno086/bno086.js +43 -1
- package/dist/sensors/bno086/bno086.js.map +1 -1
- package/dist/sensors/bno086/sh2.d.ts.map +1 -1
- package/dist/sensors/bno086/sh2.js +5 -2
- package/dist/sensors/bno086/sh2.js.map +1 -1
- package/dist/sensors/reg-bridge.d.ts +35 -0
- package/dist/sensors/reg-bridge.d.ts.map +1 -0
- package/dist/sensors/reg-bridge.js +44 -0
- package/dist/sensors/reg-bridge.js.map +1 -0
- package/dist/sensors/vl53l4/vl53l4.d.ts.map +1 -1
- package/dist/sensors/vl53l4/vl53l4.js +18 -30
- package/dist/sensors/vl53l4/vl53l4.js.map +1 -1
- package/dist/sensors/vl53l7/vl53l7.d.ts +97 -0
- package/dist/sensors/vl53l7/vl53l7.d.ts.map +1 -0
- package/dist/sensors/vl53l7/vl53l7.js +138 -0
- package/dist/sensors/vl53l7/vl53l7.js.map +1 -0
- package/dist/sensors/vl53l8/assets/index.d.ts +5 -1
- package/dist/sensors/vl53l8/assets/index.d.ts.map +1 -1
- package/dist/sensors/vl53l8/assets/index.js +7 -1
- package/dist/sensors/vl53l8/assets/index.js.map +1 -1
- package/dist/sensors/vl53l8/assets/l7ch.d.ts +12 -0
- package/dist/sensors/vl53l8/assets/l7ch.d.ts.map +1 -0
- package/dist/sensors/vl53l8/assets/l7ch.js +18 -0
- package/dist/sensors/vl53l8/assets/l7ch.js.map +1 -0
- package/dist/sensors/vl53l8/assets/l7cx.d.ts +14 -0
- package/dist/sensors/vl53l8/assets/l7cx.d.ts.map +1 -0
- package/dist/sensors/vl53l8/assets/l7cx.js +20 -0
- package/dist/sensors/vl53l8/assets/l7cx.js.map +1 -0
- package/dist/sensors/vl53l8/cnh.d.ts +4 -3
- package/dist/sensors/vl53l8/cnh.d.ts.map +1 -1
- package/dist/sensors/vl53l8/cnh.js +4 -3
- package/dist/sensors/vl53l8/cnh.js.map +1 -1
- package/dist/sensors/vl53l8/uld.d.ts +50 -9
- package/dist/sensors/vl53l8/uld.d.ts.map +1 -1
- package/dist/sensors/vl53l8/uld.js +241 -35
- package/dist/sensors/vl53l8/uld.js.map +1 -1
- package/dist/sensors/vl53l8/vl53l8.d.ts +8 -3
- package/dist/sensors/vl53l8/vl53l8.d.ts.map +1 -1
- package/dist/sensors/vl53l8/vl53l8.js +41 -39
- package/dist/sensors/vl53l8/vl53l8.js.map +1 -1
- package/dist/sensors/vl53lx/decode.d.ts +70 -0
- package/dist/sensors/vl53lx/decode.d.ts.map +1 -0
- package/dist/sensors/vl53lx/decode.js +108 -0
- package/dist/sensors/vl53lx/decode.js.map +1 -0
- package/dist/sensors/vl53lx/uld/arith.d.ts +23 -0
- package/dist/sensors/vl53lx/uld/arith.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/arith.js +42 -0
- package/dist/sensors/vl53lx/uld/arith.js.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/core.d.ts +345 -0
- package/dist/sensors/vl53lx/uld/bare/core.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/core.js +1085 -0
- package/dist/sensors/vl53lx/uld/bare/core.js.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/driver.d.ts +91 -0
- package/dist/sensors/vl53lx/uld/bare/driver.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/driver.js +206 -0
- package/dist/sensors/vl53lx/uld/bare/driver.js.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/hist.d.ts +180 -0
- package/dist/sensors/vl53lx/uld/bare/hist.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/hist.js +949 -0
- package/dist/sensors/vl53lx/uld/bare/hist.js.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/image.d.ts +53 -0
- package/dist/sensors/vl53lx/uld/bare/image.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/image.js +108 -0
- package/dist/sensors/vl53lx/uld/bare/image.js.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/imath.d.ts +39 -0
- package/dist/sensors/vl53lx/uld/bare/imath.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/imath.js +99 -0
- package/dist/sensors/vl53lx/uld/bare/imath.js.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/index.d.ts +22 -0
- package/dist/sensors/vl53lx/uld/bare/index.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/index.js +22 -0
- package/dist/sensors/vl53lx/uld/bare/index.js.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/nvm.d.ts +85 -0
- package/dist/sensors/vl53lx/uld/bare/nvm.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/nvm.js +148 -0
- package/dist/sensors/vl53lx/uld/bare/nvm.js.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/regs.d.ts +54 -0
- package/dist/sensors/vl53lx/uld/bare/regs.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/regs.js +496 -0
- package/dist/sensors/vl53lx/uld/bare/regs.js.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/tuning.d.ts +15 -0
- package/dist/sensors/vl53lx/uld/bare/tuning.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/bare/tuning.js +303 -0
- package/dist/sensors/vl53lx/uld/bare/tuning.js.map +1 -0
- package/dist/sensors/vl53lx/uld/base.d.ts +129 -0
- package/dist/sensors/vl53lx/uld/base.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/base.js +166 -0
- package/dist/sensors/vl53lx/uld/base.js.map +1 -0
- package/dist/sensors/vl53lx/uld/l0x.d.ts +306 -0
- package/dist/sensors/vl53lx/uld/l0x.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/l0x.js +1492 -0
- package/dist/sensors/vl53lx/uld/l0x.js.map +1 -0
- package/dist/sensors/vl53lx/uld/l1.d.ts +69 -0
- package/dist/sensors/vl53lx/uld/l1.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/l1.js +262 -0
- package/dist/sensors/vl53lx/uld/l1.js.map +1 -0
- package/dist/sensors/vl53lx/uld/l3.d.ts +25 -0
- package/dist/sensors/vl53lx/uld/l3.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/l3.js +51 -0
- package/dist/sensors/vl53lx/uld/l3.js.map +1 -0
- package/dist/sensors/vl53lx/uld/l4.d.ts +22 -0
- package/dist/sensors/vl53lx/uld/l4.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/l4.js +99 -0
- package/dist/sensors/vl53lx/uld/l4.js.map +1 -0
- package/dist/sensors/vl53lx/uld/link.d.ts +42 -0
- package/dist/sensors/vl53lx/uld/link.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/link.js +28 -0
- package/dist/sensors/vl53lx/uld/link.js.map +1 -0
- package/dist/sensors/vl53lx/uld/registry.d.ts +68 -0
- package/dist/sensors/vl53lx/uld/registry.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/registry.js +139 -0
- package/dist/sensors/vl53lx/uld/registry.js.map +1 -0
- package/dist/sensors/vl53lx/uld/vl53l1-die.d.ts +172 -0
- package/dist/sensors/vl53lx/uld/vl53l1-die.d.ts.map +1 -0
- package/dist/sensors/vl53lx/uld/vl53l1-die.js +431 -0
- package/dist/sensors/vl53lx/uld/vl53l1-die.js.map +1 -0
- package/dist/sensors/vl53lx/vl53lx.d.ts +323 -0
- package/dist/sensors/vl53lx/vl53lx.d.ts.map +1 -0
- package/dist/sensors/vl53lx/vl53lx.js +688 -0
- package/dist/sensors/vl53lx/vl53lx.js.map +1 -0
- package/dist/transport/webserial.d.ts +4 -0
- package/dist/transport/webserial.d.ts.map +1 -1
- package/dist/transport/webserial.js +58 -12
- package/dist/transport/webserial.js.map +1 -1
- package/package.json +9 -2
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BNO055 9-axis IMU over the firmware register bridge
|
|
3
|
+
* (contracts/13_SENSOR_BNO055.md).
|
|
4
|
+
*
|
|
5
|
+
* The MCU is a thin I2C bridge: it reads and writes BNO055 registers on
|
|
6
|
+
* request and streams one configured register block on a timer. Everything
|
|
7
|
+
* else — operating mode, units, axis remap, calibration, decoding — is host
|
|
8
|
+
* logic expressed as register access. The BNO055 fuses on chip; there is no
|
|
9
|
+
* host-side fusion driver.
|
|
10
|
+
*
|
|
11
|
+
* Mirrors the Python reference `depz_sensor_sdk.bno055.Bno055`.
|
|
12
|
+
*/
|
|
13
|
+
import { DepzDevice, StreamQueue, type DeviceOptions } from "../../device/device.js";
|
|
14
|
+
import type { PacketEvent } from "../../protocol/framing.js";
|
|
15
|
+
import { type Bno055Info } from "../../protocol/bno055.js";
|
|
16
|
+
import type { SerialTransport } from "../../transport/types.js";
|
|
17
|
+
import { Bno055OprMode, Bno055PwrMode, Bno055TempSource, type Bno055AccelConfig, type Bno055AxisRemap, type Bno055CalibStatus, type Bno055CalibrationProfile, type Bno055GyroConfig, type Bno055MagConfig, type Bno055SystemStatus, type Bno055Units } from "./regs.js";
|
|
18
|
+
type Vec3 = [number, number, number];
|
|
19
|
+
/**
|
|
20
|
+
* One decoded register block (streamed or polled). Channels are null when
|
|
21
|
+
* the block did not cover them; values are scaled by `units` — the units in
|
|
22
|
+
* force when the stream started (contract 13 §4.2).
|
|
23
|
+
*/
|
|
24
|
+
export interface Bno055Sample {
|
|
25
|
+
/** MCU uptime: trigger time (stream) / read completion (poll). */
|
|
26
|
+
timestampUs: bigint;
|
|
27
|
+
addr: number;
|
|
28
|
+
raw: Uint8Array;
|
|
29
|
+
units: Bno055Units;
|
|
30
|
+
/** m/s² or mg */
|
|
31
|
+
accel: Vec3 | null;
|
|
32
|
+
/** µT */
|
|
33
|
+
mag: Vec3 | null;
|
|
34
|
+
/** dps or rps */
|
|
35
|
+
gyro: Vec3 | null;
|
|
36
|
+
/** heading, roll, pitch — degrees or radians */
|
|
37
|
+
euler: Vec3 | null;
|
|
38
|
+
/** w, x, y, z (unit quaternion) */
|
|
39
|
+
quaternion: [number, number, number, number] | null;
|
|
40
|
+
/** Acceleration minus gravity, always m/s². */
|
|
41
|
+
linearAccel: Vec3 | null;
|
|
42
|
+
/** Always m/s². */
|
|
43
|
+
gravity: Vec3 | null;
|
|
44
|
+
/** °C or °F */
|
|
45
|
+
temperature: number | null;
|
|
46
|
+
calibration: Bno055CalibStatus | null;
|
|
47
|
+
}
|
|
48
|
+
/** Decode one register window into a scaled sample. */
|
|
49
|
+
export declare function decodeBno055Sample(timestampUs: bigint, addr: number, data: Uint8Array, units: Bno055Units): Bno055Sample;
|
|
50
|
+
export interface Bno055Options extends DeviceOptions {
|
|
51
|
+
/** Sleep implementation (tests inject an instant one). */
|
|
52
|
+
sleepImpl?: (ms: number) => Promise<void>;
|
|
53
|
+
}
|
|
54
|
+
export interface Bno055ConfigureOptions {
|
|
55
|
+
mode?: Bno055OprMode;
|
|
56
|
+
units?: Bno055Units;
|
|
57
|
+
/** An axis remap, or a datasheet placement name "P0".."P7". */
|
|
58
|
+
axisRemap?: Bno055AxisRemap | string;
|
|
59
|
+
calibration?: Bno055CalibrationProfile;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* BNO055 absolute-orientation IMU.
|
|
63
|
+
*
|
|
64
|
+
* Typical use: `configure()` (CONFIG → units → axis remap → optional
|
|
65
|
+
* calibration profile → NDOF), then `startStream(10)` and read `samples()` /
|
|
66
|
+
* `onSample`, or poll `readSample()`. Streaming is timer-driven: the
|
|
67
|
+
* data-ready interrupt does not exist on the sensor firmware these boards
|
|
68
|
+
* carry (03.11).
|
|
69
|
+
*
|
|
70
|
+
* Multi-step register sequences (page switches, CONFIG round trips) are
|
|
71
|
+
* serialised internally, so concurrent calls cannot interleave mid-sequence.
|
|
72
|
+
* Page 1 is refused while a stream runs.
|
|
73
|
+
*/
|
|
74
|
+
export declare class Bno055 extends DepzDevice {
|
|
75
|
+
private readonly sleepImpl;
|
|
76
|
+
private chain;
|
|
77
|
+
private unitsCache;
|
|
78
|
+
private streamingFlag;
|
|
79
|
+
private streamUnits;
|
|
80
|
+
private sampleCbs;
|
|
81
|
+
private sampleQueues;
|
|
82
|
+
private streamParseErrorCount;
|
|
83
|
+
private configured;
|
|
84
|
+
constructor(transport: SerialTransport, opts?: Bno055Options);
|
|
85
|
+
/** RPT_BNO_INFO: chip ids, sensor firmware revision and bridge counters. */
|
|
86
|
+
bridgeInfo(): Promise<Bno055Info>;
|
|
87
|
+
/** True when the bridge passed the chip-ID handshake and the ids match. */
|
|
88
|
+
isAlive(): Promise<boolean>;
|
|
89
|
+
/**
|
|
90
|
+
* Hardware reset via nRESET, then wait out the sensor's own boot tail
|
|
91
|
+
* (contract 13 §5). Stops any stream; the sensor comes back in CONFIG with
|
|
92
|
+
* power-on units — call configure() or restoreConfiguration().
|
|
93
|
+
*/
|
|
94
|
+
resetSensor(): Promise<void>;
|
|
95
|
+
/** Read `length` bytes at `addr` on `page` (page 1 refused while streaming). */
|
|
96
|
+
readRegisters(addr: number, length: number, page?: number): Promise<Uint8Array>;
|
|
97
|
+
/** Write `data` at `addr` on `page`. Most config registers need CONFIG mode. */
|
|
98
|
+
writeRegisters(addr: number, data: Uint8Array, page?: number): Promise<void>;
|
|
99
|
+
readRegister(addr: number, page?: number): Promise<number>;
|
|
100
|
+
writeRegister(addr: number, value: number, page?: number): Promise<void>;
|
|
101
|
+
getOperationMode(): Promise<Bno055OprMode>;
|
|
102
|
+
/**
|
|
103
|
+
* Switch OPR_MODE and wait out the switching time; into a fusion mode also
|
|
104
|
+
* wait (≤ 1 s) for the fusion outputs, zero for ~70 ms after CONFIG. The
|
|
105
|
+
* sensor ignores a direct write from one operating mode to another
|
|
106
|
+
* (measured: NDOF → AMG stays NDOF), so such a switch goes through CONFIG.
|
|
107
|
+
*/
|
|
108
|
+
setOperationMode(mode: Bno055OprMode): Promise<void>;
|
|
109
|
+
getPowerMode(): Promise<Bno055PwrMode>;
|
|
110
|
+
setPowerMode(mode: Bno055PwrMode): Promise<void>;
|
|
111
|
+
getUnits(): Promise<Bno055Units>;
|
|
112
|
+
setUnits(units: Bno055Units): Promise<void>;
|
|
113
|
+
getAxisRemap(): Promise<Bno055AxisRemap>;
|
|
114
|
+
/** An AxisRemap, or a datasheet placement "P0".."P7" (P1 = default). */
|
|
115
|
+
setAxisRemap(remap: Bno055AxisRemap | string): Promise<void>;
|
|
116
|
+
getTemperatureSource(): Promise<Bno055TempSource>;
|
|
117
|
+
setTemperatureSource(source: Bno055TempSource): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* The usual session setup: CONFIG → units → axis remap → calibration
|
|
120
|
+
* profile → mode (default NDOF). In a fusion mode it resolves once the
|
|
121
|
+
* fusion outputs are live. Remembered for restoreConfiguration().
|
|
122
|
+
*/
|
|
123
|
+
configure(opts?: Bno055ConfigureOptions): Promise<void>;
|
|
124
|
+
/**
|
|
125
|
+
* Re-apply the last configure() — after resetSensor(), or when
|
|
126
|
+
* bridgeInfo().sensorResets rose (the bridge's bus recovery pulses nRESET).
|
|
127
|
+
*/
|
|
128
|
+
restoreConfiguration(): Promise<void>;
|
|
129
|
+
/** ST_RESULT, SYS_CLK_STATUS, SYS_STATUS, SYS_ERR (INT_STA skipped). */
|
|
130
|
+
systemStatus(): Promise<Bno055SystemStatus>;
|
|
131
|
+
/**
|
|
132
|
+
* Built-in self-test (datasheet §3.9.2): CONFIG, SYS_TRIGGER SELF_TEST,
|
|
133
|
+
* ~400 ms, then read the verdict. The mode is restored. Not while streaming.
|
|
134
|
+
*/
|
|
135
|
+
selfTest(): Promise<Bno055SystemStatus>;
|
|
136
|
+
calibrationStatus(): Promise<Bno055CalibStatus>;
|
|
137
|
+
/** Offsets and radii (0x55..0x6A) — CONFIG only; the driver switches there and back. */
|
|
138
|
+
readCalibrationProfile(): Promise<Bno055CalibrationProfile>;
|
|
139
|
+
/**
|
|
140
|
+
* Restore a stored profile: CONFIG, all 22 bytes, back to the previous
|
|
141
|
+
* mode. A starting point — fusion refines it as soon as it resumes.
|
|
142
|
+
*/
|
|
143
|
+
writeCalibrationProfile(profile: Bno055CalibrationProfile): Promise<void>;
|
|
144
|
+
getSicMatrix(): Promise<number[]>;
|
|
145
|
+
setSicMatrix(matrix?: readonly number[]): Promise<void>;
|
|
146
|
+
getAccelConfig(): Promise<Bno055AccelConfig>;
|
|
147
|
+
setAccelConfig(c: Bno055AccelConfig): Promise<void>;
|
|
148
|
+
getGyroConfig(): Promise<Bno055GyroConfig>;
|
|
149
|
+
setGyroConfig(c: Bno055GyroConfig): Promise<void>;
|
|
150
|
+
getMagConfig(): Promise<Bno055MagConfig>;
|
|
151
|
+
setMagConfig(c: Bno055MagConfig): Promise<void>;
|
|
152
|
+
/** The chip's 16-byte unique id (page 1, 0x50..0x5F). */
|
|
153
|
+
uniqueId(): Promise<Uint8Array>;
|
|
154
|
+
getInterruptEnable(): Promise<number>;
|
|
155
|
+
setInterruptEnable(mask: number): Promise<void>;
|
|
156
|
+
getInterruptMask(): Promise<number>;
|
|
157
|
+
setInterruptMask(mask: number): Promise<void>;
|
|
158
|
+
/** One raw motion-interrupt setting (page 1, 0x11..0x1F). Not while streaming. */
|
|
159
|
+
setInterruptSetting(register: number, value: number): Promise<void>;
|
|
160
|
+
/** INT_STA — which interrupts fired. Clears on read. */
|
|
161
|
+
readInterruptStatus(): Promise<number>;
|
|
162
|
+
/** SYS_TRIGGER RST_INT: reset the interrupt status bits and the INT pin. */
|
|
163
|
+
clearInterrupt(): Promise<void>;
|
|
164
|
+
/** Poll one register block (default the full 46-byte block) and decode it. */
|
|
165
|
+
readSample(block?: readonly [number, number]): Promise<Bno055Sample>;
|
|
166
|
+
/** (w, x, y, z) — the cheapest orientation read. */
|
|
167
|
+
readQuaternion(): Promise<[number, number, number, number]>;
|
|
168
|
+
/**
|
|
169
|
+
* Arm the bridge: read `block` every `periodMs` and push it. Fusion runs at
|
|
170
|
+
* 100 Hz, so 10 ms is the useful floor. `trigger = BNO055_TRIGGER_INT`
|
|
171
|
+
* reads on the INT edge with `periodMs` as a watchdog. Replaces a stream.
|
|
172
|
+
*/
|
|
173
|
+
startStream(periodMs?: number, block?: readonly [number, number], trigger?: number): Promise<void>;
|
|
174
|
+
stopStream(): Promise<void>;
|
|
175
|
+
get streaming(): boolean;
|
|
176
|
+
/** Subscribe to streamed samples (read-pump context; don't block). */
|
|
177
|
+
onSample(cb: (s: Bno055Sample) => void): () => void;
|
|
178
|
+
/** Async iterator over streamed samples — bounded, drop-oldest. */
|
|
179
|
+
samples(maxsize?: number): StreamQueue<Bno055Sample>;
|
|
180
|
+
/** Wait for the next streamed sample. */
|
|
181
|
+
getSample(timeoutMs?: number): Promise<Bno055Sample>;
|
|
182
|
+
/** Stream reports dropped because they did not decode (short block). */
|
|
183
|
+
get streamParseErrors(): number;
|
|
184
|
+
get streamDroppedCounts(): number[];
|
|
185
|
+
/** Run `fn` after every previously queued sequence (non-reentrant). */
|
|
186
|
+
private locked;
|
|
187
|
+
private rd;
|
|
188
|
+
private wr;
|
|
189
|
+
private onPage;
|
|
190
|
+
private switchMode;
|
|
191
|
+
/** Run `fn` in CONFIG mode and put the previous mode back. */
|
|
192
|
+
private inConfig;
|
|
193
|
+
private writePage1Config;
|
|
194
|
+
private readSystemStatus;
|
|
195
|
+
/** Poll SYS_STATUS until the sensor's own boot (init + POST) is over. */
|
|
196
|
+
/** A self-test run in CONFIG leaves SYS_STATUS at 4 until the mode leaves CONFIG; step into ACCONLY and back. */
|
|
197
|
+
private clearSelfTestStatus;
|
|
198
|
+
/** Poll SYS_STATUS until boot (init + POST) is over; a 4 that outlasts POST is a self-test leftover, cleared. */
|
|
199
|
+
private waitBooted;
|
|
200
|
+
/** A running fusion never outputs the all-zero quaternion. */
|
|
201
|
+
private waitFusionStarted;
|
|
202
|
+
private currentUnits;
|
|
203
|
+
private requireNotStreaming;
|
|
204
|
+
protected handleReport(pkt: PacketEvent): boolean;
|
|
205
|
+
}
|
|
206
|
+
export {};
|
|
207
|
+
//# sourceMappingURL=bno055.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bno055.d.ts","sourceRoot":"","sources":["../../../src/sensors/bno055/bno055.ts"],"names":[],"mappings":"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"}
|