I2C Device Library

Web Name: I2C Device Library

WebSite: http://www.i2cdevlib.com

ID:234037

Keywords:

I2C,Device,Library,

Description:

keywords:
description:
Register | Log in HomeUsageForumsContributeDevicesAKM SemiconductorAK8975 3-axis magnetometerAnalog DevicesAD7746 capacitance-to-digital convertorADXL345 3-axis accelerometerAppliedSensoriAQ-2000 indoor air quality sensorAzoteqIQS156 ProxSense capacitive touch sensorBosch SensortecBMA150 3-axis accelerometerBMP085 pressure sensorFreescaleMPL3115A2 Xtrinsic Smart Pressure SensorMPR121 12-bit capacitive touch sensorHoneywellHMC5843 3-axis magnetometerHMC5883L 3-axis magnetometerInvenSenseITG-3200 3-axis gyroscopeMPU-6050 6-axis accelerometer/gyroscopeMPU-9150 9-axis accelerometer/gyroscope/magnetometerLascar ElectronicsPanelPilot multi-screen digital meterMaximDS1307 real-time clockSolomon SystechSSD1308 128x64 OLED/PLED driverSTMicroelectronicsL3G4200D 3-axis accelerometerTexas InstrumentsADS1115 16-bit A/D converterTCA6424A 24-bit I/O expanderToolsI2C Protocol AnalyzerContact Supported Platforms Upcoming Platforms

The I2C Device Library is a collection of uniform and well-documented classes to provide simple and intuitive interfaces to an ever-growing collection of I2C devices. Each device is built to make use of the generic i2cdev code, which abstracts the I2C bit-level and byte-level communication away from each specific device class, making it easy to keep the device code clean while providing a simple way to modify just one class to port the I2C communication code onto different platforms (Arduino, PIC, simple bit-banging, etc.).

The I2Cdev code is built to be used statically, reducing the memory requirement if you have multiple I2C devices in your project. Only one instance of the I2Cdev class is required. For pure C or otherwise non-object-oriented platforms, a simple procedural version of the library is currently under development.

Interactive Register Maps

The I2Cdevlib site is built around a core database of detailed register maps for each supported device. This information is used not only for direct reference for site visitors, but also for intelligent traffic analyzing and automatic multi-platform code generation. Register map definitions include addresses, register names and descriptions, access mode (read/write), bitfield names and definitions, and detailed specific values, if specified in the available documentation. You will not find a more comprehensive dynamic collection of I2C device data anywhere.

Interactive I2C Dump Analyzer

One of the most power features of the site, the I2C dump analyzer takes exported information from a logic analyzer and correlates it with known information about each device's register maps. All captured data can then be displayed with register names, bitfield names, and known values, rather than merely displaying raw I2C traffic. This can be invaluable for debugging. (Currently only the Saleae Logic I2C analyer's CSV export format is supported, but others are planned.)

The upload process is simple; just select the exported CSV file from Saleae Logic, and the analyzer will do the rest. It even guesses which devices are included in the dump based on known slave addresses, though you can choose exactly which devices to assign to which addresses so that the analyzer shows the most appropriate information. Currently only anonymous, public uploads are supported, but I'm working on a user system so that you can keep all of your own uploads public or private as desired.

Web-Based Device Entry and Modification

For devices that aren't here yet or have incomplete information in the I2Cdevlib database, there is an interface to add or modify devices directly within the website. This is the information displayed on each device's detail page as well as the register map info used to generate in-depth analysis of captured analyzer data. (NOTE: this feature is only partially implemented and not available yet)

Automatic Code Generation

Based on a sufficiently detailed register map for a given device, the I2Cdevlib site infrastruction can generate functional device management code automatically, complete with documentation, address constants, bitfield access, and even example code. If you want library support for a device that isn't here already, you can always start from a similar device's code or use the "_Stub" code as a starting point. However, this automatic code generation is a quick, thorough way to convert an existing register map online into a functional code base. (NOTE: this feature is only partially implemented and not available yet)

Doxygen-Based Documentation

Detailed documentation for all code is created using Doxygen-style comments placed in each class definition file, based on the information available in each device's register map. Since most of the codethe tedious part, anywayis generated automatically based on register map data, This means there is a huge quantity of relevant documentation available to you right in the code itself, which saves a lot of time if you have an IDE with code completion.

Centralized Device Resource List

Each I2Cdevlib page provides a place to collect and display all links that are relevant to any specific device, including manufacturer datasheets, purchase options, breakout boards, PCB/schematic part libraries, example applications, source code, and anything else that might be useful to know. If you think anything is missing for any of the devices here, be sure to suggest it!

Adding More Devices

Want support for a device that isn't currently in the library? Request it, or fork the code and contribute! Better yet, send me a device on a breakout board to test the code during development. No guarantees on how fast I can get it done, but I'd love to make this the biggest consistent and well-documented I2C device library around.

Jeff Rowberg | Contact

TAGS:I2C Device Library 

<<< Thank you for your visit >>>

Websites to related :
VR News, Games, And Reviews - VR

  keywords:
description:VR & FUN
Headline

My Blog Site

  keywords:
description:
My Blog Site Wednesday, August 19, 2020 Glasses with yellow lenses can help to drive at night

Legacy Jewelry Legacy Loans

  keywords:
description:Antique Jewelry, Vintage Jewelry and Estate Jewelry- Antique Diamond Engagement Rings - Jewelry Buyers Estate Buyers. Jewelry Lo

Every Brides Wedding Magazine Fo

  keywords:celebrity weddings,wedding magazine,wedding magazines,southern wedding magazine 2021,wedding magazine 2021,wedding newsletter,real southern w

Sports Info Solutions

  keywords:
description:
Skip to content

Fourniture de matériels medias

  keywords:Primera,Cellophaneuse,Ess,Megabeat Touch Plus,Matrix Evo,Midjay,Midjpro,Tours,Robots duplication,Duplicateur clés,Imprimantes disques,Camér

Sweetaholic Beauty

  keywords:
description:
HomeAboutContact MeDisclosure PolicyCategoriesCosmeticsSkincareLushMakeupRimmel LondonSkin careEmptiesMaybellineAustralisHair c

Channel Islands, Oxnard, Ventura

  keywords:Channel Islands, Channel Islands Beach, Oxnard beach homes for sale, Oxnard, CA,boat dock homes, California Beach, homes, view, condos, beach

Dongguan City Best Craftwork Pro

  keywords:
description:
Join Free|Sign In Dongguan City Best Craftwork Products Co., Ltd.Main products:Sequin,Glitter,Shreds,Glitter Paper,GarlandC

Police AR15 trunk gun lock, Harl

  keywords:police AR15 trunk gun lock, harley davidson saddlebag colt M4 mount, progard gun lock, santa cruz gun lock, rifle lock, hardtops, t top, t-to

ads

Hot Websites