10#if defined(ARDUINO_ARCH_AVR) || defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32) || \
11 defined(ARDUINO_ARCH_MEGAAVR) || defined(ARDUINO_ARCH_STM32) || defined(ARDUINO_ARCH_RENESAS)
16#ifndef _LIN_MASTER_SW_SERIAL_H_
17#define _LIN_MASTER_SW_SERIAL_H_
26#include <SoftwareSerial.h>
42 SoftwareSerial SWSerial;
47 uint32_t durationBreak;
67 LIN_master_SoftwareSerial(uint8_t PinRx, uint8_t PinTx,
bool InverseLogic =
false,
const char NameLIN[] =
"Master",
const int8_t PinTxEN = INT8_MIN);
71 void begin(uint16_t Baudrate = 19200);
86 #error architecture not yet supported
Base class for LIN master emulation (non-functional)
LIN master node base class.
state_t
state of LIN master state machine. Use bitmasks for fast checking multiple states
LIN master node class via SoftwareSerial.
LIN_master_SoftwareSerial(uint8_t PinRx, uint8_t PinTx, bool InverseLogic=false, const char NameLIN[]="Master", const int8_t PinTxEN=INT8_MIN)
Class constructor.
LIN_Master_Base::state_t _sendBreak(void)
Send LIN break.
LIN_Master_Base::state_t _sendFrame(void)
Send LIN bytes (request frame: SYNC+ID+DATA[]+CHK; response frame: SYNC+ID)
void end(void)
Close serial interface.
LIN_Master_Base::state_t _receiveFrame(void)
Read and check LIN frame.
void begin(uint16_t Baudrate=19200)
Open serial interface.