Skip to content
forked from rambo/TinyWire

My modifications to TinyWire Arduino libs

Notifications You must be signed in to change notification settings

prazsmarid/TinyWire

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 

Repository files navigation

Arduino TinyWire Slave Library

Originals from http://www.arduino.cc/playground/Code/USIi2c

Modified to support ATtiny44/84

NOTE about reliable communication

Since (most of) the ATTinys lack TWI module for implementing all the nitty-gritty of I2C in hardware they will have to do some clock-stretching (at least if run at 8MHz, you may get away with more on higher clock speeds) as specified in the I2C protocol. However some (especially "bit-banged") master implementations do not support clock-streching (looking at you Bus pirate 3.x and RPI), you will not get reliable communication unless your master supports the full I2C protocol spec. There is a library which can bit-bang I2C correctly on RPI, use that instead of the buggy hardware (thanks to @brendanarnold for that tip).

You can use my Arduino based I2C master to test your TinyWire code, this uses Bus Pirate semantics with Arduinos TWI hardware that is known to implement I2C properly.

delayMicroseconds

See this issue: rambo#8 (remember to declare the function void if you copy-paste it verbatim)

About

My modifications to TinyWire Arduino libs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 45.1%
  • Other 43.6%
  • C++ 11.3%