rp2040js 0.17.17 → 0.18.1
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/dist/cjs/clock/clock.d.ts +11 -11
- package/dist/cjs/clock/clock.js +2 -2
- package/dist/cjs/clock/mock-clock.d.ts +17 -17
- package/dist/cjs/clock/mock-clock.js +52 -52
- package/dist/cjs/clock/realtime-clock.d.ts +23 -23
- package/dist/cjs/clock/realtime-clock.js +73 -73
- package/dist/cjs/cortex-m0-core.d.ts +87 -87
- package/dist/cjs/cortex-m0-core.js +1251 -1251
- package/dist/cjs/gdb/gdb-connection.d.ts +11 -11
- package/dist/cjs/gdb/gdb-connection.js +57 -57
- package/dist/cjs/gdb/gdb-server.d.ts +23 -23
- package/dist/cjs/gdb/gdb-server.js +232 -232
- package/dist/cjs/gdb/gdb-tcp-server.d.ts +10 -10
- package/dist/cjs/gdb/gdb-tcp-server.js +34 -34
- package/dist/cjs/gdb/gdb-utils.d.ts +9 -9
- package/dist/cjs/gdb/gdb-utils.js +48 -48
- package/dist/cjs/gpio-pin.d.ts +56 -56
- package/dist/cjs/gpio-pin.js +216 -216
- package/dist/cjs/index.d.ts +11 -11
- package/dist/cjs/index.js +36 -36
- package/dist/cjs/interpolator.d.ts +36 -36
- package/dist/cjs/interpolator.js +150 -150
- package/dist/cjs/irq.d.ts +29 -29
- package/dist/cjs/irq.js +33 -33
- package/dist/cjs/peripherals/adc.d.ts +52 -52
- package/dist/cjs/peripherals/adc.js +261 -261
- package/dist/cjs/peripherals/busctrl.d.ts +10 -10
- package/dist/cjs/peripherals/busctrl.js +84 -84
- package/dist/cjs/peripherals/clocks.d.ts +9 -9
- package/dist/cjs/peripherals/clocks.js +42 -42
- package/dist/cjs/peripherals/dma.d.ts +109 -109
- package/dist/cjs/peripherals/dma.js +520 -520
- package/dist/cjs/peripherals/i2c.d.ts +54 -54
- package/dist/cjs/peripherals/i2c.js +458 -458
- package/dist/cjs/peripherals/io.d.ts +11 -11
- package/dist/cjs/peripherals/io.js +100 -100
- package/dist/cjs/peripherals/pads.d.ts +13 -13
- package/dist/cjs/peripherals/pads.js +58 -58
- package/dist/cjs/peripherals/peripheral.d.ts +22 -22
- package/dist/cjs/peripherals/peripheral.js +61 -61
- package/dist/cjs/peripherals/pio.d.ts +120 -120
- package/dist/cjs/peripherals/pio.js +1086 -1086
- package/dist/cjs/peripherals/ppb.d.ts +25 -25
- package/dist/cjs/peripherals/ppb.js +229 -229
- package/dist/cjs/peripherals/pwm.d.ts +65 -65
- package/dist/cjs/peripherals/pwm.js +372 -372
- package/dist/cjs/peripherals/reset.d.ts +8 -8
- package/dist/cjs/peripherals/reset.js +40 -40
- package/dist/cjs/peripherals/rtc.d.ts +10 -10
- package/dist/cjs/peripherals/rtc.js +74 -74
- package/dist/cjs/peripherals/spi.d.ts +38 -38
- package/dist/cjs/peripherals/spi.js +240 -240
- package/dist/cjs/peripherals/ssi.d.ts +6 -6
- package/dist/cjs/peripherals/ssi.js +43 -43
- package/dist/cjs/peripherals/syscfg.d.ts +5 -5
- package/dist/cjs/peripherals/syscfg.js +26 -26
- package/dist/cjs/peripherals/sysinfo.d.ts +4 -4
- package/dist/cjs/peripherals/sysinfo.js +22 -22
- package/dist/cjs/peripherals/tbman.d.ts +4 -4
- package/dist/cjs/peripherals/tbman.js +17 -17
- package/dist/cjs/peripherals/timer.d.ts +18 -18
- package/dist/cjs/peripherals/timer.js +156 -156
- package/dist/cjs/peripherals/uart.d.ts +31 -31
- package/dist/cjs/peripherals/uart.js +132 -132
- package/dist/cjs/peripherals/usb.d.ts +29 -29
- package/dist/cjs/peripherals/usb.js +309 -309
- package/dist/cjs/rp2040.d.ts +71 -71
- package/dist/cjs/rp2040.js +361 -361
- package/dist/cjs/sio.d.ts +21 -21
- package/dist/cjs/sio.js +425 -425
- package/dist/cjs/usb/cdc.d.ts +20 -20
- package/dist/cjs/usb/cdc.js +126 -126
- package/dist/cjs/usb/interfaces.d.ts +47 -47
- package/dist/cjs/usb/interfaces.js +46 -46
- package/dist/cjs/usb/setup.d.ts +5 -5
- package/dist/cjs/usb/setup.js +53 -53
- package/dist/cjs/utils/assembler.d.ts +79 -79
- package/dist/cjs/utils/assembler.js +328 -328
- package/dist/cjs/utils/bit.d.ts +3 -3
- package/dist/cjs/utils/bit.js +15 -15
- package/dist/cjs/utils/fifo.d.ts +15 -15
- package/dist/cjs/utils/fifo.js +56 -56
- package/dist/cjs/utils/logging.d.ts +23 -23
- package/dist/cjs/utils/logging.js +48 -48
- package/dist/cjs/utils/pio-assembler.d.ts +45 -45
- package/dist/cjs/utils/pio-assembler.js +87 -87
- package/dist/cjs/utils/time.d.ts +2 -2
- package/dist/cjs/utils/time.js +32 -32
- package/dist/cjs/utils/timer32.d.ts +57 -57
- package/dist/cjs/utils/timer32.js +208 -208
- package/dist/esm/clock/clock.d.ts +11 -11
- package/dist/esm/clock/clock.js +1 -1
- package/dist/esm/clock/mock-clock.d.ts +17 -17
- package/dist/esm/clock/mock-clock.js +47 -47
- package/dist/esm/clock/realtime-clock.d.ts +23 -23
- package/dist/esm/clock/realtime-clock.js +68 -68
- package/dist/esm/cortex-m0-core.d.ts +87 -87
- package/dist/esm/cortex-m0-core.js +1247 -1247
- package/dist/esm/gdb/gdb-connection.d.ts +11 -11
- package/dist/esm/gdb/gdb-connection.js +53 -53
- package/dist/esm/gdb/gdb-server.d.ts +23 -23
- package/dist/esm/gdb/gdb-server.js +228 -228
- package/dist/esm/gdb/gdb-tcp-server.d.ts +10 -10
- package/dist/esm/gdb/gdb-tcp-server.js +30 -30
- package/dist/esm/gdb/gdb-utils.d.ts +9 -9
- package/dist/esm/gdb/gdb-utils.js +36 -36
- package/dist/esm/gpio-pin.d.ts +56 -56
- package/dist/esm/gpio-pin.js +212 -212
- package/dist/esm/index.d.ts +11 -11
- package/dist/esm/index.js +11 -11
- package/dist/esm/interpolator.d.ts +36 -36
- package/dist/esm/interpolator.js +145 -145
- package/dist/esm/irq.d.ts +29 -29
- package/dist/esm/irq.js +30 -30
- package/dist/esm/peripherals/adc.d.ts +52 -52
- package/dist/esm/peripherals/adc.js +257 -257
- package/dist/esm/peripherals/busctrl.d.ts +10 -10
- package/dist/esm/peripherals/busctrl.js +80 -80
- package/dist/esm/peripherals/clocks.d.ts +9 -9
- package/dist/esm/peripherals/clocks.js +38 -38
- package/dist/esm/peripherals/dma.d.ts +109 -109
- package/dist/esm/peripherals/dma.js +515 -515
- package/dist/esm/peripherals/i2c.d.ts +54 -54
- package/dist/esm/peripherals/i2c.js +454 -454
- package/dist/esm/peripherals/io.d.ts +11 -11
- package/dist/esm/peripherals/io.js +96 -96
- package/dist/esm/peripherals/pads.d.ts +13 -13
- package/dist/esm/peripherals/pads.js +54 -54
- package/dist/esm/peripherals/peripheral.d.ts +22 -22
- package/dist/esm/peripherals/peripheral.js +55 -55
- package/dist/esm/peripherals/pio.d.ts +120 -120
- package/dist/esm/peripherals/pio.js +1081 -1081
- package/dist/esm/peripherals/ppb.d.ts +25 -25
- package/dist/esm/peripherals/ppb.js +225 -225
- package/dist/esm/peripherals/pwm.d.ts +65 -65
- package/dist/esm/peripherals/pwm.js +368 -368
- package/dist/esm/peripherals/reset.d.ts +8 -8
- package/dist/esm/peripherals/reset.js +36 -36
- package/dist/esm/peripherals/rtc.d.ts +10 -10
- package/dist/esm/peripherals/rtc.js +70 -70
- package/dist/esm/peripherals/spi.d.ts +38 -38
- package/dist/esm/peripherals/spi.js +236 -236
- package/dist/esm/peripherals/ssi.d.ts +6 -6
- package/dist/esm/peripherals/ssi.js +39 -39
- package/dist/esm/peripherals/syscfg.d.ts +5 -5
- package/dist/esm/peripherals/syscfg.js +22 -22
- package/dist/esm/peripherals/sysinfo.d.ts +4 -4
- package/dist/esm/peripherals/sysinfo.js +18 -18
- package/dist/esm/peripherals/tbman.d.ts +4 -4
- package/dist/esm/peripherals/tbman.js +13 -13
- package/dist/esm/peripherals/timer.d.ts +18 -18
- package/dist/esm/peripherals/timer.js +152 -152
- package/dist/esm/peripherals/uart.d.ts +31 -31
- package/dist/esm/peripherals/uart.js +128 -128
- package/dist/esm/peripherals/usb.d.ts +29 -29
- package/dist/esm/peripherals/usb.js +305 -305
- package/dist/esm/rp2040.d.ts +71 -71
- package/dist/esm/rp2040.js +357 -357
- package/dist/esm/sio.d.ts +21 -21
- package/dist/esm/sio.js +421 -421
- package/dist/esm/usb/cdc.d.ts +20 -20
- package/dist/esm/usb/cdc.js +121 -121
- package/dist/esm/usb/interfaces.d.ts +47 -47
- package/dist/esm/usb/interfaces.js +43 -43
- package/dist/esm/usb/setup.d.ts +5 -5
- package/dist/esm/usb/setup.js +46 -46
- package/dist/esm/utils/assembler.d.ts +79 -79
- package/dist/esm/utils/assembler.js +245 -245
- package/dist/esm/utils/bit.d.ts +3 -3
- package/dist/esm/utils/bit.js +9 -9
- package/dist/esm/utils/fifo.d.ts +15 -15
- package/dist/esm/utils/fifo.js +52 -52
- package/dist/esm/utils/logging.d.ts +23 -23
- package/dist/esm/utils/logging.js +44 -44
- package/dist/esm/utils/pio-assembler.d.ts +45 -45
- package/dist/esm/utils/pio-assembler.js +75 -75
- package/dist/esm/utils/time.d.ts +2 -2
- package/dist/esm/utils/time.js +27 -27
- package/dist/esm/utils/timer32.d.ts +57 -57
- package/dist/esm/utils/timer32.js +203 -203
- package/package.json +38 -27
- package/dist/esm/package.json +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Socket } from 'net';
|
|
3
|
-
import { GDBServer } from './gdb-server';
|
|
4
|
-
import { RP2040 } from '../rp2040';
|
|
5
|
-
export declare class GDBTCPServer extends GDBServer {
|
|
6
|
-
readonly port: number;
|
|
7
|
-
private socketServer;
|
|
8
|
-
constructor(rp2040: RP2040, port?: number);
|
|
9
|
-
handleConnection(socket: Socket): void;
|
|
10
|
-
}
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { Socket } from 'net';
|
|
3
|
+
import { GDBServer } from './gdb-server.js';
|
|
4
|
+
import { RP2040 } from '../rp2040.js';
|
|
5
|
+
export declare class GDBTCPServer extends GDBServer {
|
|
6
|
+
readonly port: number;
|
|
7
|
+
private socketServer;
|
|
8
|
+
constructor(rp2040: RP2040, port?: number);
|
|
9
|
+
handleConnection(socket: Socket): void;
|
|
10
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { createServer } from 'net';
|
|
2
|
-
import { GDBConnection } from './gdb-connection';
|
|
3
|
-
import { GDBServer } from './gdb-server';
|
|
4
|
-
export class GDBTCPServer extends GDBServer {
|
|
5
|
-
constructor(rp2040, port = 3333) {
|
|
6
|
-
super(rp2040);
|
|
7
|
-
this.port = port;
|
|
8
|
-
this.socketServer = createServer();
|
|
9
|
-
this.socketServer.listen(port);
|
|
10
|
-
this.socketServer.on('connection', (socket) => this.handleConnection(socket));
|
|
11
|
-
}
|
|
12
|
-
handleConnection(socket) {
|
|
13
|
-
this.info('GDB connected');
|
|
14
|
-
socket.setNoDelay(true);
|
|
15
|
-
const connection = new GDBConnection(this, (data) => {
|
|
16
|
-
socket.write(data);
|
|
17
|
-
});
|
|
18
|
-
socket.on('data', (data) => {
|
|
19
|
-
connection.feedData(data.toString('utf-8'));
|
|
20
|
-
});
|
|
21
|
-
socket.on('error', (err) => {
|
|
22
|
-
this.removeConnection(connection);
|
|
23
|
-
this.error(`GDB socket error ${err}`);
|
|
24
|
-
});
|
|
25
|
-
socket.on('close', () => {
|
|
26
|
-
this.removeConnection(connection);
|
|
27
|
-
this.info('GDB disconnected');
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
}
|
|
1
|
+
import { createServer } from 'net';
|
|
2
|
+
import { GDBConnection } from './gdb-connection.js';
|
|
3
|
+
import { GDBServer } from './gdb-server.js';
|
|
4
|
+
export class GDBTCPServer extends GDBServer {
|
|
5
|
+
constructor(rp2040, port = 3333) {
|
|
6
|
+
super(rp2040);
|
|
7
|
+
this.port = port;
|
|
8
|
+
this.socketServer = createServer();
|
|
9
|
+
this.socketServer.listen(port);
|
|
10
|
+
this.socketServer.on('connection', (socket) => this.handleConnection(socket));
|
|
11
|
+
}
|
|
12
|
+
handleConnection(socket) {
|
|
13
|
+
this.info('GDB connected');
|
|
14
|
+
socket.setNoDelay(true);
|
|
15
|
+
const connection = new GDBConnection(this, (data) => {
|
|
16
|
+
socket.write(data);
|
|
17
|
+
});
|
|
18
|
+
socket.on('data', (data) => {
|
|
19
|
+
connection.feedData(data.toString('utf-8'));
|
|
20
|
+
});
|
|
21
|
+
socket.on('error', (err) => {
|
|
22
|
+
this.removeConnection(connection);
|
|
23
|
+
this.error(`GDB socket error ${err}`);
|
|
24
|
+
});
|
|
25
|
+
socket.on('close', () => {
|
|
26
|
+
this.removeConnection(connection);
|
|
27
|
+
this.info('GDB disconnected');
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export declare function encodeHexByte(value: number): string;
|
|
2
|
-
export declare function encodeHexBuf(buf: Uint8Array): string;
|
|
3
|
-
export declare function encodeHexUint32BE(value: number): string;
|
|
4
|
-
export declare function encodeHexUint32(value: number): string;
|
|
5
|
-
export declare function decodeHexBuf(encoded: string): Uint8Array;
|
|
6
|
-
export declare function decodeHexUint32Array(encoded: string): Uint32Array;
|
|
7
|
-
export declare function decodeHexUint32(encoded: string): number;
|
|
8
|
-
export declare function gdbChecksum(text: string): string;
|
|
9
|
-
export declare function gdbMessage(value: string): string;
|
|
1
|
+
export declare function encodeHexByte(value: number): string;
|
|
2
|
+
export declare function encodeHexBuf(buf: Uint8Array): string;
|
|
3
|
+
export declare function encodeHexUint32BE(value: number): string;
|
|
4
|
+
export declare function encodeHexUint32(value: number): string;
|
|
5
|
+
export declare function decodeHexBuf(encoded: string): Uint8Array;
|
|
6
|
+
export declare function decodeHexUint32Array(encoded: string): Uint32Array;
|
|
7
|
+
export declare function decodeHexUint32(encoded: string): number;
|
|
8
|
+
export declare function gdbChecksum(text: string): string;
|
|
9
|
+
export declare function gdbMessage(value: string): string;
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
export function encodeHexByte(value) {
|
|
2
|
-
return (value >> 4).toString(16) + (value & 0xf).toString(16);
|
|
3
|
-
}
|
|
4
|
-
export function encodeHexBuf(buf) {
|
|
5
|
-
return Array.from(buf).map(encodeHexByte).join('');
|
|
6
|
-
}
|
|
7
|
-
export function encodeHexUint32BE(value) {
|
|
8
|
-
return encodeHexBuf(new Uint8Array([(value >> 24) & 0xff, (value >> 16) & 0xff, (value >> 8) & 0xff, value & 0xff]));
|
|
9
|
-
}
|
|
10
|
-
export function encodeHexUint32(value) {
|
|
11
|
-
const buf = new Uint32Array([value]);
|
|
12
|
-
return encodeHexBuf(new Uint8Array(buf.buffer));
|
|
13
|
-
}
|
|
14
|
-
export function decodeHexBuf(encoded) {
|
|
15
|
-
const result = new Uint8Array(encoded.length / 2);
|
|
16
|
-
for (let i = 0; i < result.length; i++) {
|
|
17
|
-
result[i] = parseInt(encoded.substr(i * 2, 2), 16);
|
|
18
|
-
}
|
|
19
|
-
return result;
|
|
20
|
-
}
|
|
21
|
-
export function decodeHexUint32Array(encoded) {
|
|
22
|
-
return new Uint32Array(decodeHexBuf(encoded).buffer);
|
|
23
|
-
}
|
|
24
|
-
export function decodeHexUint32(encoded) {
|
|
25
|
-
return decodeHexUint32Array(encoded)[0];
|
|
26
|
-
}
|
|
27
|
-
export function gdbChecksum(text) {
|
|
28
|
-
const value = text
|
|
29
|
-
.split('')
|
|
30
|
-
.map((c) => c.charCodeAt(0))
|
|
31
|
-
.reduce((a, b) => a + b, 0) & 0xff;
|
|
32
|
-
return encodeHexByte(value);
|
|
33
|
-
}
|
|
34
|
-
export function gdbMessage(value) {
|
|
35
|
-
return `$${value}#${gdbChecksum(value)}`;
|
|
36
|
-
}
|
|
1
|
+
export function encodeHexByte(value) {
|
|
2
|
+
return (value >> 4).toString(16) + (value & 0xf).toString(16);
|
|
3
|
+
}
|
|
4
|
+
export function encodeHexBuf(buf) {
|
|
5
|
+
return Array.from(buf).map(encodeHexByte).join('');
|
|
6
|
+
}
|
|
7
|
+
export function encodeHexUint32BE(value) {
|
|
8
|
+
return encodeHexBuf(new Uint8Array([(value >> 24) & 0xff, (value >> 16) & 0xff, (value >> 8) & 0xff, value & 0xff]));
|
|
9
|
+
}
|
|
10
|
+
export function encodeHexUint32(value) {
|
|
11
|
+
const buf = new Uint32Array([value]);
|
|
12
|
+
return encodeHexBuf(new Uint8Array(buf.buffer));
|
|
13
|
+
}
|
|
14
|
+
export function decodeHexBuf(encoded) {
|
|
15
|
+
const result = new Uint8Array(encoded.length / 2);
|
|
16
|
+
for (let i = 0; i < result.length; i++) {
|
|
17
|
+
result[i] = parseInt(encoded.substr(i * 2, 2), 16);
|
|
18
|
+
}
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
export function decodeHexUint32Array(encoded) {
|
|
22
|
+
return new Uint32Array(decodeHexBuf(encoded).buffer);
|
|
23
|
+
}
|
|
24
|
+
export function decodeHexUint32(encoded) {
|
|
25
|
+
return decodeHexUint32Array(encoded)[0];
|
|
26
|
+
}
|
|
27
|
+
export function gdbChecksum(text) {
|
|
28
|
+
const value = text
|
|
29
|
+
.split('')
|
|
30
|
+
.map((c) => c.charCodeAt(0))
|
|
31
|
+
.reduce((a, b) => a + b, 0) & 0xff;
|
|
32
|
+
return encodeHexByte(value);
|
|
33
|
+
}
|
|
34
|
+
export function gdbMessage(value) {
|
|
35
|
+
return `$${value}#${gdbChecksum(value)}`;
|
|
36
|
+
}
|
package/dist/esm/gpio-pin.d.ts
CHANGED
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
import { RP2040 } from './rp2040';
|
|
2
|
-
export declare enum GPIOPinState {
|
|
3
|
-
Low = 0,
|
|
4
|
-
High = 1,
|
|
5
|
-
Input = 2,
|
|
6
|
-
InputPullUp = 3,
|
|
7
|
-
InputPullDown = 4
|
|
8
|
-
}
|
|
9
|
-
export declare const FUNCTION_PWM = 4;
|
|
10
|
-
export declare const FUNCTION_SIO = 5;
|
|
11
|
-
export declare const FUNCTION_PIO0 = 6;
|
|
12
|
-
export declare const FUNCTION_PIO1 = 7;
|
|
13
|
-
export
|
|
14
|
-
export declare class GPIOPin {
|
|
15
|
-
readonly rp2040: RP2040;
|
|
16
|
-
readonly index: number;
|
|
17
|
-
readonly name: string;
|
|
18
|
-
private rawInputValue;
|
|
19
|
-
private lastValue;
|
|
20
|
-
ctrl: number;
|
|
21
|
-
padValue: number;
|
|
22
|
-
irqEnableMask: number;
|
|
23
|
-
irqForceMask: number;
|
|
24
|
-
irqStatus: number;
|
|
25
|
-
private readonly listeners;
|
|
26
|
-
constructor(rp2040: RP2040, index: number, name?: string);
|
|
27
|
-
get rawInterrupt(): boolean;
|
|
28
|
-
get isSlewFast(): boolean;
|
|
29
|
-
get schmittEnabled(): boolean;
|
|
30
|
-
get pulldownEnabled(): boolean;
|
|
31
|
-
get pullupEnabled(): boolean;
|
|
32
|
-
get driveStrength(): number;
|
|
33
|
-
get inputEnable(): boolean;
|
|
34
|
-
get outputDisable(): boolean;
|
|
35
|
-
get functionSelect(): number;
|
|
36
|
-
get outputOverride(): number;
|
|
37
|
-
get outputEnableOverride(): number;
|
|
38
|
-
get inputOverride(): number;
|
|
39
|
-
get irqOverride(): number;
|
|
40
|
-
get rawOutputEnable(): boolean;
|
|
41
|
-
get rawOutputValue(): boolean;
|
|
42
|
-
get inputValue(): boolean;
|
|
43
|
-
get irqValue(): boolean;
|
|
44
|
-
get outputEnable(): boolean;
|
|
45
|
-
get outputValue(): boolean;
|
|
46
|
-
/**
|
|
47
|
-
* Returns the STATUS register value for the pin, as outlined in section 2.19.6 of the datasheet
|
|
48
|
-
*/
|
|
49
|
-
get status(): number;
|
|
50
|
-
get value(): GPIOPinState;
|
|
51
|
-
setInputValue(value: boolean): void;
|
|
52
|
-
checkForUpdates(): void;
|
|
53
|
-
refreshInput(): void;
|
|
54
|
-
updateIRQValue(value: number): void;
|
|
55
|
-
addListener(callback: GPIOPinListener): () => boolean;
|
|
56
|
-
}
|
|
1
|
+
import { RP2040 } from './rp2040.js';
|
|
2
|
+
export declare enum GPIOPinState {
|
|
3
|
+
Low = 0,
|
|
4
|
+
High = 1,
|
|
5
|
+
Input = 2,
|
|
6
|
+
InputPullUp = 3,
|
|
7
|
+
InputPullDown = 4
|
|
8
|
+
}
|
|
9
|
+
export declare const FUNCTION_PWM = 4;
|
|
10
|
+
export declare const FUNCTION_SIO = 5;
|
|
11
|
+
export declare const FUNCTION_PIO0 = 6;
|
|
12
|
+
export declare const FUNCTION_PIO1 = 7;
|
|
13
|
+
export type GPIOPinListener = (state: GPIOPinState, oldState: GPIOPinState) => void;
|
|
14
|
+
export declare class GPIOPin {
|
|
15
|
+
readonly rp2040: RP2040;
|
|
16
|
+
readonly index: number;
|
|
17
|
+
readonly name: string;
|
|
18
|
+
private rawInputValue;
|
|
19
|
+
private lastValue;
|
|
20
|
+
ctrl: number;
|
|
21
|
+
padValue: number;
|
|
22
|
+
irqEnableMask: number;
|
|
23
|
+
irqForceMask: number;
|
|
24
|
+
irqStatus: number;
|
|
25
|
+
private readonly listeners;
|
|
26
|
+
constructor(rp2040: RP2040, index: number, name?: string);
|
|
27
|
+
get rawInterrupt(): boolean;
|
|
28
|
+
get isSlewFast(): boolean;
|
|
29
|
+
get schmittEnabled(): boolean;
|
|
30
|
+
get pulldownEnabled(): boolean;
|
|
31
|
+
get pullupEnabled(): boolean;
|
|
32
|
+
get driveStrength(): number;
|
|
33
|
+
get inputEnable(): boolean;
|
|
34
|
+
get outputDisable(): boolean;
|
|
35
|
+
get functionSelect(): number;
|
|
36
|
+
get outputOverride(): number;
|
|
37
|
+
get outputEnableOverride(): number;
|
|
38
|
+
get inputOverride(): number;
|
|
39
|
+
get irqOverride(): number;
|
|
40
|
+
get rawOutputEnable(): boolean;
|
|
41
|
+
get rawOutputValue(): boolean;
|
|
42
|
+
get inputValue(): boolean;
|
|
43
|
+
get irqValue(): boolean;
|
|
44
|
+
get outputEnable(): boolean;
|
|
45
|
+
get outputValue(): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Returns the STATUS register value for the pin, as outlined in section 2.19.6 of the datasheet
|
|
48
|
+
*/
|
|
49
|
+
get status(): number;
|
|
50
|
+
get value(): GPIOPinState;
|
|
51
|
+
setInputValue(value: boolean): void;
|
|
52
|
+
checkForUpdates(): void;
|
|
53
|
+
refreshInput(): void;
|
|
54
|
+
updateIRQValue(value: number): void;
|
|
55
|
+
addListener(callback: GPIOPinListener): () => boolean;
|
|
56
|
+
}
|