Atlas-Scientific / Ezo_I2c_lib

Library for using Atlas Scientific EZO devices in I2C mode
MIT License
71 stars 39 forks source link

Address offset from I2C scanner #18

Open nbourre opened 2 years ago

nbourre commented 2 years ago

Using an Arduino Mega and the I2C scanner sketch from Arduino IDE, I get addresses that are minus 1 the addresses that I use with EZO i2c lib.

Eg : The i2c scanner returns the value 0x63 for my peristaltic pump which is 99 in decimal, But using the EZO, I must use the address 100. This is true for all my Atlas Scientific devices.

Is it because EZO addresses are index based 1 instead of 0?

Atlas-Scientific commented 2 years ago

The default I2C address index is not one based and neither is any sample code. This I2C library passes the address directly into arduino's Wiring.h library (their term for I2C). If you switched the device into I2C mode using the device's I2C,[address] command (page 42 of the EZO_PMP datasheet), it will respond to the address you gave it in that command.