4.0.0 • Published 1 year ago

@johntalton/mcp2221 v4.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

MCP2221

Full featured library MCP2221 (A) via USB HID.

npm Version GitHub package.json version CI GitHub Downloads Per Month GitHub last commit

Standard Adafruit link.

Features

Support full range of command and functionality, including:

  • Password Protected

    • Access Password setting
    • new password Flash writes
    • Alter Security settings
    • no guard against humans
  • Status

    • Reset
    • Clear Interrupt
    • I²C Diagnostics
    • ADC output
  • General Purpose

    • Digital In / Out (Gpio)
    • ADC 3x
    • DAC
    • Clock
    • Interrupt on Change (with variable edge detection)
    • USB Host Suspend and Configuration state
  • I²C

    • standard direct methods
    • addition I2CBus abstraction support
  • USB

    • USB Descriptor support
    • vendor / product Id
    • requested mA
    • etc

Example

import { MCP2221A } from '@johntalton/mcp2221'

const hidDevice = /* likely navigator.hid.getDevices() ... etc */
const source = new HIDStreamSource(hidDevice)
const chip = MCP2221.from(source)

const { adc } = await chip.common.status()
const { ch0, ch1, ch2 } = adc

ReadableStream / WritableStream

WebHID (and other HID implementation) can be abstracted in several way, an attempt is made here to normalized over a Stream API that supports BYOB (bring you own buffer) and Byte specific stream.

As such, a HIDStreamSource is used to normalize the WebHID (EventTarget) API into a stream.

A simplified stream reader is used which ignore (assumes zero) the report Id, which is correct in this case.

4.0.0

1 year ago

3.0.3

2 years ago

3.0.1

2 years ago

3.0.2

2 years ago