You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.9 KiB
67 lines
1.9 KiB
/* |
|
TwoWire.h - TWI/I2C library for Arduino & Wiring |
|
Copyright (c) 2006 Nicholas Zambetti. All right reserved. |
|
|
|
This library is free software; you can redistribute it and/or |
|
modify it under the terms of the GNU Lesser General Public |
|
License as published by the Free Software Foundation; either |
|
version 2.1 of the License, or (at your option) any later version. |
|
|
|
This library is distributed in the hope that it will be useful, |
|
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
Lesser General Public License for more details. |
|
|
|
You should have received a copy of the GNU Lesser General Public |
|
License along with this library; if not, write to the Free Software |
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
|
*/ |
|
|
|
#ifndef TwoWire_h |
|
#define TwoWire_h |
|
|
|
#include <inttypes.h> |
|
|
|
#define BUFFER_LENGTH 32 |
|
|
|
class TwoWire |
|
{ |
|
private: |
|
static uint8_t rxBuffer[]; |
|
static uint8_t rxBufferIndex; |
|
static uint8_t rxBufferLength; |
|
|
|
static uint8_t txAddress; |
|
static uint8_t txBuffer[]; |
|
static uint8_t txBufferIndex; |
|
static uint8_t txBufferLength; |
|
|
|
static uint8_t transmitting; |
|
static void (*user_onRequest)(void); |
|
static void (*user_onReceive)(int); |
|
static void onRequestService(void); |
|
static void onReceiveService(uint8_t*, int); |
|
public: |
|
TwoWire(); |
|
void begin(); |
|
void begin(uint8_t); |
|
void begin(int); |
|
void beginTransmission(uint8_t); |
|
void beginTransmission(int); |
|
uint8_t endTransmission(void); |
|
uint8_t requestFrom(uint8_t, uint8_t); |
|
uint8_t requestFrom(int, int); |
|
void send(uint8_t); |
|
void send(uint8_t*, uint8_t); |
|
void send(int); |
|
void send(char*); |
|
uint8_t available(void); |
|
uint8_t receive(void); |
|
void onReceive( void (*)(int) ); |
|
void onRequest( void (*)(void) ); |
|
}; |
|
|
|
extern TwoWire Wire; |
|
|
|
#endif |
|
|
|
|