mirror of
https://github.com/KevinMidboe/Arduino.git
synced 2025-10-29 17:40:11 +00:00
Init commit with many years of arduino sketches and projects. I dont know if the esp8266 includes much, but there are also libraries. I hope they dont have crazy automatic versioning through the Arduino IDE.
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
/*
|
||||
* SoftI2CMaster.h -- Multi-instance software I2C Master library
|
||||
*
|
||||
* 2010-2012 Tod E. Kurt, http://todbot.com/blog/
|
||||
* 2014, by Testato: update library and examples for follow Wire’s API of Arduino IDE 1.x
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef SoftI2CMaster_h
|
||||
#define SoftI2CMaster_h
|
||||
|
||||
#include <inttypes.h>
|
||||
|
||||
#define _SOFTI2CMASTER_VERSION 13 // software version of this library
|
||||
|
||||
|
||||
class SoftI2CMaster
|
||||
{
|
||||
|
||||
private:
|
||||
// per object data
|
||||
uint8_t _sclPin;
|
||||
uint8_t _sdaPin;
|
||||
uint8_t _sclBitMask;
|
||||
uint8_t _sdaBitMask;
|
||||
volatile uint8_t *_sclPortReg;
|
||||
volatile uint8_t *_sdaPortReg;
|
||||
volatile uint8_t *_sclDirReg;
|
||||
volatile uint8_t *_sdaDirReg;
|
||||
|
||||
uint8_t usePullups;
|
||||
|
||||
// private methods
|
||||
|
||||
void i2c_writebit( uint8_t c );
|
||||
uint8_t i2c_readbit(void);
|
||||
void i2c_init(void);
|
||||
void i2c_start(void);
|
||||
void i2c_repstart(void);
|
||||
void i2c_stop(void);
|
||||
uint8_t i2c_write( uint8_t c );
|
||||
uint8_t i2c_read( uint8_t ack );
|
||||
|
||||
public:
|
||||
// public methods
|
||||
SoftI2CMaster();
|
||||
SoftI2CMaster(uint8_t sclPin, uint8_t sdaPin);
|
||||
SoftI2CMaster(uint8_t sclPin, uint8_t sdaPin, uint8_t usePullups);
|
||||
|
||||
void setPins(uint8_t sclPin, uint8_t sdaPin, uint8_t usePullups);
|
||||
|
||||
uint8_t beginTransmission(uint8_t address);
|
||||
uint8_t beginTransmission(int address);
|
||||
uint8_t endTransmission(void);
|
||||
uint8_t write(uint8_t);
|
||||
void write(uint8_t*, uint8_t);
|
||||
void write(int);
|
||||
void write(char*);
|
||||
|
||||
uint8_t requestFrom(int address);
|
||||
uint8_t requestFrom(uint8_t address);
|
||||
uint8_t read( uint8_t ack );
|
||||
uint8_t read();
|
||||
uint8_t readLast();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user