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.
Files changed (183) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/clock/clock.d.ts +11 -11
  3. package/dist/cjs/clock/clock.js +2 -2
  4. package/dist/cjs/clock/mock-clock.d.ts +17 -17
  5. package/dist/cjs/clock/mock-clock.js +52 -52
  6. package/dist/cjs/clock/realtime-clock.d.ts +23 -23
  7. package/dist/cjs/clock/realtime-clock.js +73 -73
  8. package/dist/cjs/cortex-m0-core.d.ts +87 -87
  9. package/dist/cjs/cortex-m0-core.js +1251 -1251
  10. package/dist/cjs/gdb/gdb-connection.d.ts +11 -11
  11. package/dist/cjs/gdb/gdb-connection.js +57 -57
  12. package/dist/cjs/gdb/gdb-server.d.ts +23 -23
  13. package/dist/cjs/gdb/gdb-server.js +232 -232
  14. package/dist/cjs/gdb/gdb-tcp-server.d.ts +10 -10
  15. package/dist/cjs/gdb/gdb-tcp-server.js +34 -34
  16. package/dist/cjs/gdb/gdb-utils.d.ts +9 -9
  17. package/dist/cjs/gdb/gdb-utils.js +48 -48
  18. package/dist/cjs/gpio-pin.d.ts +56 -56
  19. package/dist/cjs/gpio-pin.js +216 -216
  20. package/dist/cjs/index.d.ts +11 -11
  21. package/dist/cjs/index.js +36 -36
  22. package/dist/cjs/interpolator.d.ts +36 -36
  23. package/dist/cjs/interpolator.js +150 -150
  24. package/dist/cjs/irq.d.ts +29 -29
  25. package/dist/cjs/irq.js +33 -33
  26. package/dist/cjs/peripherals/adc.d.ts +52 -52
  27. package/dist/cjs/peripherals/adc.js +261 -261
  28. package/dist/cjs/peripherals/busctrl.d.ts +10 -10
  29. package/dist/cjs/peripherals/busctrl.js +84 -84
  30. package/dist/cjs/peripherals/clocks.d.ts +9 -9
  31. package/dist/cjs/peripherals/clocks.js +42 -42
  32. package/dist/cjs/peripherals/dma.d.ts +109 -109
  33. package/dist/cjs/peripherals/dma.js +520 -520
  34. package/dist/cjs/peripherals/i2c.d.ts +54 -54
  35. package/dist/cjs/peripherals/i2c.js +458 -458
  36. package/dist/cjs/peripherals/io.d.ts +11 -11
  37. package/dist/cjs/peripherals/io.js +100 -100
  38. package/dist/cjs/peripherals/pads.d.ts +13 -13
  39. package/dist/cjs/peripherals/pads.js +58 -58
  40. package/dist/cjs/peripherals/peripheral.d.ts +22 -22
  41. package/dist/cjs/peripherals/peripheral.js +61 -61
  42. package/dist/cjs/peripherals/pio.d.ts +120 -120
  43. package/dist/cjs/peripherals/pio.js +1086 -1086
  44. package/dist/cjs/peripherals/ppb.d.ts +25 -25
  45. package/dist/cjs/peripherals/ppb.js +229 -229
  46. package/dist/cjs/peripherals/pwm.d.ts +65 -65
  47. package/dist/cjs/peripherals/pwm.js +372 -372
  48. package/dist/cjs/peripherals/reset.d.ts +8 -8
  49. package/dist/cjs/peripherals/reset.js +40 -40
  50. package/dist/cjs/peripherals/rtc.d.ts +10 -10
  51. package/dist/cjs/peripherals/rtc.js +74 -74
  52. package/dist/cjs/peripherals/spi.d.ts +38 -30
  53. package/dist/cjs/peripherals/spi.js +240 -218
  54. package/dist/cjs/peripherals/ssi.d.ts +6 -6
  55. package/dist/cjs/peripherals/ssi.js +43 -43
  56. package/dist/cjs/peripherals/syscfg.d.ts +5 -5
  57. package/dist/cjs/peripherals/syscfg.js +26 -26
  58. package/dist/cjs/peripherals/sysinfo.d.ts +4 -4
  59. package/dist/cjs/peripherals/sysinfo.js +22 -22
  60. package/dist/cjs/peripherals/tbman.d.ts +4 -4
  61. package/dist/cjs/peripherals/tbman.js +17 -17
  62. package/dist/cjs/peripherals/timer.d.ts +18 -18
  63. package/dist/cjs/peripherals/timer.js +156 -156
  64. package/dist/cjs/peripherals/uart.d.ts +31 -28
  65. package/dist/cjs/peripherals/uart.js +132 -135
  66. package/dist/cjs/peripherals/usb.d.ts +29 -29
  67. package/dist/cjs/peripherals/usb.js +309 -309
  68. package/dist/cjs/rp2040.d.ts +71 -71
  69. package/dist/cjs/rp2040.js +361 -346
  70. package/dist/cjs/sio.d.ts +21 -21
  71. package/dist/cjs/sio.js +425 -425
  72. package/dist/cjs/usb/cdc.d.ts +20 -20
  73. package/dist/cjs/usb/cdc.js +126 -126
  74. package/dist/cjs/usb/interfaces.d.ts +47 -47
  75. package/dist/cjs/usb/interfaces.js +46 -46
  76. package/dist/cjs/usb/setup.d.ts +5 -5
  77. package/dist/cjs/usb/setup.js +53 -53
  78. package/dist/cjs/utils/assembler.d.ts +79 -79
  79. package/dist/cjs/utils/assembler.js +328 -328
  80. package/dist/cjs/utils/bit.d.ts +3 -3
  81. package/dist/cjs/utils/bit.js +15 -15
  82. package/dist/cjs/utils/fifo.d.ts +15 -15
  83. package/dist/cjs/utils/fifo.js +56 -56
  84. package/dist/cjs/utils/logging.d.ts +23 -23
  85. package/dist/cjs/utils/logging.js +48 -48
  86. package/dist/cjs/utils/pio-assembler.d.ts +45 -45
  87. package/dist/cjs/utils/pio-assembler.js +87 -87
  88. package/dist/cjs/utils/time.d.ts +2 -2
  89. package/dist/cjs/utils/time.js +32 -32
  90. package/dist/cjs/utils/timer32.d.ts +57 -57
  91. package/dist/cjs/utils/timer32.js +208 -208
  92. package/dist/esm/clock/clock.d.ts +11 -11
  93. package/dist/esm/clock/clock.js +1 -1
  94. package/dist/esm/clock/mock-clock.d.ts +17 -17
  95. package/dist/esm/clock/mock-clock.js +47 -47
  96. package/dist/esm/clock/realtime-clock.d.ts +23 -23
  97. package/dist/esm/clock/realtime-clock.js +68 -68
  98. package/dist/esm/cortex-m0-core.d.ts +87 -87
  99. package/dist/esm/cortex-m0-core.js +1247 -1247
  100. package/dist/esm/gdb/gdb-connection.d.ts +11 -11
  101. package/dist/esm/gdb/gdb-connection.js +53 -53
  102. package/dist/esm/gdb/gdb-server.d.ts +23 -23
  103. package/dist/esm/gdb/gdb-server.js +228 -228
  104. package/dist/esm/gdb/gdb-tcp-server.d.ts +10 -10
  105. package/dist/esm/gdb/gdb-tcp-server.js +30 -30
  106. package/dist/esm/gdb/gdb-utils.d.ts +9 -9
  107. package/dist/esm/gdb/gdb-utils.js +36 -36
  108. package/dist/esm/gpio-pin.d.ts +56 -56
  109. package/dist/esm/gpio-pin.js +212 -212
  110. package/dist/esm/index.d.ts +11 -11
  111. package/dist/esm/index.js +11 -11
  112. package/dist/esm/interpolator.d.ts +36 -36
  113. package/dist/esm/interpolator.js +145 -145
  114. package/dist/esm/irq.d.ts +29 -29
  115. package/dist/esm/irq.js +30 -30
  116. package/dist/esm/peripherals/adc.d.ts +52 -52
  117. package/dist/esm/peripherals/adc.js +257 -257
  118. package/dist/esm/peripherals/busctrl.d.ts +10 -10
  119. package/dist/esm/peripherals/busctrl.js +80 -80
  120. package/dist/esm/peripherals/clocks.d.ts +9 -9
  121. package/dist/esm/peripherals/clocks.js +38 -38
  122. package/dist/esm/peripherals/dma.d.ts +109 -109
  123. package/dist/esm/peripherals/dma.js +515 -515
  124. package/dist/esm/peripherals/i2c.d.ts +54 -54
  125. package/dist/esm/peripherals/i2c.js +454 -454
  126. package/dist/esm/peripherals/io.d.ts +11 -11
  127. package/dist/esm/peripherals/io.js +96 -96
  128. package/dist/esm/peripherals/pads.d.ts +13 -13
  129. package/dist/esm/peripherals/pads.js +54 -54
  130. package/dist/esm/peripherals/peripheral.d.ts +22 -22
  131. package/dist/esm/peripherals/peripheral.js +55 -55
  132. package/dist/esm/peripherals/pio.d.ts +120 -120
  133. package/dist/esm/peripherals/pio.js +1081 -1081
  134. package/dist/esm/peripherals/ppb.d.ts +25 -25
  135. package/dist/esm/peripherals/ppb.js +225 -225
  136. package/dist/esm/peripherals/pwm.d.ts +65 -65
  137. package/dist/esm/peripherals/pwm.js +368 -368
  138. package/dist/esm/peripherals/reset.d.ts +8 -8
  139. package/dist/esm/peripherals/reset.js +36 -36
  140. package/dist/esm/peripherals/rtc.d.ts +10 -10
  141. package/dist/esm/peripherals/rtc.js +70 -70
  142. package/dist/esm/peripherals/spi.d.ts +38 -30
  143. package/dist/esm/peripherals/spi.js +236 -214
  144. package/dist/esm/peripherals/ssi.d.ts +6 -6
  145. package/dist/esm/peripherals/ssi.js +39 -39
  146. package/dist/esm/peripherals/syscfg.d.ts +5 -5
  147. package/dist/esm/peripherals/syscfg.js +22 -22
  148. package/dist/esm/peripherals/sysinfo.d.ts +4 -4
  149. package/dist/esm/peripherals/sysinfo.js +18 -18
  150. package/dist/esm/peripherals/tbman.d.ts +4 -4
  151. package/dist/esm/peripherals/tbman.js +13 -13
  152. package/dist/esm/peripherals/timer.d.ts +18 -18
  153. package/dist/esm/peripherals/timer.js +152 -152
  154. package/dist/esm/peripherals/uart.d.ts +31 -28
  155. package/dist/esm/peripherals/uart.js +128 -131
  156. package/dist/esm/peripherals/usb.d.ts +29 -29
  157. package/dist/esm/peripherals/usb.js +305 -305
  158. package/dist/esm/rp2040.d.ts +71 -71
  159. package/dist/esm/rp2040.js +357 -342
  160. package/dist/esm/sio.d.ts +21 -21
  161. package/dist/esm/sio.js +421 -421
  162. package/dist/esm/usb/cdc.d.ts +20 -20
  163. package/dist/esm/usb/cdc.js +121 -121
  164. package/dist/esm/usb/interfaces.d.ts +47 -47
  165. package/dist/esm/usb/interfaces.js +43 -43
  166. package/dist/esm/usb/setup.d.ts +5 -5
  167. package/dist/esm/usb/setup.js +46 -46
  168. package/dist/esm/utils/assembler.d.ts +79 -79
  169. package/dist/esm/utils/assembler.js +245 -245
  170. package/dist/esm/utils/bit.d.ts +3 -3
  171. package/dist/esm/utils/bit.js +9 -9
  172. package/dist/esm/utils/fifo.d.ts +15 -15
  173. package/dist/esm/utils/fifo.js +52 -52
  174. package/dist/esm/utils/logging.d.ts +23 -23
  175. package/dist/esm/utils/logging.js +44 -44
  176. package/dist/esm/utils/pio-assembler.d.ts +45 -45
  177. package/dist/esm/utils/pio-assembler.js +75 -75
  178. package/dist/esm/utils/time.d.ts +2 -2
  179. package/dist/esm/utils/time.js +27 -27
  180. package/dist/esm/utils/timer32.d.ts +57 -57
  181. package/dist/esm/utils/timer32.js +203 -203
  182. package/package.json +34 -22
  183. package/dist/esm/package.json +0 -1
@@ -1,8 +1,8 @@
1
- import { BasePeripheral, Peripheral } from './peripheral';
2
- export declare class RPReset extends BasePeripheral implements Peripheral {
3
- private reset;
4
- private wdsel;
5
- private reset_done;
6
- readUint32(offset: number): number;
7
- writeUint32(offset: number, value: number): void;
8
- }
1
+ import { BasePeripheral, Peripheral } from './peripheral.js';
2
+ export declare class RPReset extends BasePeripheral implements Peripheral {
3
+ private reset;
4
+ private wdsel;
5
+ private reset_done;
6
+ readUint32(offset: number): number;
7
+ writeUint32(offset: number, value: number): void;
8
+ }
@@ -1,36 +1,36 @@
1
- import { BasePeripheral } from './peripheral';
2
- const RESET = 0x0; //Reset control.
3
- const WDSEL = 0x4; //Watchdog select.
4
- const RESET_DONE = 0x8; //Reset Done
5
- export class RPReset extends BasePeripheral {
6
- constructor() {
7
- super(...arguments);
8
- this.reset = 0;
9
- this.wdsel = 0;
10
- this.reset_done = 0x1ffffff;
11
- }
12
- readUint32(offset) {
13
- switch (offset) {
14
- case RESET:
15
- return this.reset;
16
- case WDSEL:
17
- return this.wdsel;
18
- case RESET_DONE:
19
- return this.reset_done;
20
- }
21
- return super.readUint32(offset);
22
- }
23
- writeUint32(offset, value) {
24
- switch (offset) {
25
- case RESET:
26
- this.reset = value & 0x1ffffff;
27
- break;
28
- case WDSEL:
29
- this.wdsel = value & 0x1ffffff;
30
- break;
31
- default:
32
- super.writeUint32(offset, value);
33
- break;
34
- }
35
- }
36
- }
1
+ import { BasePeripheral } from './peripheral.js';
2
+ const RESET = 0x0; //Reset control.
3
+ const WDSEL = 0x4; //Watchdog select.
4
+ const RESET_DONE = 0x8; //Reset Done
5
+ export class RPReset extends BasePeripheral {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.reset = 0;
9
+ this.wdsel = 0;
10
+ this.reset_done = 0x1ffffff;
11
+ }
12
+ readUint32(offset) {
13
+ switch (offset) {
14
+ case RESET:
15
+ return this.reset;
16
+ case WDSEL:
17
+ return this.wdsel;
18
+ case RESET_DONE:
19
+ return this.reset_done;
20
+ }
21
+ return super.readUint32(offset);
22
+ }
23
+ writeUint32(offset, value) {
24
+ switch (offset) {
25
+ case RESET:
26
+ this.reset = value & 0x1ffffff;
27
+ break;
28
+ case WDSEL:
29
+ this.wdsel = value & 0x1ffffff;
30
+ break;
31
+ default:
32
+ super.writeUint32(offset, value);
33
+ break;
34
+ }
35
+ }
36
+ }
@@ -1,10 +1,10 @@
1
- import { BasePeripheral, Peripheral } from './peripheral';
2
- export declare class RP2040RTC extends BasePeripheral implements Peripheral {
3
- setup0: number;
4
- setup1: number;
5
- rtc1: number;
6
- rtc0: number;
7
- ctrl: number;
8
- readUint32(offset: number): number;
9
- writeUint32(offset: number, value: number): void;
10
- }
1
+ import { BasePeripheral, Peripheral } from './peripheral.js';
2
+ export declare class RP2040RTC extends BasePeripheral implements Peripheral {
3
+ setup0: number;
4
+ setup1: number;
5
+ rtc1: number;
6
+ rtc0: number;
7
+ ctrl: number;
8
+ readUint32(offset: number): number;
9
+ writeUint32(offset: number, value: number): void;
10
+ }
@@ -1,70 +1,70 @@
1
- import { BasePeripheral } from './peripheral';
2
- const RTC_SETUP0 = 0x04;
3
- const RTC_SETUP1 = 0x08;
4
- const RTC_CTRL = 0x0c;
5
- const IRQ_SETUP_0 = 0x10;
6
- const RTC_RTC1 = 0x18;
7
- const RTC_RTC0 = 0x1c;
8
- const RTC_ENABLE_BITS = 0x01;
9
- const RTC_ACTIVE_BITS = 0x2;
10
- const RTC_LOAD_BITS = 0x10;
11
- export class RP2040RTC extends BasePeripheral {
12
- constructor() {
13
- super(...arguments);
14
- this.setup0 = 0;
15
- this.setup1 = 0;
16
- this.rtc1 = 0;
17
- this.rtc0 = 0;
18
- this.ctrl = 0;
19
- }
20
- readUint32(offset) {
21
- switch (offset) {
22
- case RTC_SETUP0:
23
- return this.setup0;
24
- case RTC_SETUP1:
25
- return this.setup1;
26
- case RTC_CTRL:
27
- return this.ctrl;
28
- case IRQ_SETUP_0:
29
- return 0;
30
- case RTC_RTC1:
31
- return this.rtc1;
32
- case RTC_RTC0:
33
- return this.rtc0;
34
- }
35
- return super.readUint32(offset);
36
- }
37
- writeUint32(offset, value) {
38
- switch (offset) {
39
- case RTC_SETUP0:
40
- this.setup0 = value;
41
- break;
42
- case RTC_SETUP1:
43
- this.setup1 = value;
44
- break;
45
- case RTC_CTRL:
46
- // Though RTC_LOAD_BITS is type SC and should be cleared on next cycle, pico-sdk write
47
- // RTC_LOAD_BITS & RTC_ENABLE_BITS seperatly.
48
- // https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2_common/hardware_rtc/rtc.c#L76-L80
49
- if (value & RTC_LOAD_BITS) {
50
- this.ctrl |= RTC_LOAD_BITS;
51
- }
52
- if (value & RTC_ENABLE_BITS) {
53
- this.ctrl |= RTC_ENABLE_BITS;
54
- this.ctrl |= RTC_ACTIVE_BITS;
55
- if (this.ctrl & RTC_LOAD_BITS) {
56
- this.rtc1 = this.setup0;
57
- this.rtc0 = this.setup1;
58
- this.ctrl &= ~RTC_LOAD_BITS;
59
- }
60
- }
61
- else {
62
- this.ctrl &= ~RTC_ENABLE_BITS;
63
- this.ctrl &= ~RTC_ACTIVE_BITS;
64
- }
65
- break;
66
- default:
67
- super.writeUint32(offset, value);
68
- }
69
- }
70
- }
1
+ import { BasePeripheral } from './peripheral.js';
2
+ const RTC_SETUP0 = 0x04;
3
+ const RTC_SETUP1 = 0x08;
4
+ const RTC_CTRL = 0x0c;
5
+ const IRQ_SETUP_0 = 0x10;
6
+ const RTC_RTC1 = 0x18;
7
+ const RTC_RTC0 = 0x1c;
8
+ const RTC_ENABLE_BITS = 0x01;
9
+ const RTC_ACTIVE_BITS = 0x2;
10
+ const RTC_LOAD_BITS = 0x10;
11
+ export class RP2040RTC extends BasePeripheral {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.setup0 = 0;
15
+ this.setup1 = 0;
16
+ this.rtc1 = 0;
17
+ this.rtc0 = 0;
18
+ this.ctrl = 0;
19
+ }
20
+ readUint32(offset) {
21
+ switch (offset) {
22
+ case RTC_SETUP0:
23
+ return this.setup0;
24
+ case RTC_SETUP1:
25
+ return this.setup1;
26
+ case RTC_CTRL:
27
+ return this.ctrl;
28
+ case IRQ_SETUP_0:
29
+ return 0;
30
+ case RTC_RTC1:
31
+ return this.rtc1;
32
+ case RTC_RTC0:
33
+ return this.rtc0;
34
+ }
35
+ return super.readUint32(offset);
36
+ }
37
+ writeUint32(offset, value) {
38
+ switch (offset) {
39
+ case RTC_SETUP0:
40
+ this.setup0 = value;
41
+ break;
42
+ case RTC_SETUP1:
43
+ this.setup1 = value;
44
+ break;
45
+ case RTC_CTRL:
46
+ // Though RTC_LOAD_BITS is type SC and should be cleared on next cycle, pico-sdk write
47
+ // RTC_LOAD_BITS & RTC_ENABLE_BITS seperatly.
48
+ // https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2_common/hardware_rtc/rtc.c#L76-L80
49
+ if (value & RTC_LOAD_BITS) {
50
+ this.ctrl |= RTC_LOAD_BITS;
51
+ }
52
+ if (value & RTC_ENABLE_BITS) {
53
+ this.ctrl |= RTC_ENABLE_BITS;
54
+ this.ctrl |= RTC_ACTIVE_BITS;
55
+ if (this.ctrl & RTC_LOAD_BITS) {
56
+ this.rtc1 = this.setup0;
57
+ this.rtc0 = this.setup1;
58
+ this.ctrl &= ~RTC_LOAD_BITS;
59
+ }
60
+ }
61
+ else {
62
+ this.ctrl &= ~RTC_ENABLE_BITS;
63
+ this.ctrl &= ~RTC_ACTIVE_BITS;
64
+ }
65
+ break;
66
+ default:
67
+ super.writeUint32(offset, value);
68
+ }
69
+ }
70
+ }
@@ -1,30 +1,38 @@
1
- import { RP2040 } from '../rp2040';
2
- import { FIFO } from '../utils/fifo';
3
- import { BasePeripheral, Peripheral } from './peripheral';
4
- export declare class RPSPI extends BasePeripheral implements Peripheral {
5
- readonly irq: number;
6
- readonly rxFIFO: FIFO;
7
- readonly txFIFO: FIFO;
8
- onTransmit: (value: number) => void;
9
- private busy;
10
- private control0;
11
- private control1;
12
- private dmaControl;
13
- private clockDivisor;
14
- private intRaw;
15
- private intEnable;
16
- get intStatus(): number;
17
- get enabled(): boolean;
18
- /** Data size in bits: 4 to 16 bits */
19
- get dataBits(): number;
20
- get masterMode(): boolean;
21
- get spiMode(): 2 | 3 | 0 | 1;
22
- get clockFrequency(): number;
23
- constructor(rp2040: RP2040, name: string, irq: number);
24
- private doTX;
25
- completeTransmit(rxValue: number): void;
26
- checkInterrupts(): void;
27
- private fifosUpdated;
28
- readUint32(offset: number): number;
29
- writeUint32(offset: number, value: number): void;
30
- }
1
+ import { RP2040 } from '../rp2040.js';
2
+ import { FIFO } from '../utils/fifo.js';
3
+ import { DREQChannel } from './dma.js';
4
+ import { BasePeripheral, Peripheral } from './peripheral.js';
5
+ export interface ISPIDMAChannels {
6
+ rx: DREQChannel;
7
+ tx: DREQChannel;
8
+ }
9
+ export declare class RPSPI extends BasePeripheral implements Peripheral {
10
+ readonly irq: number;
11
+ readonly dreq: ISPIDMAChannels;
12
+ readonly rxFIFO: FIFO;
13
+ readonly txFIFO: FIFO;
14
+ onTransmit: (value: number) => void;
15
+ private busy;
16
+ private control0;
17
+ private control1;
18
+ private dmaControl;
19
+ private clockDivisor;
20
+ private intRaw;
21
+ private intEnable;
22
+ get intStatus(): number;
23
+ get enabled(): boolean;
24
+ /** Data size in bits: 4 to 16 bits */
25
+ get dataBits(): number;
26
+ get masterMode(): boolean;
27
+ get spiMode(): 0 | 1 | 2 | 3;
28
+ get clockFrequency(): number;
29
+ private updateDMATx;
30
+ private updateDMARx;
31
+ constructor(rp2040: RP2040, name: string, irq: number, dreq: ISPIDMAChannels);
32
+ private doTX;
33
+ completeTransmit(rxValue: number): void;
34
+ checkInterrupts(): void;
35
+ private fifosUpdated;
36
+ readUint32(offset: number): number;
37
+ writeUint32(offset: number, value: number): void;
38
+ }