0.3.0 • Published 3 years ago
cp2102n v0.3.0
node-cp2102n 
Cross-platform Node.js binding for controlling GPIOs on Silicon Labs CP2102N.
Installation
npm install --save cp2102nPrebuilt addon
This package shiped with prebuilt Node.js native addon for following platforms:
| linux | darwin | win32 | |
|---|---|---|---|
| x64 | ✓ | ✓ | TODO |
| arm | ✓ | n/a | n/a |
| arm64 | ✓ | TODO |
Build from source
npm install --save cp2102n --build-from-sourceAdditional build dependencies are required on different platforms:
Debian/Ubuntu
sudo apt install -y build-essential cmake ninja-build pkg-config libusb-1.0-0-devmacOS
brew install cmake ninja pkg-config libusbRuntime depencencies
Debian/Ubuntu
sudo apt install -y libusb-1.0-0macOS
brew install libusbUsage
import { openInterface } from 'cp2102n';
try {
const device = await openInterface('/dev/cu.usbserial-1140');
await device.set({ [0]: true, [6]: true });
device.close();
} catch (e) {
console.error(e);
}APIs
openInterface(path)
path-string- Returns:
Promise<CP2102N>
Open an interface with path (i.e. /dev/cu.usbserialXXX on macOS, /dev/ttyUSBX on Linux). Throws if path is not a valid CP2102N device.
Class: CP2102N
cp2102n.set(state)
state-{ [pin: number]: boolean }- Returns:
Promise<{ [pin: number]: boolean }>
Set state of pins to high (true) or low (false). Returns the latest state.
cp2102n.get()
- Returns:
Promise<{ [pin: number]: boolean }>
Get state of all PINs.
cp2102n.setRaw(state, mask)
state-numbermask-number- Returns:
Promise<number>
Set state of masked pins in bits. Returns the latest state bits.
cp2102n.getRaw()
- Returns:
Promise<number>
Get state of pins in bits.
cp2102n.close()
Close interface.