rp2040js 0.17.17 → 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 (182) hide show
  1. package/dist/cjs/clock/clock.d.ts +11 -11
  2. package/dist/cjs/clock/clock.js +2 -2
  3. package/dist/cjs/clock/mock-clock.d.ts +17 -17
  4. package/dist/cjs/clock/mock-clock.js +52 -52
  5. package/dist/cjs/clock/realtime-clock.d.ts +23 -23
  6. package/dist/cjs/clock/realtime-clock.js +73 -73
  7. package/dist/cjs/cortex-m0-core.d.ts +87 -87
  8. package/dist/cjs/cortex-m0-core.js +1251 -1251
  9. package/dist/cjs/gdb/gdb-connection.d.ts +11 -11
  10. package/dist/cjs/gdb/gdb-connection.js +57 -57
  11. package/dist/cjs/gdb/gdb-server.d.ts +23 -23
  12. package/dist/cjs/gdb/gdb-server.js +232 -232
  13. package/dist/cjs/gdb/gdb-tcp-server.d.ts +10 -10
  14. package/dist/cjs/gdb/gdb-tcp-server.js +34 -34
  15. package/dist/cjs/gdb/gdb-utils.d.ts +9 -9
  16. package/dist/cjs/gdb/gdb-utils.js +48 -48
  17. package/dist/cjs/gpio-pin.d.ts +56 -56
  18. package/dist/cjs/gpio-pin.js +216 -216
  19. package/dist/cjs/index.d.ts +11 -11
  20. package/dist/cjs/index.js +36 -36
  21. package/dist/cjs/interpolator.d.ts +36 -36
  22. package/dist/cjs/interpolator.js +150 -150
  23. package/dist/cjs/irq.d.ts +29 -29
  24. package/dist/cjs/irq.js +33 -33
  25. package/dist/cjs/peripherals/adc.d.ts +52 -52
  26. package/dist/cjs/peripherals/adc.js +261 -261
  27. package/dist/cjs/peripherals/busctrl.d.ts +10 -10
  28. package/dist/cjs/peripherals/busctrl.js +84 -84
  29. package/dist/cjs/peripherals/clocks.d.ts +9 -9
  30. package/dist/cjs/peripherals/clocks.js +42 -42
  31. package/dist/cjs/peripherals/dma.d.ts +109 -109
  32. package/dist/cjs/peripherals/dma.js +520 -520
  33. package/dist/cjs/peripherals/i2c.d.ts +54 -54
  34. package/dist/cjs/peripherals/i2c.js +458 -458
  35. package/dist/cjs/peripherals/io.d.ts +11 -11
  36. package/dist/cjs/peripherals/io.js +100 -100
  37. package/dist/cjs/peripherals/pads.d.ts +13 -13
  38. package/dist/cjs/peripherals/pads.js +58 -58
  39. package/dist/cjs/peripherals/peripheral.d.ts +22 -22
  40. package/dist/cjs/peripherals/peripheral.js +61 -61
  41. package/dist/cjs/peripherals/pio.d.ts +120 -120
  42. package/dist/cjs/peripherals/pio.js +1086 -1086
  43. package/dist/cjs/peripherals/ppb.d.ts +25 -25
  44. package/dist/cjs/peripherals/ppb.js +229 -229
  45. package/dist/cjs/peripherals/pwm.d.ts +65 -65
  46. package/dist/cjs/peripherals/pwm.js +372 -372
  47. package/dist/cjs/peripherals/reset.d.ts +8 -8
  48. package/dist/cjs/peripherals/reset.js +40 -40
  49. package/dist/cjs/peripherals/rtc.d.ts +10 -10
  50. package/dist/cjs/peripherals/rtc.js +74 -74
  51. package/dist/cjs/peripherals/spi.d.ts +38 -38
  52. package/dist/cjs/peripherals/spi.js +240 -240
  53. package/dist/cjs/peripherals/ssi.d.ts +6 -6
  54. package/dist/cjs/peripherals/ssi.js +43 -43
  55. package/dist/cjs/peripherals/syscfg.d.ts +5 -5
  56. package/dist/cjs/peripherals/syscfg.js +26 -26
  57. package/dist/cjs/peripherals/sysinfo.d.ts +4 -4
  58. package/dist/cjs/peripherals/sysinfo.js +22 -22
  59. package/dist/cjs/peripherals/tbman.d.ts +4 -4
  60. package/dist/cjs/peripherals/tbman.js +17 -17
  61. package/dist/cjs/peripherals/timer.d.ts +18 -18
  62. package/dist/cjs/peripherals/timer.js +156 -156
  63. package/dist/cjs/peripherals/uart.d.ts +31 -31
  64. package/dist/cjs/peripherals/uart.js +132 -132
  65. package/dist/cjs/peripherals/usb.d.ts +29 -29
  66. package/dist/cjs/peripherals/usb.js +309 -309
  67. package/dist/cjs/rp2040.d.ts +71 -71
  68. package/dist/cjs/rp2040.js +361 -361
  69. package/dist/cjs/sio.d.ts +21 -21
  70. package/dist/cjs/sio.js +425 -425
  71. package/dist/cjs/usb/cdc.d.ts +20 -20
  72. package/dist/cjs/usb/cdc.js +126 -126
  73. package/dist/cjs/usb/interfaces.d.ts +47 -47
  74. package/dist/cjs/usb/interfaces.js +46 -46
  75. package/dist/cjs/usb/setup.d.ts +5 -5
  76. package/dist/cjs/usb/setup.js +53 -53
  77. package/dist/cjs/utils/assembler.d.ts +79 -79
  78. package/dist/cjs/utils/assembler.js +328 -328
  79. package/dist/cjs/utils/bit.d.ts +3 -3
  80. package/dist/cjs/utils/bit.js +15 -15
  81. package/dist/cjs/utils/fifo.d.ts +15 -15
  82. package/dist/cjs/utils/fifo.js +56 -56
  83. package/dist/cjs/utils/logging.d.ts +23 -23
  84. package/dist/cjs/utils/logging.js +48 -48
  85. package/dist/cjs/utils/pio-assembler.d.ts +45 -45
  86. package/dist/cjs/utils/pio-assembler.js +87 -87
  87. package/dist/cjs/utils/time.d.ts +2 -2
  88. package/dist/cjs/utils/time.js +32 -32
  89. package/dist/cjs/utils/timer32.d.ts +57 -57
  90. package/dist/cjs/utils/timer32.js +208 -208
  91. package/dist/esm/clock/clock.d.ts +11 -11
  92. package/dist/esm/clock/clock.js +1 -1
  93. package/dist/esm/clock/mock-clock.d.ts +17 -17
  94. package/dist/esm/clock/mock-clock.js +47 -47
  95. package/dist/esm/clock/realtime-clock.d.ts +23 -23
  96. package/dist/esm/clock/realtime-clock.js +68 -68
  97. package/dist/esm/cortex-m0-core.d.ts +87 -87
  98. package/dist/esm/cortex-m0-core.js +1247 -1247
  99. package/dist/esm/gdb/gdb-connection.d.ts +11 -11
  100. package/dist/esm/gdb/gdb-connection.js +53 -53
  101. package/dist/esm/gdb/gdb-server.d.ts +23 -23
  102. package/dist/esm/gdb/gdb-server.js +228 -228
  103. package/dist/esm/gdb/gdb-tcp-server.d.ts +10 -10
  104. package/dist/esm/gdb/gdb-tcp-server.js +30 -30
  105. package/dist/esm/gdb/gdb-utils.d.ts +9 -9
  106. package/dist/esm/gdb/gdb-utils.js +36 -36
  107. package/dist/esm/gpio-pin.d.ts +56 -56
  108. package/dist/esm/gpio-pin.js +212 -212
  109. package/dist/esm/index.d.ts +11 -11
  110. package/dist/esm/index.js +11 -11
  111. package/dist/esm/interpolator.d.ts +36 -36
  112. package/dist/esm/interpolator.js +145 -145
  113. package/dist/esm/irq.d.ts +29 -29
  114. package/dist/esm/irq.js +30 -30
  115. package/dist/esm/peripherals/adc.d.ts +52 -52
  116. package/dist/esm/peripherals/adc.js +257 -257
  117. package/dist/esm/peripherals/busctrl.d.ts +10 -10
  118. package/dist/esm/peripherals/busctrl.js +80 -80
  119. package/dist/esm/peripherals/clocks.d.ts +9 -9
  120. package/dist/esm/peripherals/clocks.js +38 -38
  121. package/dist/esm/peripherals/dma.d.ts +109 -109
  122. package/dist/esm/peripherals/dma.js +515 -515
  123. package/dist/esm/peripherals/i2c.d.ts +54 -54
  124. package/dist/esm/peripherals/i2c.js +454 -454
  125. package/dist/esm/peripherals/io.d.ts +11 -11
  126. package/dist/esm/peripherals/io.js +96 -96
  127. package/dist/esm/peripherals/pads.d.ts +13 -13
  128. package/dist/esm/peripherals/pads.js +54 -54
  129. package/dist/esm/peripherals/peripheral.d.ts +22 -22
  130. package/dist/esm/peripherals/peripheral.js +55 -55
  131. package/dist/esm/peripherals/pio.d.ts +120 -120
  132. package/dist/esm/peripherals/pio.js +1081 -1081
  133. package/dist/esm/peripherals/ppb.d.ts +25 -25
  134. package/dist/esm/peripherals/ppb.js +225 -225
  135. package/dist/esm/peripherals/pwm.d.ts +65 -65
  136. package/dist/esm/peripherals/pwm.js +368 -368
  137. package/dist/esm/peripherals/reset.d.ts +8 -8
  138. package/dist/esm/peripherals/reset.js +36 -36
  139. package/dist/esm/peripherals/rtc.d.ts +10 -10
  140. package/dist/esm/peripherals/rtc.js +70 -70
  141. package/dist/esm/peripherals/spi.d.ts +38 -38
  142. package/dist/esm/peripherals/spi.js +236 -236
  143. package/dist/esm/peripherals/ssi.d.ts +6 -6
  144. package/dist/esm/peripherals/ssi.js +39 -39
  145. package/dist/esm/peripherals/syscfg.d.ts +5 -5
  146. package/dist/esm/peripherals/syscfg.js +22 -22
  147. package/dist/esm/peripherals/sysinfo.d.ts +4 -4
  148. package/dist/esm/peripherals/sysinfo.js +18 -18
  149. package/dist/esm/peripherals/tbman.d.ts +4 -4
  150. package/dist/esm/peripherals/tbman.js +13 -13
  151. package/dist/esm/peripherals/timer.d.ts +18 -18
  152. package/dist/esm/peripherals/timer.js +152 -152
  153. package/dist/esm/peripherals/uart.d.ts +31 -31
  154. package/dist/esm/peripherals/uart.js +128 -128
  155. package/dist/esm/peripherals/usb.d.ts +29 -29
  156. package/dist/esm/peripherals/usb.js +305 -305
  157. package/dist/esm/rp2040.d.ts +71 -71
  158. package/dist/esm/rp2040.js +357 -357
  159. package/dist/esm/sio.d.ts +21 -21
  160. package/dist/esm/sio.js +421 -421
  161. package/dist/esm/usb/cdc.d.ts +20 -20
  162. package/dist/esm/usb/cdc.js +121 -121
  163. package/dist/esm/usb/interfaces.d.ts +47 -47
  164. package/dist/esm/usb/interfaces.js +43 -43
  165. package/dist/esm/usb/setup.d.ts +5 -5
  166. package/dist/esm/usb/setup.js +46 -46
  167. package/dist/esm/utils/assembler.d.ts +79 -79
  168. package/dist/esm/utils/assembler.js +245 -245
  169. package/dist/esm/utils/bit.d.ts +3 -3
  170. package/dist/esm/utils/bit.js +9 -9
  171. package/dist/esm/utils/fifo.d.ts +15 -15
  172. package/dist/esm/utils/fifo.js +52 -52
  173. package/dist/esm/utils/logging.d.ts +23 -23
  174. package/dist/esm/utils/logging.js +44 -44
  175. package/dist/esm/utils/pio-assembler.d.ts +45 -45
  176. package/dist/esm/utils/pio-assembler.js +75 -75
  177. package/dist/esm/utils/time.d.ts +2 -2
  178. package/dist/esm/utils/time.js +27 -27
  179. package/dist/esm/utils/timer32.d.ts +57 -57
  180. package/dist/esm/utils/timer32.js +203 -203
  181. package/package.json +33 -22
  182. package/dist/esm/package.json +0 -1
@@ -1,11 +1,11 @@
1
- export interface IClockTimer {
2
- pause(currentMicros: number): void;
3
- resume(currentMicros: number): void;
4
- }
5
- export interface IClock {
6
- readonly micros: number;
7
- pause(): void;
8
- resume(): void;
9
- createTimer(deltaMicros: number, callback: () => void): IClockTimer;
10
- deleteTimer(timer: IClockTimer): void;
11
- }
1
+ export interface IClockTimer {
2
+ pause(currentMicros: number): void;
3
+ resume(currentMicros: number): void;
4
+ }
5
+ export interface IClock {
6
+ readonly micros: number;
7
+ pause(): void;
8
+ resume(): void;
9
+ createTimer(deltaMicros: number, callback: () => void): IClockTimer;
10
+ deleteTimer(timer: IClockTimer): void;
11
+ }
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,17 +1,17 @@
1
- import { IClock, IClockTimer } from './clock';
2
- export declare class MockClockTimer implements IClockTimer {
3
- readonly micros: number;
4
- readonly callback: () => void;
5
- constructor(micros: number, callback: () => void);
6
- pause(): void;
7
- resume(): void;
8
- }
9
- export declare class MockClock implements IClock {
10
- micros: number;
11
- readonly timers: MockClockTimer[];
12
- pause(): void;
13
- resume(): void;
14
- advance(deltaMicros: number): void;
15
- createTimer(deltaMicros: number, callback: () => void): MockClockTimer;
16
- deleteTimer(timer: IClockTimer): void;
17
- }
1
+ import { IClock, IClockTimer } from './clock.js';
2
+ export declare class MockClockTimer implements IClockTimer {
3
+ readonly micros: number;
4
+ readonly callback: () => void;
5
+ constructor(micros: number, callback: () => void);
6
+ pause(): void;
7
+ resume(): void;
8
+ }
9
+ export declare class MockClock implements IClock {
10
+ micros: number;
11
+ readonly timers: MockClockTimer[];
12
+ pause(): void;
13
+ resume(): void;
14
+ advance(deltaMicros: number): void;
15
+ createTimer(deltaMicros: number, callback: () => void): MockClockTimer;
16
+ deleteTimer(timer: IClockTimer): void;
17
+ }
@@ -1,52 +1,52 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockClock = exports.MockClockTimer = void 0;
4
- class MockClockTimer {
5
- constructor(micros, callback) {
6
- this.micros = micros;
7
- this.callback = callback;
8
- }
9
- pause() {
10
- /* intentionally empty */
11
- }
12
- resume() {
13
- /* intentionally empty */
14
- }
15
- }
16
- exports.MockClockTimer = MockClockTimer;
17
- class MockClock {
18
- constructor() {
19
- this.micros = 0;
20
- this.timers = [];
21
- }
22
- pause() {
23
- /* intentionally empty */
24
- }
25
- resume() {
26
- /* intentionally empty */
27
- }
28
- advance(deltaMicros) {
29
- const { timers } = this;
30
- const targetTime = this.micros + Math.max(deltaMicros, 0.01);
31
- while (timers[0] && timers[0].micros <= targetTime) {
32
- const timer = timers.shift();
33
- if (timer) {
34
- this.micros = timer.micros;
35
- timer.callback();
36
- }
37
- }
38
- }
39
- createTimer(deltaMicros, callback) {
40
- const timer = new MockClockTimer(this.micros + deltaMicros, callback);
41
- this.timers.push(timer);
42
- this.timers.sort((a, b) => a.micros - b.micros);
43
- return timer;
44
- }
45
- deleteTimer(timer) {
46
- const timerIndex = this.timers.indexOf(timer);
47
- if (timerIndex >= 0) {
48
- this.timers.splice(timerIndex, 1);
49
- }
50
- }
51
- }
52
- exports.MockClock = MockClock;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockClock = exports.MockClockTimer = void 0;
4
+ class MockClockTimer {
5
+ constructor(micros, callback) {
6
+ this.micros = micros;
7
+ this.callback = callback;
8
+ }
9
+ pause() {
10
+ /* intentionally empty */
11
+ }
12
+ resume() {
13
+ /* intentionally empty */
14
+ }
15
+ }
16
+ exports.MockClockTimer = MockClockTimer;
17
+ class MockClock {
18
+ constructor() {
19
+ this.micros = 0;
20
+ this.timers = [];
21
+ }
22
+ pause() {
23
+ /* intentionally empty */
24
+ }
25
+ resume() {
26
+ /* intentionally empty */
27
+ }
28
+ advance(deltaMicros) {
29
+ const { timers } = this;
30
+ const targetTime = this.micros + Math.max(deltaMicros, 0.01);
31
+ while (timers[0] && timers[0].micros <= targetTime) {
32
+ const timer = timers.shift();
33
+ if (timer) {
34
+ this.micros = timer.micros;
35
+ timer.callback();
36
+ }
37
+ }
38
+ }
39
+ createTimer(deltaMicros, callback) {
40
+ const timer = new MockClockTimer(this.micros + deltaMicros, callback);
41
+ this.timers.push(timer);
42
+ this.timers.sort((a, b) => a.micros - b.micros);
43
+ return timer;
44
+ }
45
+ deleteTimer(timer) {
46
+ const timerIndex = this.timers.indexOf(timer);
47
+ if (timerIndex >= 0) {
48
+ this.timers.splice(timerIndex, 1);
49
+ }
50
+ }
51
+ }
52
+ exports.MockClock = MockClock;
@@ -1,23 +1,23 @@
1
- import { IClock, IClockTimer } from './clock';
2
- export declare class ClockTimer implements IClockTimer {
3
- private micros;
4
- private callback;
5
- private jsTimer;
6
- private timeLeft;
7
- constructor(micros: number, callback: () => void);
8
- schedule(currentMicros: number): void;
9
- unschedule(): void;
10
- pause(currentMicros: number): void;
11
- resume(currentMicros: number): void;
12
- }
13
- export declare class RealtimeClock implements IClock {
14
- baseTime: number;
15
- pauseTime: number;
16
- paused: boolean;
17
- timers: Set<ClockTimer>;
18
- pause(): void;
19
- resume(): void;
20
- createTimer(deltaMicros: number, callback: () => void): ClockTimer;
21
- deleteTimer(timer: ClockTimer): void;
22
- get micros(): number;
23
- }
1
+ import { IClock, IClockTimer } from './clock.js';
2
+ export declare class ClockTimer implements IClockTimer {
3
+ private micros;
4
+ private callback;
5
+ private jsTimer;
6
+ private timeLeft;
7
+ constructor(micros: number, callback: () => void);
8
+ schedule(currentMicros: number): void;
9
+ unschedule(): void;
10
+ pause(currentMicros: number): void;
11
+ resume(currentMicros: number): void;
12
+ }
13
+ export declare class RealtimeClock implements IClock {
14
+ baseTime: number;
15
+ pauseTime: number;
16
+ paused: boolean;
17
+ timers: Set<ClockTimer>;
18
+ pause(): void;
19
+ resume(): void;
20
+ createTimer(deltaMicros: number, callback: () => void): ClockTimer;
21
+ deleteTimer(timer: ClockTimer): void;
22
+ get micros(): number;
23
+ }
@@ -1,73 +1,73 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RealtimeClock = exports.ClockTimer = void 0;
4
- const time_1 = require("../utils/time");
5
- class ClockTimer {
6
- constructor(micros, callback) {
7
- this.micros = micros;
8
- this.callback = callback;
9
- this.jsTimer = null;
10
- this.timeLeft = this.micros;
11
- }
12
- schedule(currentMicros) {
13
- this.jsTimer = setTimeout(this.callback, (this.micros - currentMicros) / 1000);
14
- }
15
- unschedule() {
16
- if (this.jsTimer) {
17
- clearTimeout(this.jsTimer);
18
- this.jsTimer = null;
19
- }
20
- }
21
- pause(currentMicros) {
22
- this.timeLeft = this.micros - currentMicros;
23
- this.unschedule();
24
- }
25
- resume(currentMicros) {
26
- this.micros = currentMicros + this.timeLeft;
27
- this.schedule(currentMicros);
28
- }
29
- }
30
- exports.ClockTimer = ClockTimer;
31
- class RealtimeClock {
32
- constructor() {
33
- this.baseTime = 0;
34
- this.pauseTime = 0;
35
- this.paused = true;
36
- this.timers = new Set();
37
- }
38
- pause() {
39
- if (!this.paused) {
40
- for (const timer of this.timers) {
41
- timer.pause(this.micros);
42
- }
43
- this.pauseTime = this.micros;
44
- this.paused = true;
45
- }
46
- }
47
- resume() {
48
- if (this.paused) {
49
- this.baseTime = time_1.getCurrentMicroseconds() - this.pauseTime;
50
- this.paused = false;
51
- for (const timer of this.timers) {
52
- timer.resume(this.micros);
53
- }
54
- }
55
- }
56
- createTimer(deltaMicros, callback) {
57
- const timer = new ClockTimer(this.micros + deltaMicros, () => {
58
- this.timers.delete(timer);
59
- callback();
60
- });
61
- timer.schedule(this.micros);
62
- this.timers.add(timer);
63
- return timer;
64
- }
65
- deleteTimer(timer) {
66
- timer.unschedule();
67
- this.timers.delete(timer);
68
- }
69
- get micros() {
70
- return time_1.getCurrentMicroseconds() - this.baseTime;
71
- }
72
- }
73
- exports.RealtimeClock = RealtimeClock;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RealtimeClock = exports.ClockTimer = void 0;
4
+ const time_js_1 = require("../utils/time.js");
5
+ class ClockTimer {
6
+ constructor(micros, callback) {
7
+ this.micros = micros;
8
+ this.callback = callback;
9
+ this.jsTimer = null;
10
+ this.timeLeft = this.micros;
11
+ }
12
+ schedule(currentMicros) {
13
+ this.jsTimer = setTimeout(this.callback, (this.micros - currentMicros) / 1000);
14
+ }
15
+ unschedule() {
16
+ if (this.jsTimer) {
17
+ clearTimeout(this.jsTimer);
18
+ this.jsTimer = null;
19
+ }
20
+ }
21
+ pause(currentMicros) {
22
+ this.timeLeft = this.micros - currentMicros;
23
+ this.unschedule();
24
+ }
25
+ resume(currentMicros) {
26
+ this.micros = currentMicros + this.timeLeft;
27
+ this.schedule(currentMicros);
28
+ }
29
+ }
30
+ exports.ClockTimer = ClockTimer;
31
+ class RealtimeClock {
32
+ constructor() {
33
+ this.baseTime = 0;
34
+ this.pauseTime = 0;
35
+ this.paused = true;
36
+ this.timers = new Set();
37
+ }
38
+ pause() {
39
+ if (!this.paused) {
40
+ for (const timer of this.timers) {
41
+ timer.pause(this.micros);
42
+ }
43
+ this.pauseTime = this.micros;
44
+ this.paused = true;
45
+ }
46
+ }
47
+ resume() {
48
+ if (this.paused) {
49
+ this.baseTime = (0, time_js_1.getCurrentMicroseconds)() - this.pauseTime;
50
+ this.paused = false;
51
+ for (const timer of this.timers) {
52
+ timer.resume(this.micros);
53
+ }
54
+ }
55
+ }
56
+ createTimer(deltaMicros, callback) {
57
+ const timer = new ClockTimer(this.micros + deltaMicros, () => {
58
+ this.timers.delete(timer);
59
+ callback();
60
+ });
61
+ timer.schedule(this.micros);
62
+ this.timers.add(timer);
63
+ return timer;
64
+ }
65
+ deleteTimer(timer) {
66
+ timer.unschedule();
67
+ this.timers.delete(timer);
68
+ }
69
+ get micros() {
70
+ return (0, time_js_1.getCurrentMicroseconds)() - this.baseTime;
71
+ }
72
+ }
73
+ exports.RealtimeClock = RealtimeClock;
@@ -1,87 +1,87 @@
1
- import { RP2040 } from './rp2040';
2
- export declare const SYSM_MSP = 8;
3
- export declare const SYSM_PSP = 9;
4
- export declare const SYSM_PRIMASK = 16;
5
- export declare const SYSM_CONTROL = 20;
6
- declare enum ExecutionMode {
7
- Mode_Thread = 0,
8
- Mode_Handler = 1
9
- }
10
- declare enum StackPointerBank {
11
- SPmain = 0,
12
- SPprocess = 1
13
- }
14
- export declare class CortexM0Core {
15
- readonly rp2040: RP2040;
16
- readonly registers: Uint32Array;
17
- bankedSP: number;
18
- cycles: number;
19
- eventRegistered: boolean;
20
- waiting: boolean;
21
- N: boolean;
22
- C: boolean;
23
- Z: boolean;
24
- V: boolean;
25
- breakRewind: number;
26
- PM: boolean;
27
- SPSEL: StackPointerBank;
28
- nPRIV: boolean;
29
- currentMode: ExecutionMode;
30
- IPSR: number;
31
- interruptNMIMask: number;
32
- pendingInterrupts: number;
33
- enabledInterrupts: number;
34
- interruptPriorities: number[];
35
- pendingNMI: boolean;
36
- pendingPendSV: boolean;
37
- pendingSVCall: boolean;
38
- pendingSystick: boolean;
39
- interruptsUpdated: boolean;
40
- VTOR: number;
41
- SHPR2: number;
42
- SHPR3: number;
43
- /** Hook to listen for function calls - branch-link (BL/BLX) instructions */
44
- blTaken: (core: CortexM0Core, blx: boolean) => void;
45
- constructor(rp2040: RP2040);
46
- get logger(): import(".").Logger;
47
- reset(): void;
48
- get SP(): number;
49
- set SP(value: number);
50
- get LR(): number;
51
- set LR(value: number);
52
- get PC(): number;
53
- set PC(value: number);
54
- get APSR(): number;
55
- set APSR(value: number);
56
- get xPSR(): number;
57
- set xPSR(value: number);
58
- checkCondition(cond: number): boolean;
59
- readUint32(address: number): number;
60
- readUint16(address: number): number;
61
- readUint8(address: number): number;
62
- writeUint32(address: number, value: number): void;
63
- writeUint16(address: number, value: number): void;
64
- writeUint8(address: number, value: number): void;
65
- switchStack(stack: StackPointerBank): void;
66
- get SPprocess(): number;
67
- set SPprocess(value: number);
68
- get SPmain(): number;
69
- set SPmain(value: number);
70
- exceptionEntry(exceptionNumber: number): void;
71
- exceptionReturn(excReturn: number): void;
72
- get pendSVPriority(): number;
73
- get svCallPriority(): number;
74
- get systickPriority(): number;
75
- exceptionPriority(n: number): number;
76
- get vectPending(): number;
77
- setInterrupt(irq: number, value: boolean): void;
78
- checkForInterrupts(): boolean;
79
- readSpecialRegister(sysm: number): number;
80
- writeSpecialRegister(sysm: number, value: number): 0 | undefined;
81
- BXWritePC(address: number): void;
82
- private substractUpdateFlags;
83
- private addUpdateFlags;
84
- cyclesIO(addr: number, write?: boolean): 3 | 0 | 1 | 4;
85
- executeInstruction(): void;
86
- }
87
- export {};
1
+ import { RP2040 } from './rp2040.js';
2
+ export declare const SYSM_MSP = 8;
3
+ export declare const SYSM_PSP = 9;
4
+ export declare const SYSM_PRIMASK = 16;
5
+ export declare const SYSM_CONTROL = 20;
6
+ declare enum ExecutionMode {
7
+ Mode_Thread = 0,
8
+ Mode_Handler = 1
9
+ }
10
+ declare enum StackPointerBank {
11
+ SPmain = 0,
12
+ SPprocess = 1
13
+ }
14
+ export declare class CortexM0Core {
15
+ readonly rp2040: RP2040;
16
+ readonly registers: Uint32Array;
17
+ bankedSP: number;
18
+ cycles: number;
19
+ eventRegistered: boolean;
20
+ waiting: boolean;
21
+ N: boolean;
22
+ C: boolean;
23
+ Z: boolean;
24
+ V: boolean;
25
+ breakRewind: number;
26
+ PM: boolean;
27
+ SPSEL: StackPointerBank;
28
+ nPRIV: boolean;
29
+ currentMode: ExecutionMode;
30
+ IPSR: number;
31
+ interruptNMIMask: number;
32
+ pendingInterrupts: number;
33
+ enabledInterrupts: number;
34
+ interruptPriorities: number[];
35
+ pendingNMI: boolean;
36
+ pendingPendSV: boolean;
37
+ pendingSVCall: boolean;
38
+ pendingSystick: boolean;
39
+ interruptsUpdated: boolean;
40
+ VTOR: number;
41
+ SHPR2: number;
42
+ SHPR3: number;
43
+ /** Hook to listen for function calls - branch-link (BL/BLX) instructions */
44
+ blTaken: (core: CortexM0Core, blx: boolean) => void;
45
+ constructor(rp2040: RP2040);
46
+ get logger(): import("./index.js").Logger;
47
+ reset(): void;
48
+ get SP(): number;
49
+ set SP(value: number);
50
+ get LR(): number;
51
+ set LR(value: number);
52
+ get PC(): number;
53
+ set PC(value: number);
54
+ get APSR(): number;
55
+ set APSR(value: number);
56
+ get xPSR(): number;
57
+ set xPSR(value: number);
58
+ checkCondition(cond: number): boolean;
59
+ readUint32(address: number): number;
60
+ readUint16(address: number): number;
61
+ readUint8(address: number): number;
62
+ writeUint32(address: number, value: number): void;
63
+ writeUint16(address: number, value: number): void;
64
+ writeUint8(address: number, value: number): void;
65
+ switchStack(stack: StackPointerBank): void;
66
+ get SPprocess(): number;
67
+ set SPprocess(value: number);
68
+ get SPmain(): number;
69
+ set SPmain(value: number);
70
+ exceptionEntry(exceptionNumber: number): void;
71
+ exceptionReturn(excReturn: number): void;
72
+ get pendSVPriority(): number;
73
+ get svCallPriority(): number;
74
+ get systickPriority(): number;
75
+ exceptionPriority(n: number): number;
76
+ get vectPending(): number;
77
+ setInterrupt(irq: number, value: boolean): void;
78
+ checkForInterrupts(): boolean;
79
+ readSpecialRegister(sysm: number): number;
80
+ writeSpecialRegister(sysm: number, value: number): 0 | undefined;
81
+ BXWritePC(address: number): void;
82
+ private substractUpdateFlags;
83
+ private addUpdateFlags;
84
+ cyclesIO(addr: number, write?: boolean): 0 | 1 | 3 | 4;
85
+ executeInstruction(): void;
86
+ }
87
+ export {};