| LIN_master_portable_Arduino 1.9 Arduino library for Local Interconnect Network master node emulation

Loading...
Searching...
No Matches
LIN_master_HardwareSerial_ESP32.h
Go to the documentation of this file.
1
9// assert ESP32 platform
10#if defined(ARDUINO_ARCH_ESP32)
11
12/*-----------------------------------------------------------------------------
13 MODULE DEFINITION FOR MULTIPLE INCLUSION
14-----------------------------------------------------------------------------*/
15#ifndef _LIN_MASTER_HW_SERIAL_ESP32_H_
16#define _LIN_MASTER_HW_SERIAL_ESP32_H_
17
18
19/*-----------------------------------------------------------------------------
20 INCLUDE FILES
21-----------------------------------------------------------------------------*/
22
23// include required libraries
24#include <LIN_master_Base.h>
25
26
27/*-----------------------------------------------------------------------------
28 GLOBAL CLASS
29-----------------------------------------------------------------------------*/
35 class LIN_Master_HardwareSerial_ESP32 : public LIN_Master_Base
36{
37 // PROTECTED VARIABLES
38 protected:
39
40 HardwareSerial *pSerial;
41 uint8_t pinRx;
42 uint8_t pinTx;
43 uint32_t timeStartBreak;
44
45
46 // PROTECTED METHODS
47 protected:
48
50 LIN_Master_Base::state_t _sendBreak(void);
51
53 LIN_Master_Base::state_t _sendFrame(void);
54
56 LIN_Master_Base::state_t _receiveFrame(void);
57
58
59 // PUBLIC METHODS
60 public:
61
63 LIN_Master_HardwareSerial_ESP32(HardwareSerial &Interface, uint8_t PinRx, uint8_t PinTx,
64 const char NameLIN[] = "Master", const int8_t PinTxEN = INT8_MIN);
65
67 void begin(uint16_t Baudrate = 19200);
68
70 void end(void);
71
72}; // class LIN_master_HardwareSerial_ESP32
73
74
75/*-----------------------------------------------------------------------------
76 END OF MODULE DEFINITION FOR MULTIPLE INLUSION
77-----------------------------------------------------------------------------*/
78#endif // _LIN_MASTER_HW_SERIAL_ESP32_H_
79
80#endif // ARDUINO_ARCH_ESP32
81
82/*-----------------------------------------------------------------------------
83 END OF FILE
84-----------------------------------------------------------------------------*/
LIN_master_Base.h
Base class for LIN master emulation (non-functional)
LIN_Master_Base
LIN master node base class.
Definition LIN_master_Base.h:106
LIN_Master_Base::state_t
state_t
state of LIN master state machine. Use bitmasks for fast checking multiple states
Definition LIN_master_Base.h:128
LIN_Master_HardwareSerial_ESP32
LIN master node class via ESP32 HardwareSerial.
Definition LIN_master_HardwareSerial_ESP32.h:36
LIN_Master_HardwareSerial_ESP32::_sendFrame
LIN_Master_Base::state_t _sendFrame(void)
Send LIN bytes (request frame: SYNC+ID+DATA[]+CHK; response frame: SYNC+ID)
Definition LIN_master_HardwareSerial_ESP32.cpp:72
LIN_Master_HardwareSerial_ESP32::timeStartBreak
uint32_t timeStartBreak
micros() when BREAK was sent
Definition LIN_master_HardwareSerial_ESP32.h:43
LIN_Master_HardwareSerial_ESP32::begin
void begin(uint16_t Baudrate=19200)
Open serial interface.
Definition LIN_master_HardwareSerial_ESP32.cpp:212
LIN_Master_HardwareSerial_ESP32::pinTx
uint8_t pinTx
pin used for transmit
Definition LIN_master_HardwareSerial_ESP32.h:42
LIN_Master_HardwareSerial_ESP32::end
void end(void)
Close serial interface.
Definition LIN_master_HardwareSerial_ESP32.cpp:238
LIN_Master_HardwareSerial_ESP32::pSerial
HardwareSerial * pSerial
serial interface used for LIN
Definition LIN_master_HardwareSerial_ESP32.h:40
LIN_Master_HardwareSerial_ESP32::_receiveFrame
LIN_Master_Base::state_t _receiveFrame(void)
Read and check LIN frame.
Definition LIN_master_HardwareSerial_ESP32.cpp:118
LIN_Master_HardwareSerial_ESP32::_sendBreak
LIN_Master_Base::state_t _sendBreak(void)
Send LIN break.
Definition LIN_master_HardwareSerial_ESP32.cpp:22
LIN_Master_HardwareSerial_ESP32::pinRx
uint8_t pinRx
pin used for receive
Definition LIN_master_HardwareSerial_ESP32.h:41