@johntalton/ftdi 1.0.0 → 1.1.2
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 +88 -16
- package/lib/eeprom.d.ts +5 -5
- package/lib/eeprom.d.ts.map +1 -1
- package/lib/eeprom.js +2 -1
- package/lib/eeprom.js.map +1 -1
- package/lib/ftdi.d.ts +1 -1
- package/lib/ftdi.d.ts.map +1 -1
- package/lib/ftdi.js +16 -16
- package/lib/ftdi.js.map +1 -1
- package/lib/i2c/i2c-template.d.ts +19 -1
- package/lib/i2c/i2c-template.d.ts.map +1 -1
- package/lib/i2c/i2c-template.js +24 -13
- package/lib/i2c/i2c-template.js.map +1 -1
- package/lib/i2c/i2c.d.ts +2 -2
- package/lib/i2c/i2c.d.ts.map +1 -1
- package/lib/i2c/i2c.js +14 -8
- package/lib/i2c/i2c.js.map +1 -1
- package/lib/mpsse/command.d.ts.map +1 -1
- package/lib/mpsse/command.js +2 -2
- package/lib/mpsse/command.js.map +1 -1
- package/lib/mpsse/mpsse-template.d.ts +4 -2
- package/lib/mpsse/mpsse-template.d.ts.map +1 -1
- package/lib/mpsse/mpsse-template.js +36 -10
- package/lib/mpsse/mpsse-template.js.map +1 -1
- package/lib/mpsse/mpsse.d.ts +2 -2
- package/lib/mpsse/mpsse.d.ts.map +1 -1
- package/lib/mpsse/mpsse.js +2 -2
- package/lib/spi/index.d.ts +14 -0
- package/lib/spi/index.d.ts.map +1 -0
- package/lib/spi/index.js +74 -0
- package/lib/spi/index.js.map +1 -0
- package/lib/util.d.ts +4 -4
- package/lib/util.d.ts.map +1 -1
- package/lib/util.js +9 -8
- package/lib/util.js.map +1 -1
- package/package.json +14 -3
- package/src/eeprom.ts +10 -9
- package/src/ftdi.ts +16 -17
- package/src/i2c/i2c-template.ts +32 -13
- package/src/i2c/i2c.ts +15 -12
- package/src/mpsse/command.ts +2 -3
- package/src/mpsse/mpsse-template.ts +27 -10
- package/src/mpsse/mpsse.ts +3 -3
- package/src/spi/index.ts +113 -0
- package/src/util.ts +10 -9
- package/lib/ft232h.d.ts +0 -37
- package/lib/ft232h.d.ts.map +0 -1
- package/lib/ft232h.js +0 -204
- package/lib/ft232h.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# FTDI
|
|
2
2
|
|
|
3
|
+
WebUSB based driver for FTDI's chip
|
|
4
|
+
|
|
5
|
+
Intended to provide I²C abstraction for compatibility with [I2CBus](https://github.com/johntalton/and-other-delights)
|
|
6
|
+
|
|
7
|
+
The FT232H and FT232R chips have been used during testing, and while other chips should work, access to others is limited (if you wish to help support please consider device donations 🎁)
|
|
8
|
+
|
|
3
9
|
[](https://www.npmjs.com/package/@johntalton/ftdi)
|
|
4
10
|

|
|
5
11
|
[](https://github.com/johntalton/ftdi/actions/workflows/CI.yml)
|
|
@@ -7,11 +13,6 @@
|
|
|
7
13
|
[](https://www.npmjs.com/package/@johntalton/ftdi)
|
|
8
14
|

|
|
9
15
|
|
|
10
|
-
WebUSB based driver for FTDI's chip
|
|
11
|
-
|
|
12
|
-
Intended to provide I²C abstraction for compatibility with [I2CBus](https://github.com/johntalton/and-other-delights)
|
|
13
|
-
|
|
14
|
-
The FT232H and FT232R chips have been used during testing, and while other chips should work, access to others is limited (if you wish to help support please consider device donations 🎁)
|
|
15
16
|
|
|
16
17
|
## Example
|
|
17
18
|
|
|
@@ -41,26 +42,28 @@ import { PIN_STATE_COMMANDS } from '@johntalton/ftdi'
|
|
|
41
42
|
export const delayMs = ms => new Promise(resolve => setTimeout(resolve, ms))
|
|
42
43
|
|
|
43
44
|
// LED on
|
|
44
|
-
await ftDevice.
|
|
45
|
-
PIN_STATE_COMMANDS.SET_DATA_BITS_HIGH_BYTE,
|
|
46
|
-
0b1000_0000, // gpio to set (HIGH)
|
|
47
|
-
0b1000_0000
|
|
48
|
-
]))
|
|
49
|
-
|
|
45
|
+
await ftDevice.mpsse.setGpioHigh(0b1000_0000, 0b1000_0000)
|
|
50
46
|
await delayMs(500)
|
|
51
47
|
|
|
52
48
|
// LED off
|
|
49
|
+
await ftDevice.mpsse.setGpioHigh(0b0000_0000, 0b1000_0000)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The above code uses the well-known commands via the `ftDevice.mpsse.setGpioHigh`, alternatively commands can be send directly, seen bellow.
|
|
53
|
+
|
|
54
|
+
It is recommended to use the `device.mpsse.` version as it checks parameters etc, these are provided here for customization.
|
|
55
|
+
|
|
56
|
+
```js
|
|
57
|
+
// this is the same as the above LED on
|
|
53
58
|
await ftDevice.sendData(Uint8Array.from([
|
|
54
59
|
PIN_STATE_COMMANDS.SET_DATA_BITS_HIGH_BYTE,
|
|
55
|
-
|
|
56
|
-
0b1000_0000
|
|
60
|
+
0b1000_0000, // gpio to set (HIGH)
|
|
61
|
+
0b1000_0000
|
|
57
62
|
]))
|
|
58
|
-
|
|
59
63
|
```
|
|
60
64
|
|
|
65
|
+
## I²C Example
|
|
61
66
|
|
|
62
|
-
|
|
63
|
-
Using it as a I²C bus.
|
|
64
67
|
This uses the FT232H specific implementation as it support Drive Zero only and 3-Phase clocking that significantly reduces implementation complexity.
|
|
65
68
|
|
|
66
69
|
```js
|
|
@@ -87,3 +90,72 @@ const { temperatureC } = await sensor.getTemperature()
|
|
|
87
90
|
|
|
88
91
|
```
|
|
89
92
|
|
|
93
|
+
⚠️ For I²C to remain functional, the device must be in MPSSE mode. (additional parameters / commands are executed as part of `init`, it is highly recommended to utilize this function, not doing some will cause bus communication to becomes unstable/unusable)
|
|
94
|
+
|
|
95
|
+
The `device.mpsse.validateMPSSE()` can be used to validate the mode is active.
|
|
96
|
+
|
|
97
|
+
Additionally the bus speed can be initialized during `FT232Bus.init(ftDevice)` call by passing an `options` parameter.
|
|
98
|
+
|
|
99
|
+
```ts
|
|
100
|
+
import { CLOCK_DEFAULT_FAST_MODE_PLUS_1_MHz } from '@johntalton/ftdi'
|
|
101
|
+
|
|
102
|
+
// returns true if MPSSE is active and accepting command, false otherwise
|
|
103
|
+
const valid = await ftDevice.mpsse.validateMPSSE()
|
|
104
|
+
if(!valid) { /* handle error */ }
|
|
105
|
+
|
|
106
|
+
// initialize with a common predefined clock
|
|
107
|
+
await FT232HBus.init(ftDevice, {
|
|
108
|
+
targetClockHz: CLOCK_DEFAULT_FAST_MODE_PLUS_1_MHz
|
|
109
|
+
})
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
It is also possible to set the clock divisor (and thus the Hz) directly vai the MPSSE command set.
|
|
113
|
+
|
|
114
|
+
note: this used the 60 MHz clock "base", this assumed the Divide-By-5 has been disabled. (via `device.mpsse.enableClockDivideBy5(false)`)
|
|
115
|
+
|
|
116
|
+
```ts
|
|
117
|
+
import { Clock, CLOCK_BASE_60 } from '@johntalton/ftdi'
|
|
118
|
+
|
|
119
|
+
// set to 400 kHz (this is equivalent to CLOCK_DEFAULT_FAST_MODE_400_kHz via init)
|
|
120
|
+
const divisor = Clock.clockDivisor(400 * 1000, CLOCK_BASE_60) // in Hz
|
|
121
|
+
|
|
122
|
+
// ...
|
|
123
|
+
await ftDevice.mpssse.setClockDivisor(divisor)
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
## EEPROM
|
|
129
|
+
|
|
130
|
+
Many of the configuration for FTDI chips live within the EEPROM.
|
|
131
|
+
|
|
132
|
+
They can be accessed and parsed as follows:
|
|
133
|
+
|
|
134
|
+
```ts
|
|
135
|
+
import { FTDIEEPROM, Util } from '@johntalton/ftdi'
|
|
136
|
+
|
|
137
|
+
const usbDevice = // WebUSB Device via navigator.usb.requestDevice
|
|
138
|
+
const major = usbDevice.deviceVersionMajor
|
|
139
|
+
const minor = usbDevice.deviceVersionMinor
|
|
140
|
+
|
|
141
|
+
// using major/minor version detect chip information
|
|
142
|
+
const chipInfo = Util.chip(major, minor)
|
|
143
|
+
|
|
144
|
+
// read from the device the entire (bulk) eeprom values as an Array16Buffer
|
|
145
|
+
const buffer16 = await FTDIEEPROM.readEEPROMBulk(ftdiDevice, chipInfo.eepromSize)
|
|
146
|
+
|
|
147
|
+
// parse based on input buffer and chip information
|
|
148
|
+
const info = FTDIEEPROM.parseEEPROM(buffer16, chipInfo)
|
|
149
|
+
|
|
150
|
+
console.log('EEPROM:', info)
|
|
151
|
+
|
|
152
|
+
// additionally the contents contains the configured checksum and the calculated one, this can be used to validate the EEPROM (required for proper operation)
|
|
153
|
+
const { checksum, checksumCalculated } = info
|
|
154
|
+
const valid = checksum === checksumCalculated
|
|
155
|
+
if(!valid) {
|
|
156
|
+
// handle invalid eeprom (some values may be corrupted etc)
|
|
157
|
+
// this may effect the ability of the chip to be detected via USB
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
```
|
package/lib/eeprom.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/** biome-ignore-all lint/performance/noAwaitInLoops:
|
|
2
|
-
/** biome-ignore-all lint/nursery/noMisleadingReturnType:
|
|
3
|
-
/** biome-ignore-all lint/style/useConsistentArrayType:
|
|
4
|
-
/** biome-ignore-all lint/style/noExcessiveLinesPerFile:
|
|
5
|
-
/** biome-ignore-all lint/style/useDestructuring:
|
|
1
|
+
/** biome-ignore-all lint/performance/noAwaitInLoops: simplifies code */
|
|
2
|
+
/** biome-ignore-all lint/nursery/noMisleadingReturnType: false positive */
|
|
3
|
+
/** biome-ignore-all lint/style/useConsistentArrayType: miss-classified */
|
|
4
|
+
/** biome-ignore-all lint/style/noExcessiveLinesPerFile: parser for all chips */
|
|
5
|
+
/** biome-ignore-all lint/style/useDestructuring: explicity word index for array */
|
|
6
6
|
import type { FTDIDevice } from './ftdi.ts';
|
|
7
7
|
import { type ChipInfo } from './util.ts';
|
|
8
8
|
export declare const MASK_16 = 65535;
|
package/lib/eeprom.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eeprom.d.ts","sourceRoot":"","sources":["../src/eeprom.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"eeprom.d.ts","sourceRoot":"","sources":["../src/eeprom.ts"],"names":[],"mappings":"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"}
|
package/lib/eeprom.js
CHANGED
|
@@ -54,7 +54,7 @@ export const CBUS_FUNC_NAME_R = {
|
|
|
54
54
|
9: 'CLK6',
|
|
55
55
|
10: 'IOMODE',
|
|
56
56
|
11: 'BB_WR',
|
|
57
|
-
12: 'BB_RD
|
|
57
|
+
12: 'BB_RD'
|
|
58
58
|
};
|
|
59
59
|
export const GROUP_DRIVE_MASK = 0b0000_0011;
|
|
60
60
|
export const SLOW_SLEW_MASK = 0b0000_0100;
|
|
@@ -380,6 +380,7 @@ export class FTDIEEPROM {
|
|
|
380
380
|
}
|
|
381
381
|
return undefined;
|
|
382
382
|
}
|
|
383
|
+
// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: does heavy lifting
|
|
383
384
|
static parseEEPROM(buffer, chipInfo) {
|
|
384
385
|
const u16 = ArrayBuffer.isView(buffer) ?
|
|
385
386
|
new Uint16Array(buffer.buffer, buffer.byteOffset) :
|
package/lib/eeprom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eeprom.js","sourceRoot":"","sources":["../src/eeprom.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eeprom.js","sourceRoot":"","sources":["../src/eeprom.ts"],"names":[],"mappings":"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"}
|
package/lib/ftdi.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** biome-ignore-all lint/style/noNestedTernary:
|
|
1
|
+
/** biome-ignore-all lint/style/noNestedTernary: makes code better */
|
|
2
2
|
import type { BitMode, ModemControl } from './consts.ts';
|
|
3
3
|
import { MPSSE } from './mpsse/mpsse.ts';
|
|
4
4
|
import { type DeviceStatusInfo } from './status.ts';
|
package/lib/ftdi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ftdi.d.ts","sourceRoot":"","sources":["../src/ftdi.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"ftdi.d.ts","sourceRoot":"","sources":["../src/ftdi.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAe,MAAM,aAAa,CAAA;AAErE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAEN,KAAK,gBAAgB,EAErB,MAAM,aAAa,CAAA;AAEpB,eAAO,MAAM,eAAe,EAAE,iBAAwB,CAAA;AACtD,eAAO,MAAM,kBAAkB,EAAE,iBAA2B,CAAA;AAC5D,eAAO,MAAM,mBAAmB,EAAE,iBAA4B,CAAA;AAG9D,eAAO,MAAM,mBAAmB,WAAW,CAAA;AAC3C,eAAO,MAAM,gBAAgB,WAAW,CAAA;AAExC,eAAO,MAAM,sBAAsB,OAAO,CAAA;AAC1C,eAAO,MAAM,uBAAuB,QAAQ,CAAA;AAC5C,eAAO,MAAM,mBAAmB,SAAS,CAAA;AAEzC,eAAO,MAAM,4BAA4B,IAAI,CAAA;AAC7C,eAAO,MAAM,wBAAwB,IAAI,CAAA;AAGzC,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,GAAG;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAI1G;AAED,qBAAa,UAAU;;IAOtB,OAAa,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAGxD;IAED,YAAY,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAMlF;IAED,IAAI,KAAK,IAAI,KAAK,CAAuB;IAmDnC,KAAK,CAAC,IAAI,SAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjD;IAEK,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7C;IAEK,cAAc,IAAI,OAAO,CAAC,gBAAgB,GAAC,SAAS,CAAC,CAM1D;IAEK,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAOvC;IAEK,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpD;IAEK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAKhC;IAEK,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAe1D;IAEK,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAO7D;IAEK,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ7D;IAEM,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAIlD;IAEI,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAM7D;IAEK,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAOhF;IAEK,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIjE;CAKD"}
|
package/lib/ftdi.js
CHANGED
|
@@ -90,20 +90,20 @@ export class FTDIDevice {
|
|
|
90
90
|
await this.#requestOut(REQUESTS.SET_BITMODE, value);
|
|
91
91
|
}
|
|
92
92
|
async getModemStatus() {
|
|
93
|
-
const
|
|
94
|
-
if (
|
|
95
|
-
throw new Error(
|
|
93
|
+
const result = await this.#requestIn(REQUESTS.POLL_MODEM_STATUS, STATUS_PREFIX_LENGTH);
|
|
94
|
+
if (result.status !== USB_TRANSFER_OK) {
|
|
95
|
+
throw new Error(`unexpected status: ${result.status}`);
|
|
96
96
|
}
|
|
97
|
-
if (
|
|
97
|
+
if (result.data === undefined) {
|
|
98
98
|
throw new Error('undefined data');
|
|
99
99
|
}
|
|
100
|
-
assertDataViewNotShared(
|
|
101
|
-
return DeviceStatus.parse(
|
|
100
|
+
assertDataViewNotShared(result.data);
|
|
101
|
+
return DeviceStatus.parse(result.data);
|
|
102
102
|
}
|
|
103
103
|
async getLatencyTimer() {
|
|
104
104
|
const result = await this.#requestIn(REQUESTS.GET_LATENCY_TIMER, 1);
|
|
105
105
|
if (result.status !== USB_TRANSFER_OK) {
|
|
106
|
-
throw new Error(
|
|
106
|
+
throw new Error(`unexpected status: ${result.status}`);
|
|
107
107
|
}
|
|
108
108
|
if (result.data === undefined) {
|
|
109
109
|
throw new Error('undefined data');
|
|
@@ -120,13 +120,13 @@ export class FTDIDevice {
|
|
|
120
120
|
}
|
|
121
121
|
const result = await this.#requestOut(REQUESTS.SET_LATENCY_TIMER, latency);
|
|
122
122
|
if (result.status !== USB_TRANSFER_OK) {
|
|
123
|
-
throw new Error(
|
|
123
|
+
throw new Error(`unexpected status: ${result.status}`);
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
async readPins() {
|
|
127
127
|
const result = await this.#requestIn(REQUESTS.READ_PINS, 1);
|
|
128
128
|
if (result.status !== USB_TRANSFER_OK) {
|
|
129
|
-
throw new Error(
|
|
129
|
+
throw new Error(`unexpected status: ${result.status}`);
|
|
130
130
|
}
|
|
131
131
|
if (result.data === undefined) {
|
|
132
132
|
throw new Error('undefined data');
|
|
@@ -145,7 +145,7 @@ export class FTDIDevice {
|
|
|
145
145
|
const value = dtrValue | rtsValue;
|
|
146
146
|
const result = await this.#requestOut(REQUESTS.SET_MODEM_CTRL, value);
|
|
147
147
|
if (result.status !== USB_TRANSFER_OK) {
|
|
148
|
-
throw new Error(
|
|
148
|
+
throw new Error(`unexpected status: ${result.status}`);
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
async setEventChar(data, enable = true) {
|
|
@@ -153,7 +153,7 @@ export class FTDIDevice {
|
|
|
153
153
|
const value = enable ? ENABLE_BIT | data : data;
|
|
154
154
|
const result = await this.#requestOut(REQUESTS.SET_EVENT_CHAR, value);
|
|
155
155
|
if (result.status !== USB_TRANSFER_OK) {
|
|
156
|
-
throw new Error(
|
|
156
|
+
throw new Error(`unexpected status: ${result.status}`);
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
async setErrorChar(data, enable = true) {
|
|
@@ -161,20 +161,20 @@ export class FTDIDevice {
|
|
|
161
161
|
const value = enable ? ENABLE_BIT | data : data;
|
|
162
162
|
const result = await this.#requestOut(REQUESTS.SET_ERROR_CHAR, value);
|
|
163
163
|
if (result.status !== USB_TRANSFER_OK) {
|
|
164
|
-
throw new Error(
|
|
164
|
+
throw new Error(`unexpected status: ${result.status}`);
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
async sendData(data) {
|
|
168
168
|
const result = await this.#device.transferOut(this.#endpointBulkOut, data);
|
|
169
169
|
if (result.status !== USB_TRANSFER_OK) {
|
|
170
|
-
throw new Error(
|
|
170
|
+
throw new Error(`unexpected status sending data: ${result.status}`);
|
|
171
171
|
}
|
|
172
172
|
return result.bytesWritten;
|
|
173
173
|
}
|
|
174
174
|
async readData(length) {
|
|
175
175
|
const result = await this.#device.transferIn(this.#endpointBulkIn, length);
|
|
176
176
|
if (result.status !== USB_TRANSFER_OK) {
|
|
177
|
-
throw new Error(
|
|
177
|
+
throw new Error(`unexpected status reading data: ${result.status}`);
|
|
178
178
|
}
|
|
179
179
|
if (result.data === undefined) {
|
|
180
180
|
throw new Error('result data undefined');
|
|
@@ -185,7 +185,7 @@ export class FTDIDevice {
|
|
|
185
185
|
async readEEPROM(address, length) {
|
|
186
186
|
const result = await this.#requestIn(REQUESTS.READ_EEPROM, length, address);
|
|
187
187
|
if (result.status !== USB_TRANSFER_OK) {
|
|
188
|
-
throw new Error(
|
|
188
|
+
throw new Error(`unexpected status reading eeprom: ${result.status}`);
|
|
189
189
|
}
|
|
190
190
|
if (result.data === undefined) {
|
|
191
191
|
throw new Error('result data undefined');
|
|
@@ -196,7 +196,7 @@ export class FTDIDevice {
|
|
|
196
196
|
async writeEEPROM(address, value) {
|
|
197
197
|
const result = await this.#requestOut(REQUESTS.WRITE_EEPROM, value, address);
|
|
198
198
|
if (result.status !== USB_TRANSFER_OK) {
|
|
199
|
-
throw new Error(
|
|
199
|
+
throw new Error(`unexpected status writing eeprom: ${result.status}`);
|
|
200
200
|
}
|
|
201
201
|
return result.bytesWritten;
|
|
202
202
|
}
|
package/lib/ftdi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ftdi.js","sourceRoot":"","sources":["../src/ftdi.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ftdi.js","sourceRoot":"","sources":["../src/ftdi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,28 @@
|
|
|
1
|
+
export declare const SCL_PIN_MASK = 1;
|
|
2
|
+
export declare const SDA_PIN_MASK = 2;
|
|
3
|
+
export declare const TX_PIN_MASK = 32;
|
|
4
|
+
export declare const RX_PIN_MASK = 64;
|
|
5
|
+
export declare const TX_LOW_RX_LOW = 0;
|
|
6
|
+
export declare const TX_LOW_RX_HIGH: number;
|
|
7
|
+
export declare const TX_HIGH_RX_LOW: number;
|
|
8
|
+
export declare const TX_HIGH_RX_HIGH: number;
|
|
9
|
+
export declare const SCL_HIGH_SDA_HIGH: number;
|
|
10
|
+
export declare const SCL_HIGH_SDA_LOW: number;
|
|
11
|
+
export declare const SCL_LOW_SDA_HIGH: number;
|
|
12
|
+
export declare const SCL_LOW_SDA_LOW: number;
|
|
13
|
+
export declare const SDA_DIRECTION_OUT = 2;
|
|
14
|
+
export declare const SCL_DIRECTION_OUT = 1;
|
|
15
|
+
export declare const RX_TX_DIRECTION = 96;
|
|
16
|
+
export declare const SDA_SCL_DIRECTION_OUT: number;
|
|
17
|
+
export declare const OPEN_DRAIN_LOW_PIN_MASK = 103;
|
|
18
|
+
export declare const OPEN_DRAIN_HIGH_PIN_MASK = 0;
|
|
1
19
|
export declare class I2CTemplate {
|
|
2
20
|
#private;
|
|
3
21
|
static initI2C(targetHertz: number, enableClockDivideBy5?: boolean): Uint8Array<ArrayBuffer>;
|
|
4
22
|
static startWithAddress(addr: number, write?: boolean): Uint8Array<ArrayBuffer>;
|
|
5
23
|
static writeByte(data: number): Uint8Array<ArrayBuffer>;
|
|
6
24
|
static repeatStartWithAddress(addr: number, write?: boolean): Uint8Array<ArrayBuffer>;
|
|
7
|
-
static readData(ack
|
|
25
|
+
static readData(ack: boolean): Uint8Array<ArrayBuffer>;
|
|
8
26
|
static stop(): Uint8Array<ArrayBuffer>;
|
|
9
27
|
}
|
|
10
28
|
//# sourceMappingURL=i2c-template.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i2c-template.d.ts","sourceRoot":"","sources":["../../src/i2c/i2c-template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"i2c-template.d.ts","sourceRoot":"","sources":["../../src/i2c/i2c-template.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,YAAY,IAAc,CAAA;AACvC,eAAO,MAAM,YAAY,IAAc,CAAA;AACvC,eAAO,MAAM,WAAW,KAAc,CAAA;AACtC,eAAO,MAAM,WAAW,KAAc,CAAA;AAItC,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,eAAO,MAAM,cAAc,EAAE,MAAoB,CAAA;AACjD,eAAO,MAAM,cAAc,EAAE,MAAoB,CAAA;AACjD,eAAO,MAAM,eAAe,EAAE,MAAkC,CAAA;AAGhE,eAAO,MAAM,iBAAiB,EAAE,MAAsD,CAAA;AACtF,eAAO,MAAM,gBAAgB,EAAE,MAAuC,CAAA;AACtE,eAAO,MAAM,gBAAgB,EAAE,MAAuC,CAAA;AACtE,eAAO,MAAM,eAAe,EAAE,MAA4B,CAAA;AAQ1D,eAAO,MAAM,iBAAiB,IAAc,CAAA;AAC5C,eAAO,MAAM,iBAAiB,IAAc,CAAA;AAC5C,eAAO,MAAM,eAAe,KAAc,CAAA;AAC1C,eAAO,MAAM,qBAAqB,EAAE,MAAgE,CAAA;AAEpG,eAAO,MAAM,uBAAuB,MAAc,CAAA;AAClD,eAAO,MAAM,wBAAwB,IAAc,CAAA;AAEnD,qBAAa,WAAW;;IACvB,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,oBAAoB,UAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAiBzF;IAsCD,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAS5E;IAED,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAQtD;IAED,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAUlF;IAED,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAYrD;IAED,MAAM,CAAC,IAAI,IAAI,UAAU,CAAC,WAAW,CAAC,CAsBrC;CACD"}
|
package/lib/i2c/i2c-template.js
CHANGED
|
@@ -1,18 +1,27 @@
|
|
|
1
|
-
/** biome-ignore-all lint/style/useConsistentArrayType:
|
|
1
|
+
/** biome-ignore-all lint/style/useConsistentArrayType: miss-classified */
|
|
2
2
|
import { CLOCK_BASE_12, CLOCK_BASE_60, Clock } from '../mpsse/clock.js';
|
|
3
3
|
import { CLOCK_DIVISOR_COMMANDS, FT232H_ONLY_COMMANDS, H_COMMANDS, HOST_AND_MPSSE_MODE_COMMANDS, PIN_STATE_COMMANDS, SHIFT_COMMAND } from '../mpsse/command.js';
|
|
4
4
|
import { MPSSETemplate } from '../mpsse/mpsse-template.js';
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
5
|
+
export const SCL_PIN_MASK = 0b0000_0001; // D0
|
|
6
|
+
export const SDA_PIN_MASK = 0b0000_0010; // D1
|
|
7
|
+
export const TX_PIN_MASK = 0b0010_0000; // D5
|
|
8
|
+
export const RX_PIN_MASK = 0b0100_0000; // D6
|
|
9
|
+
export const TX_LOW_RX_LOW = 0;
|
|
10
|
+
export const TX_LOW_RX_HIGH = RX_PIN_MASK;
|
|
11
|
+
export const TX_HIGH_RX_LOW = TX_PIN_MASK;
|
|
12
|
+
export const TX_HIGH_RX_HIGH = RX_PIN_MASK | TX_PIN_MASK;
|
|
13
|
+
export const SCL_HIGH_SDA_HIGH = SDA_PIN_MASK | SCL_PIN_MASK | TX_HIGH_RX_HIGH;
|
|
14
|
+
export const SCL_HIGH_SDA_LOW = SCL_PIN_MASK | TX_HIGH_RX_HIGH;
|
|
15
|
+
export const SCL_LOW_SDA_HIGH = SDA_PIN_MASK | TX_HIGH_RX_HIGH;
|
|
16
|
+
export const SCL_LOW_SDA_LOW = 0 | TX_HIGH_RX_HIGH;
|
|
17
|
+
// export const SCL_LOW_SDA_HIGH_RX: number = SDA_PIN_MASK | TX_HIGH_RX_LOW
|
|
18
|
+
// export const SCL_LOW_SDA_HIGH_TX: number = SDA_PIN_MASK | TX_LOW_RX_HIGH
|
|
19
|
+
export const SDA_DIRECTION_OUT = 0b0000_0010;
|
|
20
|
+
export const SCL_DIRECTION_OUT = 0b0000_0001;
|
|
21
|
+
export const RX_TX_DIRECTION = 0b0110_0000;
|
|
22
|
+
export const SDA_SCL_DIRECTION_OUT = SDA_DIRECTION_OUT | SCL_DIRECTION_OUT | RX_TX_DIRECTION;
|
|
23
|
+
export const OPEN_DRAIN_LOW_PIN_MASK = 0b0110_0111;
|
|
24
|
+
export const OPEN_DRAIN_HIGH_PIN_MASK = 0b0000_0000;
|
|
16
25
|
export class I2CTemplate {
|
|
17
26
|
static initI2C(targetHertz, enableClockDivideBy5 = false) {
|
|
18
27
|
const clockBase = enableClockDivideBy5 ? CLOCK_BASE_12 : CLOCK_BASE_60;
|
|
@@ -71,7 +80,9 @@ export class I2CTemplate {
|
|
|
71
80
|
}
|
|
72
81
|
static writeByte(data) {
|
|
73
82
|
return Uint8Array.from([
|
|
83
|
+
// ...MPSSETemplate.gpioSetLow(SCL_LOW_SDA_HIGH_TX, SDA_SCL_DIRECTION_OUT),
|
|
74
84
|
...MPSSETemplate.shiftOutByte(SHIFT_COMMAND.OUT_MSB_BYTES_NEGATIVE_VE, 1, data),
|
|
85
|
+
// ...MPSSETemplate.gpioSetLow(SCL_LOW_SDA_LOW, SDA_SCL_DIRECTION_OUT),
|
|
75
86
|
...I2CTemplate.#consumeAck(),
|
|
76
87
|
HOST_AND_MPSSE_MODE_COMMANDS.SEND_IMMEDIATE
|
|
77
88
|
]);
|
|
@@ -86,7 +97,7 @@ export class I2CTemplate {
|
|
|
86
97
|
HOST_AND_MPSSE_MODE_COMMANDS.SEND_IMMEDIATE
|
|
87
98
|
]);
|
|
88
99
|
}
|
|
89
|
-
static readData(ack
|
|
100
|
+
static readData(ack) {
|
|
90
101
|
const MSB_ACK_BIT = 0x00;
|
|
91
102
|
const MSB_NACK_BIT = 0x80;
|
|
92
103
|
const data = ack ? MSB_ACK_BIT : MSB_NACK_BIT;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i2c-template.js","sourceRoot":"","sources":["../../src/i2c/i2c-template.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"i2c-template.js","sourceRoot":"","sources":["../../src/i2c/i2c-template.ts"],"names":[],"mappings":"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"}
|
package/lib/i2c/i2c.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** biome-ignore-all lint/style/noNestedTernary: preserve const assign */
|
|
2
2
|
/** biome-ignore-all lint/performance/noAwaitInLoops: simplify impl */
|
|
3
|
-
/** biome-ignore-all lint/style/useConsistentArrayType:
|
|
3
|
+
/** biome-ignore-all lint/style/useConsistentArrayType: miss-classified */
|
|
4
4
|
import type { I2CAddress, I2CBufferSource, I2CBus, I2CCommand, I2CReadResult, I2CWriteResult } from '@johntalton/and-other-delights';
|
|
5
5
|
import type { FTDIDevice } from '../ftdi.ts';
|
|
6
6
|
export declare function checkAck(data: Uint8Array<ArrayBuffer>): boolean;
|
|
@@ -20,7 +20,7 @@ export declare class FT232HBus implements I2CBus {
|
|
|
20
20
|
constructor(device: FTDIDevice);
|
|
21
21
|
close(): void;
|
|
22
22
|
scan(): Promise<I2CAddress[]>;
|
|
23
|
-
sendByte(
|
|
23
|
+
sendByte(address: I2CAddress, byteValue: number): Promise<void>;
|
|
24
24
|
readI2cBlock(address: I2CAddress, cmd: I2CCommand, length: number, targetBuffer?: I2CBufferSource): Promise<I2CReadResult>;
|
|
25
25
|
writeI2cBlock(address: I2CAddress, cmd: I2CCommand, length: number, buffer: I2CBufferSource): Promise<I2CWriteResult>;
|
|
26
26
|
i2cRead(address: I2CAddress, length: number, targetBuffer?: I2CBufferSource): Promise<I2CReadResult>;
|
package/lib/i2c/i2c.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i2c.d.ts","sourceRoot":"","sources":["../../src/i2c/i2c.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,sEAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"i2c.d.ts","sourceRoot":"","sources":["../../src/i2c/i2c.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,sEAAsE;AACtE,0EAA0E;AAC1E,OAAO,KAAK,EACX,UAAU,EACV,eAAe,EACf,MAAM,EACN,UAAU,EACV,aAAa,EACb,cAAc,EACd,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAO5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,OAAO,CAS/D;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAI/G;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAkB3H;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAY1G;AAED,MAAM,WAAW,gBAAgB;IAChC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,qBAAa,SAAU,YAAW,MAAM;;IACvC,QAAQ,CAAC,IAAI,YAAW;IACxB,QAAQ,CAAC,YAAY,QAAO;IAC5B,QAAQ,CAAC,4BAA4B,SAAQ;IAI7C,OAAa,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/E;IAED,YAAY,MAAM,EAAE,UAAU,EAE7B;IAGA,KAAK,IAAI,IAAI,CAEb;IAEK,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAelC;IAEK,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYpE;IAEK,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CAuB/H;IAEK,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAqB1H;IAEK,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CAezG;IAEK,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAepG;CACD"}
|