/i2cdriver

I2CDriver open source tools

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

logo

Build Status Documentation Status

I2CDriver is a tool for controlling any I2C device from your PC's USB port, and can also monitor and capture I2C traffic. It connects as a standard USB serial device, so there are no drivers to install. On the main site i2cdriver.com, there are drivers for

  • Windows/Mac/Linux GUI
  • Windows/Mac/Linux command-line
  • Python 2 and 3
  • Windows/Mac/Linux C/C++

front

Full documentation is at i2cdriver.com.

For developers: How to make a release

To release Python:

rm -rf dist/*
python setup.py sdist
twine upload dist/*

To build the Windows installer, you first need to build the two executables i2ccl.exe and i2cgui.exe then use an NSIS script to create the installer.

On Linux cross-compile i2ccl:

cd c
make -f win32/Makefile

On Windows first make sure that you can run the GUI on the command-line, e.g.

python python\samples\i2cgui.py

(You may need to install i2cdriver, wxPython and pySerial).

Then build the GUI executable using pyinstaller:

cd python\samples
pyinstaller --onefile --windowed --icon=../../images/i2cdriver.ico i2cgui.py

This builds the executable in python\samples\dist\i2cgui.exe.

The Windows installer is built with NSIS (Nullsoft Scriptable Install System). Download and install it.

Copy the two executables i2ccl.exe and i2cgui.exe into nsis/.

Then build the installer with NSIS:

cd nsis
"C:\Program Files\NSIS\makensis.exe" i2cdriver.nsi

The script go.bat in nsis has an example complete flow.