rp2040js 0.17.16 → 0.18.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 +1 -1
- 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 -30
- package/dist/cjs/peripherals/spi.js +240 -218
- 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 -28
- package/dist/cjs/peripherals/uart.js +132 -135
- 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 -346
- 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 -30
- package/dist/esm/peripherals/spi.js +236 -214
- 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 -28
- package/dist/esm/peripherals/uart.js +128 -131
- 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 -342
- 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 +34 -22
- package/dist/esm/package.json +0 -1
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
import { BasePeripheral } from './peripheral';
|
|
2
|
-
/** Bus priority acknowledge */
|
|
3
|
-
const BUS_PRIORITY_ACK = 0x004;
|
|
4
|
-
/** Bus fabric performance counter 0 */
|
|
5
|
-
const PERFCTR0 = 0x008;
|
|
6
|
-
/** Bus fabric performance event select for PERFCTR0 */
|
|
7
|
-
const PERFSEL0 = 0x00c;
|
|
8
|
-
/** Bus fabric performance counter 1 */
|
|
9
|
-
const PERFCTR1 = 0x010;
|
|
10
|
-
/** Bus fabric performance event select for PERFCTR1 */
|
|
11
|
-
const PERFSEL1 = 0x014;
|
|
12
|
-
/** Bus fabric performance counter 2 */
|
|
13
|
-
const PERFCTR2 = 0x018;
|
|
14
|
-
/** Bus fabric performance event select for PERFCTR2 */
|
|
15
|
-
const PERFSEL2 = 0x01c;
|
|
16
|
-
/** Bus fabric performance counter 3 */
|
|
17
|
-
const PERFCTR3 = 0x020;
|
|
18
|
-
/** Bus fabric performance event select for PERFCTR3 */
|
|
19
|
-
const PERFSEL3 = 0x024;
|
|
20
|
-
export class RPBUSCTRL extends BasePeripheral {
|
|
21
|
-
constructor(rp2040, name) {
|
|
22
|
-
super(rp2040, name);
|
|
23
|
-
this.voltageSelect = 0;
|
|
24
|
-
this.perfCtr = [0, 0, 0, 0];
|
|
25
|
-
this.perfSel = [0x1f, 0x1f, 0x1f, 0x1f];
|
|
26
|
-
}
|
|
27
|
-
readUint32(offset) {
|
|
28
|
-
switch (offset) {
|
|
29
|
-
case BUS_PRIORITY_ACK:
|
|
30
|
-
return 1;
|
|
31
|
-
case PERFCTR0:
|
|
32
|
-
return this.perfCtr[0];
|
|
33
|
-
case PERFSEL0:
|
|
34
|
-
return this.perfSel[0];
|
|
35
|
-
case PERFCTR1:
|
|
36
|
-
return this.perfCtr[1];
|
|
37
|
-
case PERFSEL1:
|
|
38
|
-
return this.perfSel[1];
|
|
39
|
-
case PERFCTR2:
|
|
40
|
-
return this.perfCtr[2];
|
|
41
|
-
case PERFSEL2:
|
|
42
|
-
return this.perfSel[2];
|
|
43
|
-
case PERFCTR3:
|
|
44
|
-
return this.perfCtr[3];
|
|
45
|
-
case PERFSEL3:
|
|
46
|
-
return this.perfSel[3];
|
|
47
|
-
}
|
|
48
|
-
return super.readUint32(offset);
|
|
49
|
-
}
|
|
50
|
-
writeUint32(offset, value) {
|
|
51
|
-
switch (offset) {
|
|
52
|
-
case PERFCTR0:
|
|
53
|
-
this.perfCtr[0] = 0;
|
|
54
|
-
break;
|
|
55
|
-
case PERFSEL0:
|
|
56
|
-
this.perfSel[0] = value & 0x1f;
|
|
57
|
-
break;
|
|
58
|
-
case PERFCTR1:
|
|
59
|
-
this.perfCtr[1] = 0;
|
|
60
|
-
break;
|
|
61
|
-
case PERFSEL1:
|
|
62
|
-
this.perfSel[1] = value & 0x1f;
|
|
63
|
-
break;
|
|
64
|
-
case PERFCTR2:
|
|
65
|
-
this.perfCtr[2] = 0;
|
|
66
|
-
break;
|
|
67
|
-
case PERFSEL2:
|
|
68
|
-
this.perfSel[2] = value & 0x1f;
|
|
69
|
-
break;
|
|
70
|
-
case PERFCTR3:
|
|
71
|
-
this.perfCtr[3] = 0;
|
|
72
|
-
break;
|
|
73
|
-
case PERFSEL3:
|
|
74
|
-
this.perfSel[3] = value & 0x1f;
|
|
75
|
-
break;
|
|
76
|
-
default:
|
|
77
|
-
super.writeUint32(offset, value);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
1
|
+
import { BasePeripheral } from './peripheral.js';
|
|
2
|
+
/** Bus priority acknowledge */
|
|
3
|
+
const BUS_PRIORITY_ACK = 0x004;
|
|
4
|
+
/** Bus fabric performance counter 0 */
|
|
5
|
+
const PERFCTR0 = 0x008;
|
|
6
|
+
/** Bus fabric performance event select for PERFCTR0 */
|
|
7
|
+
const PERFSEL0 = 0x00c;
|
|
8
|
+
/** Bus fabric performance counter 1 */
|
|
9
|
+
const PERFCTR1 = 0x010;
|
|
10
|
+
/** Bus fabric performance event select for PERFCTR1 */
|
|
11
|
+
const PERFSEL1 = 0x014;
|
|
12
|
+
/** Bus fabric performance counter 2 */
|
|
13
|
+
const PERFCTR2 = 0x018;
|
|
14
|
+
/** Bus fabric performance event select for PERFCTR2 */
|
|
15
|
+
const PERFSEL2 = 0x01c;
|
|
16
|
+
/** Bus fabric performance counter 3 */
|
|
17
|
+
const PERFCTR3 = 0x020;
|
|
18
|
+
/** Bus fabric performance event select for PERFCTR3 */
|
|
19
|
+
const PERFSEL3 = 0x024;
|
|
20
|
+
export class RPBUSCTRL extends BasePeripheral {
|
|
21
|
+
constructor(rp2040, name) {
|
|
22
|
+
super(rp2040, name);
|
|
23
|
+
this.voltageSelect = 0;
|
|
24
|
+
this.perfCtr = [0, 0, 0, 0];
|
|
25
|
+
this.perfSel = [0x1f, 0x1f, 0x1f, 0x1f];
|
|
26
|
+
}
|
|
27
|
+
readUint32(offset) {
|
|
28
|
+
switch (offset) {
|
|
29
|
+
case BUS_PRIORITY_ACK:
|
|
30
|
+
return 1;
|
|
31
|
+
case PERFCTR0:
|
|
32
|
+
return this.perfCtr[0];
|
|
33
|
+
case PERFSEL0:
|
|
34
|
+
return this.perfSel[0];
|
|
35
|
+
case PERFCTR1:
|
|
36
|
+
return this.perfCtr[1];
|
|
37
|
+
case PERFSEL1:
|
|
38
|
+
return this.perfSel[1];
|
|
39
|
+
case PERFCTR2:
|
|
40
|
+
return this.perfCtr[2];
|
|
41
|
+
case PERFSEL2:
|
|
42
|
+
return this.perfSel[2];
|
|
43
|
+
case PERFCTR3:
|
|
44
|
+
return this.perfCtr[3];
|
|
45
|
+
case PERFSEL3:
|
|
46
|
+
return this.perfSel[3];
|
|
47
|
+
}
|
|
48
|
+
return super.readUint32(offset);
|
|
49
|
+
}
|
|
50
|
+
writeUint32(offset, value) {
|
|
51
|
+
switch (offset) {
|
|
52
|
+
case PERFCTR0:
|
|
53
|
+
this.perfCtr[0] = 0;
|
|
54
|
+
break;
|
|
55
|
+
case PERFSEL0:
|
|
56
|
+
this.perfSel[0] = value & 0x1f;
|
|
57
|
+
break;
|
|
58
|
+
case PERFCTR1:
|
|
59
|
+
this.perfCtr[1] = 0;
|
|
60
|
+
break;
|
|
61
|
+
case PERFSEL1:
|
|
62
|
+
this.perfSel[1] = value & 0x1f;
|
|
63
|
+
break;
|
|
64
|
+
case PERFCTR2:
|
|
65
|
+
this.perfCtr[2] = 0;
|
|
66
|
+
break;
|
|
67
|
+
case PERFSEL2:
|
|
68
|
+
this.perfSel[2] = value & 0x1f;
|
|
69
|
+
break;
|
|
70
|
+
case PERFCTR3:
|
|
71
|
+
this.perfCtr[3] = 0;
|
|
72
|
+
break;
|
|
73
|
+
case PERFSEL3:
|
|
74
|
+
this.perfSel[3] = value & 0x1f;
|
|
75
|
+
break;
|
|
76
|
+
default:
|
|
77
|
+
super.writeUint32(offset, value);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { RP2040 } from '../rp2040';
|
|
2
|
-
import { BasePeripheral, Peripheral } from './peripheral';
|
|
3
|
-
export declare class RPClocks extends BasePeripheral implements Peripheral {
|
|
4
|
-
refCtrl: number;
|
|
5
|
-
sysCtrl: number;
|
|
6
|
-
constructor(rp2040: RP2040, name: string);
|
|
7
|
-
readUint32(offset: number): number;
|
|
8
|
-
writeUint32(offset: number, value: number): void;
|
|
9
|
-
}
|
|
1
|
+
import { RP2040 } from '../rp2040.js';
|
|
2
|
+
import { BasePeripheral, Peripheral } from './peripheral.js';
|
|
3
|
+
export declare class RPClocks extends BasePeripheral implements Peripheral {
|
|
4
|
+
refCtrl: number;
|
|
5
|
+
sysCtrl: number;
|
|
6
|
+
constructor(rp2040: RP2040, name: string);
|
|
7
|
+
readUint32(offset: number): number;
|
|
8
|
+
writeUint32(offset: number, value: number): void;
|
|
9
|
+
}
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { BasePeripheral } from './peripheral';
|
|
2
|
-
const CLK_REF_CTRL = 0x30;
|
|
3
|
-
const CLK_REF_SELECTED = 0x38;
|
|
4
|
-
const CLK_SYS_CTRL = 0x3c;
|
|
5
|
-
const CLK_SYS_SELECTED = 0x44;
|
|
6
|
-
export class RPClocks extends BasePeripheral {
|
|
7
|
-
constructor(rp2040, name) {
|
|
8
|
-
super(rp2040, name);
|
|
9
|
-
this.refCtrl = 0;
|
|
10
|
-
this.sysCtrl = 0;
|
|
11
|
-
}
|
|
12
|
-
readUint32(offset) {
|
|
13
|
-
switch (offset) {
|
|
14
|
-
case CLK_REF_CTRL:
|
|
15
|
-
return this.refCtrl;
|
|
16
|
-
case CLK_REF_SELECTED:
|
|
17
|
-
return 1 << (this.refCtrl & 0x03);
|
|
18
|
-
case CLK_SYS_CTRL:
|
|
19
|
-
return this.sysCtrl;
|
|
20
|
-
case CLK_SYS_SELECTED:
|
|
21
|
-
return 1 << (this.sysCtrl & 0x01);
|
|
22
|
-
}
|
|
23
|
-
return super.readUint32(offset);
|
|
24
|
-
}
|
|
25
|
-
writeUint32(offset, value) {
|
|
26
|
-
switch (offset) {
|
|
27
|
-
case CLK_REF_CTRL:
|
|
28
|
-
this.refCtrl = value;
|
|
29
|
-
break;
|
|
30
|
-
case CLK_SYS_CTRL:
|
|
31
|
-
this.sysCtrl = value;
|
|
32
|
-
break;
|
|
33
|
-
default:
|
|
34
|
-
super.writeUint32(offset, value);
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
1
|
+
import { BasePeripheral } from './peripheral.js';
|
|
2
|
+
const CLK_REF_CTRL = 0x30;
|
|
3
|
+
const CLK_REF_SELECTED = 0x38;
|
|
4
|
+
const CLK_SYS_CTRL = 0x3c;
|
|
5
|
+
const CLK_SYS_SELECTED = 0x44;
|
|
6
|
+
export class RPClocks extends BasePeripheral {
|
|
7
|
+
constructor(rp2040, name) {
|
|
8
|
+
super(rp2040, name);
|
|
9
|
+
this.refCtrl = 0;
|
|
10
|
+
this.sysCtrl = 0;
|
|
11
|
+
}
|
|
12
|
+
readUint32(offset) {
|
|
13
|
+
switch (offset) {
|
|
14
|
+
case CLK_REF_CTRL:
|
|
15
|
+
return this.refCtrl;
|
|
16
|
+
case CLK_REF_SELECTED:
|
|
17
|
+
return 1 << (this.refCtrl & 0x03);
|
|
18
|
+
case CLK_SYS_CTRL:
|
|
19
|
+
return this.sysCtrl;
|
|
20
|
+
case CLK_SYS_SELECTED:
|
|
21
|
+
return 1 << (this.sysCtrl & 0x01);
|
|
22
|
+
}
|
|
23
|
+
return super.readUint32(offset);
|
|
24
|
+
}
|
|
25
|
+
writeUint32(offset, value) {
|
|
26
|
+
switch (offset) {
|
|
27
|
+
case CLK_REF_CTRL:
|
|
28
|
+
this.refCtrl = value;
|
|
29
|
+
break;
|
|
30
|
+
case CLK_SYS_CTRL:
|
|
31
|
+
this.sysCtrl = value;
|
|
32
|
+
break;
|
|
33
|
+
default:
|
|
34
|
+
super.writeUint32(offset, value);
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
import { RP2040 } from '../rp2040';
|
|
2
|
-
import { BasePeripheral, Peripheral } from './peripheral';
|
|
3
|
-
export declare enum DREQChannel {
|
|
4
|
-
DREQ_PIO0_TX0 = 0,
|
|
5
|
-
DREQ_PIO0_TX1 = 1,
|
|
6
|
-
DREQ_PIO0_TX2 = 2,
|
|
7
|
-
DREQ_PIO0_TX3 = 3,
|
|
8
|
-
DREQ_PIO0_RX0 = 4,
|
|
9
|
-
DREQ_PIO0_RX1 = 5,
|
|
10
|
-
DREQ_PIO0_RX2 = 6,
|
|
11
|
-
DREQ_PIO0_RX3 = 7,
|
|
12
|
-
DREQ_PIO1_TX0 = 8,
|
|
13
|
-
DREQ_PIO1_TX1 = 9,
|
|
14
|
-
DREQ_PIO1_TX2 = 10,
|
|
15
|
-
DREQ_PIO1_TX3 = 11,
|
|
16
|
-
DREQ_PIO1_RX0 = 12,
|
|
17
|
-
DREQ_PIO1_RX1 = 13,
|
|
18
|
-
DREQ_PIO1_RX2 = 14,
|
|
19
|
-
DREQ_PIO1_RX3 = 15,
|
|
20
|
-
DREQ_SPI0_TX = 16,
|
|
21
|
-
DREQ_SPI0_RX = 17,
|
|
22
|
-
DREQ_SPI1_TX = 18,
|
|
23
|
-
DREQ_SPI1_RX = 19,
|
|
24
|
-
DREQ_UART0_TX = 20,
|
|
25
|
-
DREQ_UART0_RX = 21,
|
|
26
|
-
DREQ_UART1_TX = 22,
|
|
27
|
-
DREQ_UART1_RX = 23,
|
|
28
|
-
DREQ_PWM_WRAP0 = 24,
|
|
29
|
-
DREQ_PWM_WRAP1 = 25,
|
|
30
|
-
DREQ_PWM_WRAP2 = 26,
|
|
31
|
-
DREQ_PWM_WRAP3 = 27,
|
|
32
|
-
DREQ_PWM_WRAP4 = 28,
|
|
33
|
-
DREQ_PWM_WRAP5 = 29,
|
|
34
|
-
DREQ_PWM_WRAP6 = 30,
|
|
35
|
-
DREQ_PWM_WRAP7 = 31,
|
|
36
|
-
DREQ_I2C0_TX = 32,
|
|
37
|
-
DREQ_I2C0_RX = 33,
|
|
38
|
-
DREQ_I2C1_TX = 34,
|
|
39
|
-
DREQ_I2C1_RX = 35,
|
|
40
|
-
DREQ_ADC = 36,
|
|
41
|
-
DREQ_XIP_STREAM = 37,
|
|
42
|
-
DREQ_XIP_SSITX = 38,
|
|
43
|
-
DREQ_XIP_SSIRX = 39,
|
|
44
|
-
DREQ_MAX = 40
|
|
45
|
-
}
|
|
46
|
-
declare enum TREQ {
|
|
47
|
-
Timer0 = 59,
|
|
48
|
-
Timer1 = 60,
|
|
49
|
-
Timer2 = 61,
|
|
50
|
-
Timer3 = 62,
|
|
51
|
-
Permanent = 63
|
|
52
|
-
}
|
|
53
|
-
export declare class RPDMAChannel {
|
|
54
|
-
readonly dma: RPDMA;
|
|
55
|
-
readonly rp2040: RP2040;
|
|
56
|
-
readonly index: number;
|
|
57
|
-
private ctrl;
|
|
58
|
-
private readAddr;
|
|
59
|
-
private writeAddr;
|
|
60
|
-
private transCount;
|
|
61
|
-
private dreqCounter;
|
|
62
|
-
private transCountReload;
|
|
63
|
-
private treqValue;
|
|
64
|
-
private dataSize;
|
|
65
|
-
private chainTo;
|
|
66
|
-
private ringMask;
|
|
67
|
-
private transferFn;
|
|
68
|
-
private transferTimer;
|
|
69
|
-
constructor(dma: RPDMA, rp2040: RP2040, index: number);
|
|
70
|
-
start(): void;
|
|
71
|
-
get treq(): number;
|
|
72
|
-
get active(): number;
|
|
73
|
-
transfer8: () => void;
|
|
74
|
-
transfer16: () => void;
|
|
75
|
-
transferSwap16: () => void;
|
|
76
|
-
transfer32: () => void;
|
|
77
|
-
transferSwap32: () => void;
|
|
78
|
-
transfer: () => void;
|
|
79
|
-
scheduleTransfer(): void;
|
|
80
|
-
abort(): void;
|
|
81
|
-
readUint32(offset: number): number;
|
|
82
|
-
writeUint32(offset: number, value: number): void;
|
|
83
|
-
reset(): void;
|
|
84
|
-
}
|
|
85
|
-
export declare class RPDMA extends BasePeripheral implements Peripheral {
|
|
86
|
-
readonly channels: RPDMAChannel[];
|
|
87
|
-
intRaw: number;
|
|
88
|
-
private intEnable0;
|
|
89
|
-
private intForce0;
|
|
90
|
-
private intEnable1;
|
|
91
|
-
private intForce1;
|
|
92
|
-
private timer0;
|
|
93
|
-
private timer1;
|
|
94
|
-
private timer2;
|
|
95
|
-
private timer3;
|
|
96
|
-
readonly dreq: boolean[];
|
|
97
|
-
get intStatus0(): number;
|
|
98
|
-
get intStatus1(): number;
|
|
99
|
-
readUint32(offset: number): number;
|
|
100
|
-
writeUint32(offset: number, value: number): void;
|
|
101
|
-
setDREQ(dreqChannel: DREQChannel): void;
|
|
102
|
-
clearDREQ(dreqChannel: DREQChannel): void;
|
|
103
|
-
/**
|
|
104
|
-
* Returns the number of microseconds for a cycle of the given DMA timer, or 0 if the timer is disabled.
|
|
105
|
-
*/
|
|
106
|
-
getTimer(treq: TREQ): number;
|
|
107
|
-
checkInterrupts(): void;
|
|
108
|
-
}
|
|
109
|
-
export {};
|
|
1
|
+
import { RP2040 } from '../rp2040.js';
|
|
2
|
+
import { BasePeripheral, Peripheral } from './peripheral.js';
|
|
3
|
+
export declare enum DREQChannel {
|
|
4
|
+
DREQ_PIO0_TX0 = 0,
|
|
5
|
+
DREQ_PIO0_TX1 = 1,
|
|
6
|
+
DREQ_PIO0_TX2 = 2,
|
|
7
|
+
DREQ_PIO0_TX3 = 3,
|
|
8
|
+
DREQ_PIO0_RX0 = 4,
|
|
9
|
+
DREQ_PIO0_RX1 = 5,
|
|
10
|
+
DREQ_PIO0_RX2 = 6,
|
|
11
|
+
DREQ_PIO0_RX3 = 7,
|
|
12
|
+
DREQ_PIO1_TX0 = 8,
|
|
13
|
+
DREQ_PIO1_TX1 = 9,
|
|
14
|
+
DREQ_PIO1_TX2 = 10,
|
|
15
|
+
DREQ_PIO1_TX3 = 11,
|
|
16
|
+
DREQ_PIO1_RX0 = 12,
|
|
17
|
+
DREQ_PIO1_RX1 = 13,
|
|
18
|
+
DREQ_PIO1_RX2 = 14,
|
|
19
|
+
DREQ_PIO1_RX3 = 15,
|
|
20
|
+
DREQ_SPI0_TX = 16,
|
|
21
|
+
DREQ_SPI0_RX = 17,
|
|
22
|
+
DREQ_SPI1_TX = 18,
|
|
23
|
+
DREQ_SPI1_RX = 19,
|
|
24
|
+
DREQ_UART0_TX = 20,
|
|
25
|
+
DREQ_UART0_RX = 21,
|
|
26
|
+
DREQ_UART1_TX = 22,
|
|
27
|
+
DREQ_UART1_RX = 23,
|
|
28
|
+
DREQ_PWM_WRAP0 = 24,
|
|
29
|
+
DREQ_PWM_WRAP1 = 25,
|
|
30
|
+
DREQ_PWM_WRAP2 = 26,
|
|
31
|
+
DREQ_PWM_WRAP3 = 27,
|
|
32
|
+
DREQ_PWM_WRAP4 = 28,
|
|
33
|
+
DREQ_PWM_WRAP5 = 29,
|
|
34
|
+
DREQ_PWM_WRAP6 = 30,
|
|
35
|
+
DREQ_PWM_WRAP7 = 31,
|
|
36
|
+
DREQ_I2C0_TX = 32,
|
|
37
|
+
DREQ_I2C0_RX = 33,
|
|
38
|
+
DREQ_I2C1_TX = 34,
|
|
39
|
+
DREQ_I2C1_RX = 35,
|
|
40
|
+
DREQ_ADC = 36,
|
|
41
|
+
DREQ_XIP_STREAM = 37,
|
|
42
|
+
DREQ_XIP_SSITX = 38,
|
|
43
|
+
DREQ_XIP_SSIRX = 39,
|
|
44
|
+
DREQ_MAX = 40
|
|
45
|
+
}
|
|
46
|
+
declare enum TREQ {
|
|
47
|
+
Timer0 = 59,
|
|
48
|
+
Timer1 = 60,
|
|
49
|
+
Timer2 = 61,
|
|
50
|
+
Timer3 = 62,
|
|
51
|
+
Permanent = 63
|
|
52
|
+
}
|
|
53
|
+
export declare class RPDMAChannel {
|
|
54
|
+
readonly dma: RPDMA;
|
|
55
|
+
readonly rp2040: RP2040;
|
|
56
|
+
readonly index: number;
|
|
57
|
+
private ctrl;
|
|
58
|
+
private readAddr;
|
|
59
|
+
private writeAddr;
|
|
60
|
+
private transCount;
|
|
61
|
+
private dreqCounter;
|
|
62
|
+
private transCountReload;
|
|
63
|
+
private treqValue;
|
|
64
|
+
private dataSize;
|
|
65
|
+
private chainTo;
|
|
66
|
+
private ringMask;
|
|
67
|
+
private transferFn;
|
|
68
|
+
private transferTimer;
|
|
69
|
+
constructor(dma: RPDMA, rp2040: RP2040, index: number);
|
|
70
|
+
start(): void;
|
|
71
|
+
get treq(): number;
|
|
72
|
+
get active(): number;
|
|
73
|
+
transfer8: () => void;
|
|
74
|
+
transfer16: () => void;
|
|
75
|
+
transferSwap16: () => void;
|
|
76
|
+
transfer32: () => void;
|
|
77
|
+
transferSwap32: () => void;
|
|
78
|
+
transfer: () => void;
|
|
79
|
+
scheduleTransfer(): void;
|
|
80
|
+
abort(): void;
|
|
81
|
+
readUint32(offset: number): number;
|
|
82
|
+
writeUint32(offset: number, value: number): void;
|
|
83
|
+
reset(): void;
|
|
84
|
+
}
|
|
85
|
+
export declare class RPDMA extends BasePeripheral implements Peripheral {
|
|
86
|
+
readonly channels: RPDMAChannel[];
|
|
87
|
+
intRaw: number;
|
|
88
|
+
private intEnable0;
|
|
89
|
+
private intForce0;
|
|
90
|
+
private intEnable1;
|
|
91
|
+
private intForce1;
|
|
92
|
+
private timer0;
|
|
93
|
+
private timer1;
|
|
94
|
+
private timer2;
|
|
95
|
+
private timer3;
|
|
96
|
+
readonly dreq: boolean[];
|
|
97
|
+
get intStatus0(): number;
|
|
98
|
+
get intStatus1(): number;
|
|
99
|
+
readUint32(offset: number): number;
|
|
100
|
+
writeUint32(offset: number, value: number): void;
|
|
101
|
+
setDREQ(dreqChannel: DREQChannel): void;
|
|
102
|
+
clearDREQ(dreqChannel: DREQChannel): void;
|
|
103
|
+
/**
|
|
104
|
+
* Returns the number of microseconds for a cycle of the given DMA timer, or 0 if the timer is disabled.
|
|
105
|
+
*/
|
|
106
|
+
getTimer(treq: TREQ): number;
|
|
107
|
+
checkInterrupts(): void;
|
|
108
|
+
}
|
|
109
|
+
export {};
|