rp2040js 1.3.1 → 1.3.3

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.
@@ -3,6 +3,7 @@ export { GDBServer } from './gdb/gdb-server.js';
3
3
  export { GPIOPin, GPIOPinState } from './gpio-pin.js';
4
4
  export { I2CMode, I2CSpeed, RPI2C } from './peripherals/i2c.js';
5
5
  export { BasePeripheral, type Peripheral } from './peripherals/peripheral.js';
6
+ export { RPPIO, StateMachine } from './peripherals/pio.js';
6
7
  export { RPUSBController } from './peripherals/usb.js';
7
8
  export { RP2040 } from './rp2040.js';
8
9
  export { Simulator } from './simulator.js';
@@ -10,4 +11,5 @@ export { USBCDC } from './usb/cdc.js';
10
11
  export { DataDirection, DescriptorType, SetupRecipient, SetupRequest, SetupType, type ISetupPacketParams, } from './usb/interfaces.js';
11
12
  export { createSetupPacket, getDescriptorPacket, setDeviceAddressPacket, setDeviceConfigurationPacket, } from './usb/setup.js';
12
13
  export { StandardRequest, DescriptorType as USBDescriptorType, parseSetupPacket, type USBDevice, type USBTransferResult, type USBTransferStatus, } from './usb/usb-device.js';
14
+ export { FIFO } from './utils/fifo.js';
13
15
  export { ConsoleLogger, LogLevel, type Logger } from './utils/logging.js';
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LogLevel = exports.ConsoleLogger = exports.parseSetupPacket = exports.setDeviceConfigurationPacket = exports.setDeviceAddressPacket = exports.getDescriptorPacket = exports.createSetupPacket = exports.SetupType = exports.SetupRequest = exports.SetupRecipient = exports.DescriptorType = exports.DataDirection = exports.USBCDC = exports.Simulator = exports.RP2040 = exports.RPUSBController = exports.BasePeripheral = exports.RPI2C = exports.I2CSpeed = exports.I2CMode = exports.GPIOPinState = exports.GPIOPin = exports.GDBServer = exports.GDBConnection = void 0;
3
+ exports.LogLevel = exports.ConsoleLogger = exports.FIFO = exports.parseSetupPacket = exports.setDeviceConfigurationPacket = exports.setDeviceAddressPacket = exports.getDescriptorPacket = exports.createSetupPacket = exports.SetupType = exports.SetupRequest = exports.SetupRecipient = exports.DescriptorType = exports.DataDirection = exports.USBCDC = exports.Simulator = exports.RP2040 = exports.RPUSBController = exports.StateMachine = exports.RPPIO = exports.BasePeripheral = exports.RPI2C = exports.I2CSpeed = exports.I2CMode = exports.GPIOPinState = exports.GPIOPin = exports.GDBServer = exports.GDBConnection = void 0;
4
4
  var gdb_connection_js_1 = require("./gdb/gdb-connection.js");
5
5
  Object.defineProperty(exports, "GDBConnection", { enumerable: true, get: function () { return gdb_connection_js_1.GDBConnection; } });
6
6
  var gdb_server_js_1 = require("./gdb/gdb-server.js");
@@ -14,6 +14,9 @@ Object.defineProperty(exports, "I2CSpeed", { enumerable: true, get: function ()
14
14
  Object.defineProperty(exports, "RPI2C", { enumerable: true, get: function () { return i2c_js_1.RPI2C; } });
15
15
  var peripheral_js_1 = require("./peripherals/peripheral.js");
16
16
  Object.defineProperty(exports, "BasePeripheral", { enumerable: true, get: function () { return peripheral_js_1.BasePeripheral; } });
17
+ var pio_js_1 = require("./peripherals/pio.js");
18
+ Object.defineProperty(exports, "RPPIO", { enumerable: true, get: function () { return pio_js_1.RPPIO; } });
19
+ Object.defineProperty(exports, "StateMachine", { enumerable: true, get: function () { return pio_js_1.StateMachine; } });
17
20
  var usb_js_1 = require("./peripherals/usb.js");
18
21
  Object.defineProperty(exports, "RPUSBController", { enumerable: true, get: function () { return usb_js_1.RPUSBController; } });
19
22
  var rp2040_js_1 = require("./rp2040.js");
@@ -35,6 +38,8 @@ Object.defineProperty(exports, "setDeviceAddressPacket", { enumerable: true, get
35
38
  Object.defineProperty(exports, "setDeviceConfigurationPacket", { enumerable: true, get: function () { return setup_js_1.setDeviceConfigurationPacket; } });
36
39
  var usb_device_js_1 = require("./usb/usb-device.js");
37
40
  Object.defineProperty(exports, "parseSetupPacket", { enumerable: true, get: function () { return usb_device_js_1.parseSetupPacket; } });
41
+ var fifo_js_1 = require("./utils/fifo.js");
42
+ Object.defineProperty(exports, "FIFO", { enumerable: true, get: function () { return fifo_js_1.FIFO; } });
38
43
  var logging_js_1 = require("./utils/logging.js");
39
44
  Object.defineProperty(exports, "ConsoleLogger", { enumerable: true, get: function () { return logging_js_1.ConsoleLogger; } });
40
45
  Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return logging_js_1.LogLevel; } });
@@ -366,7 +366,7 @@ class RPDMA extends peripheral_js_1.BasePeripheral {
366
366
  return (this.intRaw & this.intEnable1) | this.intForce1;
367
367
  }
368
368
  readUint32(offset) {
369
- if ((offset & 0x7ff) <= CHANNEL_REGISTERS_SIZE) {
369
+ if ((offset & 0x7ff) < CHANNEL_REGISTERS_SIZE) {
370
370
  const channelIndex = (offset & 0x7ff) >> 6;
371
371
  return this.channels[channelIndex].readUint32(offset & CHANNEL_REGISTERS_MASK);
372
372
  }
@@ -399,7 +399,7 @@ class RPDMA extends peripheral_js_1.BasePeripheral {
399
399
  return super.readUint32(offset);
400
400
  }
401
401
  writeUint32(offset, value) {
402
- if ((offset & 0x7ff) <= CHANNEL_REGISTERS_SIZE) {
402
+ if ((offset & 0x7ff) < CHANNEL_REGISTERS_SIZE) {
403
403
  const channelIndex = (offset & 0x7ff) >> 6;
404
404
  this.channels[channelIndex].writeUint32(offset & CHANNEL_REGISTERS_MASK, value);
405
405
  return;
@@ -3,6 +3,7 @@ export { GDBServer } from './gdb/gdb-server.js';
3
3
  export { GPIOPin, GPIOPinState } from './gpio-pin.js';
4
4
  export { I2CMode, I2CSpeed, RPI2C } from './peripherals/i2c.js';
5
5
  export { BasePeripheral, type Peripheral } from './peripherals/peripheral.js';
6
+ export { RPPIO, StateMachine } from './peripherals/pio.js';
6
7
  export { RPUSBController } from './peripherals/usb.js';
7
8
  export { RP2040 } from './rp2040.js';
8
9
  export { Simulator } from './simulator.js';
@@ -10,4 +11,5 @@ export { USBCDC } from './usb/cdc.js';
10
11
  export { DataDirection, DescriptorType, SetupRecipient, SetupRequest, SetupType, type ISetupPacketParams, } from './usb/interfaces.js';
11
12
  export { createSetupPacket, getDescriptorPacket, setDeviceAddressPacket, setDeviceConfigurationPacket, } from './usb/setup.js';
12
13
  export { StandardRequest, DescriptorType as USBDescriptorType, parseSetupPacket, type USBDevice, type USBTransferResult, type USBTransferStatus, } from './usb/usb-device.js';
14
+ export { FIFO } from './utils/fifo.js';
13
15
  export { ConsoleLogger, LogLevel, type Logger } from './utils/logging.js';
package/dist/esm/index.js CHANGED
@@ -3,6 +3,7 @@ export { GDBServer } from './gdb/gdb-server.js';
3
3
  export { GPIOPin, GPIOPinState } from './gpio-pin.js';
4
4
  export { I2CMode, I2CSpeed, RPI2C } from './peripherals/i2c.js';
5
5
  export { BasePeripheral } from './peripherals/peripheral.js';
6
+ export { RPPIO, StateMachine } from './peripherals/pio.js';
6
7
  export { RPUSBController } from './peripherals/usb.js';
7
8
  export { RP2040 } from './rp2040.js';
8
9
  export { Simulator } from './simulator.js';
@@ -10,4 +11,5 @@ export { USBCDC } from './usb/cdc.js';
10
11
  export { DataDirection, DescriptorType, SetupRecipient, SetupRequest, SetupType, } from './usb/interfaces.js';
11
12
  export { createSetupPacket, getDescriptorPacket, setDeviceAddressPacket, setDeviceConfigurationPacket, } from './usb/setup.js';
12
13
  export { parseSetupPacket, } from './usb/usb-device.js';
14
+ export { FIFO } from './utils/fifo.js';
13
15
  export { ConsoleLogger, LogLevel } from './utils/logging.js';
@@ -362,7 +362,7 @@ export class RPDMA extends BasePeripheral {
362
362
  return (this.intRaw & this.intEnable1) | this.intForce1;
363
363
  }
364
364
  readUint32(offset) {
365
- if ((offset & 0x7ff) <= CHANNEL_REGISTERS_SIZE) {
365
+ if ((offset & 0x7ff) < CHANNEL_REGISTERS_SIZE) {
366
366
  const channelIndex = (offset & 0x7ff) >> 6;
367
367
  return this.channels[channelIndex].readUint32(offset & CHANNEL_REGISTERS_MASK);
368
368
  }
@@ -395,7 +395,7 @@ export class RPDMA extends BasePeripheral {
395
395
  return super.readUint32(offset);
396
396
  }
397
397
  writeUint32(offset, value) {
398
- if ((offset & 0x7ff) <= CHANNEL_REGISTERS_SIZE) {
398
+ if ((offset & 0x7ff) < CHANNEL_REGISTERS_SIZE) {
399
399
  const channelIndex = (offset & 0x7ff) >> 6;
400
400
  this.channels[channelIndex].writeUint32(offset & CHANNEL_REGISTERS_MASK, value);
401
401
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rp2040js",
3
- "version": "1.3.1",
3
+ "version": "1.3.3",
4
4
  "description": "Raspberry Pi Pico (RP2040) Emulator",
5
5
  "repository": {
6
6
  "type": "git",
@@ -61,7 +61,7 @@
61
61
  },
62
62
  "devDependencies": {
63
63
  "@types/minimist": "^1.2.2",
64
- "@types/node": "^18",
64
+ "@types/node": "^20",
65
65
  "@typescript-eslint/eslint-plugin": "^6.7.3",
66
66
  "@typescript-eslint/parser": "^6.7.3",
67
67
  "eslint": "^8.50.0",
@@ -74,7 +74,7 @@
74
74
  "tsx": "^4.19.3",
75
75
  "typescript": "^5.7.3",
76
76
  "uf2": "^1.0.0",
77
- "vitest": "^3.0.6"
77
+ "vitest": "^4.1.9"
78
78
  },
79
79
  "lint-staged": {
80
80
  "**/*.ts": [