RUI3 (RAK Unified Interface 3) - RAK4631
RAKOneWireSerial.h
Go to the documentation of this file.
1 #ifndef __RAK_ONEWIRESERIAL_H__
2 #define __RAK_ONEWIRESERIAL_H__
3 
4 #include <cstdint>
5 #include "WString.h"
6 #include <cstring>
7 
8 #include "udrv_errno.h"
9 #include "udrv_serial.h"
10 #include "HardwareSerial.h"
11 
12 using namespace std;
13 
15 {
19  uint8_t *Buffer;
23  uint8_t BufferSize;
25 
27 
29 {
30  protected:
31  private:
32  uint32_t pin;
33  SERIAL_PORT serialPort;
34  public:
45  RAKOneWireSerial(uint32_t pin, rak_onewire_serial_recv_cb callback);
46 
47  void begin(uint32_t baud, uint8_t config, RAK_SERIAL_MODE mode = RAK_DEFAULT_MODE);
48 #if defined(SUPPORT_LORA) && defined(SUPPORT_PASSTHRU)
49 
66 #else
67 
83 #endif
84  void begin(uint32_t baud, RAK_SERIAL_MODE mode = RAK_DEFAULT_MODE) { begin(baud, SERIAL_8N1, mode);}
85 
98  size_t write(const uint8_t *buf, size_t size);
99 
110  int available(void);
111 
122  int read(void);
123 
131  void end(void);
132 };
133 
134 #endif //end RAKOneWireSerial.h
This file contains all error code for the hardware independent driver layer.
#define SERIAL_8N1
Definition: HardwareSerial.h:24
Definition: RAKOneWireSerial.h:14
uint8_t BufferSize
Definition: RAKOneWireSerial.h:23
Default mode which depends on platform.
Definition: HardwareSerial.h:62
uint8_t * Buffer
Definition: RAKOneWireSerial.h:19
RAK_SERIAL_MODE
Definition: HardwareSerial.h:50
struct RAK_ONEWIRE_SERIAL_RECEIVE RAK_ONEWIRE_SERIAL_RECEIVE_T
Provide a hardware independent serial driver layer for API layer to use.
Definition: RAKOneWireSerial.h:28
enum _SERIAL_PORT SERIAL_PORT
void begin(uint32_t baud, RAK_SERIAL_MODE mode=RAK_DEFAULT_MODE)
Definition: RAKOneWireSerial.h:84
void(* rak_onewire_serial_recv_cb)(SERIAL_PORT port, RAK_ONEWIRE_SERIAL_RECEIVE_T *data)
Definition: RAKOneWireSerial.h:26
The c++ wrapper for Serial functions.