Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@transmission-dynamics/i2c-transfer

Package Overview
Dependencies
Maintainers
0
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@transmission-dynamics/i2c-transfer

Simple I2C transfer for Node.js

  • 3.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

I2C Transfer Module

A simple Node.js module for performing I2C transfers using N-API.

Installation

npm install @transmission-dynamics/i2c-transfer

Usage

const { i2cTransfer } = require('@transmission-dynamics/i2c-transfer');

(async () => {
  try {
    const bus = '/dev/i2c-1'; // I2C bus device path
    const addr = 0x54;        // I2C slave device address
    const writeBuffer = new Uint8Array([0x04]); // Data to write
    const readSize = 3;       // Number of bytes to read

    const readBuffer = await i2cTransfer(bus, addr, writeBuffer, readSize);

    console.log('Data read from I2C device:', readBuffer);
  } catch (err) {
    console.error('Error:', err.message);
  }
})();

Description

The i2cTransfer function allows you to perform an I2C write followed by a read operation asynchronously. It communicates with I2C devices by writing data to a specified register or command and then reading the response.

Parameters

  • bus (string): The I2C bus device path (e.g., '/dev/i2c-1').
  • addr (number): The I2C slave device address (7-bit address).
  • writeBuffer (Buffer or Uint8Array): The data to write to the I2C device.
  • readSize (number): The number of bytes to read from the I2C device.

Returns

  • A Promise that resolves with a Buffer containing the data read from the I2C device.

Notes

  • Permissions: Ensure your user has the necessary permissions to access the I2C bus device (e.g., /dev/i2c-1). You may need to run your script with elevated privileges or adjust the device permissions.
  • Error Handling: The function throws errors if any I2C operation fails. Use try-catch blocks to handle exceptions.
  • Asynchronous Operation: The i2cTransfer function is asynchronous and returns a Promise, allowing you to use async/await syntax.

License

This project is licensed under the MIT License.

FAQs

Package last updated on 17 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc