RUI3 (RAK Unified Interface 3) - RAK4631
Wire.h
Go to the documentation of this file.
1 #ifndef __WIRE_NEW_H__
2 #define __WIRE_NEW_H__
3 
4 #include "Stream.h"
5 #include "udrv_twimst.h"
6 
7 #define TWI_BUFFER_MAX 32
8 
9 class TwoWire : public Stream
10 {
11  private:
12  udrv_twimst_port port;
13  uint8_t slaveAddress;
14 
15  static uint8_t rxBuffer[];
16  static uint8_t rxBufferIndex;
17  static uint8_t rxBufferLength;
18 
19  static uint8_t txBuffer[];
20  static uint8_t txBufferIndex;
21  static uint8_t txBufferLength;
22 
23  public:
25 
26  uint8_t requestFrom(uint8_t, uint8_t);
27  uint8_t requestFrom(uint8_t, uint8_t, uint32_t, uint8_t, uint8_t);
28  uint8_t requestFrom(int, int);
29  uint8_t requestFrom(int, int, int );
30  virtual size_t write(uint8_t value);
31 
50  void begin(void);
51 
68  void end(void);
69 
89  void setClock(uint32_t freq);
90 
111  void beginTransmission(uint8_t address);
112 
137  uint32_t endTransmission(uint8_t sendStop = true);
138 
173  uint8_t requestFrom(uint8_t address, uint8_t quantity, uint8_t sendStop);
174 
208  virtual size_t write(const uint8_t *data, size_t size);
209 
237  virtual int available(void);
238 
267  virtual int read(void);
268 
271  virtual int peek(void);
272  virtual void flush(void);
273  void beginTransmission(int);
274 
275 
276  inline size_t write(unsigned long n) { return write((uint8_t)n); }
277  inline size_t write(long n) { return write((uint8_t)n); }
278  inline size_t write(unsigned int n) { return write((uint8_t)n); }
279  inline size_t write(int n) { return write((uint8_t)n); }
280  using Print::write;
281 
282 
283 };
284 
285 extern TwoWire Wire;
286 extern TwoWire Wire1;
287 
288 #endif
289 
Stream is the base class for character and binary based streams. It is not called directly...
void end(void)
virtual int peek(void)
uint32_t endTransmission(uint8_t sendStop=true)
Provide a hardware independent TWI master driver layer for API layer to use.
size_t write(unsigned long n)
Definition: Wire.h:276
virtual int available(void)
virtual int read(void)
void setClock(uint32_t freq)
TwoWire Wire
Definition: Wire.h:9
size_t write(long n)
Definition: Wire.h:277
virtual void flush(void)
udrv_twimst_port
Definition: udrv_twimst.h:20
void beginTransmission(uint8_t address)
virtual size_t write(uint8_t value)
size_t write(unsigned int n)
Definition: Wire.h:278
TwoWire Wire1
uint8_t requestFrom(uint8_t, uint8_t)
size_t write(int n)
Definition: Wire.h:279
TwoWire(udrv_twimst_port)
virtual size_t write(uint8_t)=0
void begin(void)
Definition: Stream.h:19