Skip to content

nekokomaru/mcp2221_i2ceeprom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

I2C EEPROM Writer/Reader for MCP2221A

概要

Hid デバイスである MCP2221A の I2C 通信機能を使い、I2C EEPROM にデータを書き込む、及びデータを読み出す python スクリプト

動作環境

作者が動作確認をしたソフトウェア環境は以下の通り

  • windows 10
  • python 3.11.1
  • hidapi 0.12.0.post2

ハードウェア環境は以下の通り

使用前の準備

  • python 3.10 以上をインストールし、合わせて hidapi ライブラリもインストールしておく
pip install hidapi
  • MCP2221A の I2C バスに eeprom を接続し、MCP2221A を USB 接続する

使用方法

  • 引数なしで実行すると、接続されている MCP2221A の一覧を表示する
python mcp2221_i2ceeprom.py  # MCP2221A の一覧が表示される
  • -h, --help オプションを指定して実行すると使い方が表示される
python mcp2221_i2ceeprom.py -h   # ヘルプが表示される
  • --write--filename オプションを使って、eeprom にバイナリファイルの内容を書き込むことができる
python mcp2221_i2ceeprom.py --write --filename input.bin  # input.bin の内容を eeprom に書き込む
  • --read--filename オプションを使って、eeprom の内容をバイナリファイルに書き出すことができる
python mcp2221_i2ceeprom.py --read --filename output.bin  # eeprom の内容を読み出して output.bin に書き込む
  • --romsize オプションを使うと、ターゲットとなる eeprom のサイズ(bit)を指定できる。デフォルト値('2k')以外の時は指定すること
python mcp2221_i2ceeprom.py --write --romsize '64k' --filename input.bin  # 64kビットサイズの eeprom に input.bin の内容を書き込む
  • --slave オプションを使うと、ターゲットとなる eeprom のスレーブアドレス(7bit)を指定できる
python mcp2221_i2ceeprom.py --write --romsize '64k' --slave 0x52 --filename input.bin  # スレーブアドレス 0x52、64kビットサイズの eeprom に input.bin の内容を書き込む
  • --no--name オプションを使うと、使用する MCP2221A を指定できる
python mcp2221_i2ceeprom.py --write --romsize '64k' --slave 0x52 --no 1 --filename input.bin   # 一覧表示される MCP2221A のうち No.1 のデバイスにつながっている スレーブアドレス 0x52、64kビットサイズの eeprom に input.bin の内容を書き込む

ヘルプを参考にその他のオプションを使用すると、細かい動作を指定できる

免責事項

本ソフトウェアの動作は保証しない。著作者は一切の責任を追わない

ライセンス

MIT ライセンスである。詳しくは LICENSE を参照のこと

著作者

Yachiyo https://nekokohouse.sakura.ne.jp/