• Natalia's avatar
    I2C sw driver with support of multiple buses, Slow, Fast, FastPlus, and... · ab61e9c0
    Natalia authored
    I2C sw driver with support of multiple buses, Slow, Fast, FastPlus, and user-defined speed selection (#2465)
    
    * I2C driver speed-up, i2c.SLOW, i2c.FAST and user-defined speed selection
    
    * - Multiple buses (up to 10) with different speeds on each bus
    - Standard(Slow, 100kHz), Fast(400kHz) and FastPlus(1MHz) modes or an 
    arbitrary clock speed
    - Sharing SDA line over multiple I²C buses to save available pins
    - GPIO16 pin can be used as SCL pin, but it does not support clock 
    stretching and selected bus will be limited to FAST speed.
    
    * Dynamic memory allocation, error checks, simplification, timing tweaks.
    
    * Separated the code of old driver for better compatibility and simplicity
    
    * Change of driver interface
    
    * Add bus status check in setup(); simplify getDC(); remove unnesessary lines in ACK read/write
    
    * Fix for moved doc file and trailing whitespaces
    ab61e9c0
i2c.md 6.99 KB