awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jrowberg avatar

jrowberg/i2cdevlib

0
View on GitHub↗
4,251 星标·7,433 分支·C++·7 次浏览www.i2cdevlib.com↗

I2cdevlib

i2cdevlib 是一个专为 I2C 设备设计的周边驱动程序和硬件抽象层集合。它提供了一个传感器驱动程序集合、寄存器映射数据库和周边管理器,用于协调微控制器与硬件组件之间的通信。

该项目利用硬件抽象层将设备逻辑与特定的微控制器硬件和线路库解耦。这种传输层抽象允许相同的设备驱动程序在不同的硬件架构之间保持可移植性。

该库涵盖了广泛的硬件集成,包括运动和惯性传感器、环境监测器、实时时钟和电容式触摸感应。它还包括对 GPIO 扩展、模数转换以及驱动 OLED 显示器和数字仪表的支持。

该系统包括用于 I2C 协议调试和流量分析的工具,能够将原始逻辑分析仪数据与人类可读的寄存器映射定义相关联。

Features

  • I2C Bus Interfaces - Provides standardized software interfaces for connecting microcontrollers to peripherals via the I2C protocol.
  • Hardware Porting - Adapts the codebase to run across different microprocessor systems by abstracting transport operations.
  • Bus Transport Interfaces - Implements a generic transport interface for bus operations, enabling driver portability across different hardware architectures.
  • Hardware Abstraction Layers - Implements hardware abstraction layers to decouple device driver logic from specific microcontroller hardware.
  • Peripheral Abstractions - Wraps I2C peripheral behaviors into standardized C++ classes to simplify interaction with diverse hardware.
  • Hardware Peripheral Drivers - Provides a collection of specialized driver layers for various I2C sensors and peripherals.
  • I2C Register Maps - Maintains a repository of bitfield definitions and register maps used to generate drivers and analyze bus traffic.
  • Sensor Drivers - Provides a comprehensive set of drivers for reading data from accelerometers, gyroscopes, and pressure sensors.
  • Transport Abstraction Layers - Decouples high-level device logic from low-level hardware communication libraries to ensure portability.
  • Hardware Register Databases - Maintains a comprehensive database of register maps and bitfield definitions for a wide variety of I2C hardware.
  • I2C I/O Expansion - Increases the number of available general-purpose input and output pins via an external 24-bit I2C expander.
  • I2C Port Expanders - Increases available digital input and output pins using external I2C port expanders.
  • Gyroscope Data Capture - Retrieves angular velocity measurements across three axes from a gyroscope sensor via the I2C protocol.
  • Multi-Bus Management - Coordinates multiple communication objects to enable simultaneous interaction with several hardware buses.
  • I2C Traffic Analysis - Analyzes I2C bus traffic and correlates raw data packets with register maps to troubleshoot communication.
  • Inertial Measurement Unit Interfaces - Collects combined acceleration and rotation measurements from 6-axis or 9-axis inertial measurement units.
  • Magnetometer Interfaces - Measures terrestrial magnetism and magnetic flux density across three axes to determine heading and 3D orientation.
  • Real-Time Clock Management - Implements a standardized I2C interface to read and write time and date information to hardware real-time clocks.
  • Register-Map Driver Generation - Automatically produces functional driver code and bitfield access patterns based on predefined hardware register specifications.
  • Register-to-Human Mappings - Provides tools to correlate raw I2C bus traffic with human-readable register map definitions for easier debugging.
  • Triaxial Acceleration Measurement - Provides drivers to retrieve high-resolution 3-axis acceleration and gravity measurements for detecting motion, shock, or tilt.
  • Driver Code Generators - Automatically creates functional management code and bitfield access patterns using defined register map specifications.
  • Bus Traffic Correlation - Correlates raw logic analyzer data with register maps to display human-readable names instead of hexadecimal values.
  • Capacitive Touch Sensing - Provides the ability to read touch and proximity data from capacitive sensors via I2C to detect user interaction.

Star 历史

jrowberg/i2cdevlib 的 Star 历史图表jrowberg/i2cdevlib 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

jrowberg/i2cdevlib 是做什么的?

i2cdevlib 是一个专为 I2C 设备设计的周边驱动程序和硬件抽象层集合。它提供了一个传感器驱动程序集合、寄存器映射数据库和周边管理器,用于协调微控制器与硬件组件之间的通信。

jrowberg/i2cdevlib 的主要功能有哪些?

jrowberg/i2cdevlib 的主要功能包括:I2C Bus Interfaces, Hardware Porting, Bus Transport Interfaces, Hardware Abstraction Layers, Peripheral Abstractions, Hardware Peripheral Drivers, I2C Register Maps, Sensor Drivers。

jrowberg/i2cdevlib 有哪些开源替代品?

jrowberg/i2cdevlib 的开源替代品包括: raspberrypi/pico-examples — This project is a reference library of firmware examples and a development framework for creating embedded C… rwaldron/johnny-five — Johnny-Five is a JavaScript robotics framework and microcontroller hardware interface designed for programming robots… hybridgroup/gobot — Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT… petoicamp/opencat-quadruped-robot — OpenCat-Quadruped-Robot is a development framework and motion control API for building four-legged robots. It provides… embassy-rs/embassy — Embassy is an asynchronous framework for microcontrollers that provides a runtime for cooperative multitasking. It… riot-os/riot — RIOT is a real-time operating system designed for resource-constrained microcontrollers. It provides a kernel for…

I2cdevlib 的开源替代方案

相似的开源项目,按与 I2cdevlib 的功能重合度排序。
  • raspberrypi/pico-examplesraspberrypi 的头像

    raspberrypi/pico-examples

    3,835在 GitHub 上查看↗

    This project is a reference library of firmware examples and a development framework for creating embedded C applications on the RP2040 microcontroller. It provides a collection of hardware peripheral drivers and foundational patterns for managing system resources in resource-constrained environments. The library features reference implementations for programmable I/O state machines, allowing for the creation of custom hardware-level protocols. It also provides a multicore embedded framework to distribute computational workloads across multiple processor cores using symmetric processing. The

    C
    在 GitHub 上查看↗3,835
  • rwaldron/johnny-fiverwaldron 的头像

    rwaldron/johnny-five

    13,401在 GitHub 上查看↗

    Johnny-Five is a JavaScript robotics framework and microcontroller hardware interface designed for programming robots and IoT devices. It provides a standardized library for managing pins, motors, and displays across various microcontroller platforms, allowing developers to control sensors and actuators using a consistent JavaScript API. The framework is distinguished by its use of a plugin-based hardware abstraction system, which enables communication with diverse hardware platforms and protocols. It supports real-time hardware manipulation and debugging through a read-eval-print loop that a

    JavaScript1-wireadcarduino
    在 GitHub 上查看↗13,401
  • hybridgroup/gobothybridgroup 的头像

    hybridgroup/gobot

    9,425在 GitHub 上查看↗

    Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT applications. It provides a hardware abstraction layer with standardized drivers to interact with GPIO, I2C, SPI, and PWM interfaces across various single-board computers and microcontrollers. The framework functions as an IoT device orchestrator and BLE device manager, enabling the coordination of multiple sensors, actuators, and Bluetooth Low Energy peripherals. It includes specialized interfaces for drone control, allowing for the management of flight maneuvers and video streams

    Goarduinobeaglebonebeaglebone-black
    在 GitHub 上查看↗9,425
  • petoicamp/opencat-quadruped-robotPetoiCamp 的头像

    PetoiCamp/OpenCat-Quadruped-Robot

    4,891在 GitHub 上查看↗

    OpenCat-Quadruped-Robot is a development framework and motion control API for building four-legged robots. It provides a comprehensive environment for quadruped robot development, featuring tools for locomotion gait design, inverse kinematics, and a layered control architecture that separates high-level intelligence from low-level motion. The project distinguishes itself as an embedded AI deployment tool, allowing users to train, quantize, and deploy machine learning models to vision modules for tasks such as object detection and visual target tracking. It further supports complex human-robot

    C++aiarduinoblock-coding
    在 GitHub 上查看↗4,891
  • 查看 I2cdevlib 的所有 30 个替代方案→