Skip to content

Commit 53a477e

Browse files
committed
Add RS485.sendBreak(duration) API
1 parent e205e1f commit 53a477e

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

keywords.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ beginTransmission KEYWORD2
2323
endTransmission KEYWORD2
2424
receive KEYWORD2
2525
noReceive KEYWORD2
26+
sendBreak KEYWORD2
2627
setPins KEYWORD2
2728

2829
#######################################

src/RS485.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ void RS485Class::begin(unsigned long baudrate)
3434

3535
void RS485Class::begin(unsigned long baudrate, uint16_t config)
3636
{
37+
_baudrate = baudrate;
38+
_config = config;
39+
3740
pinMode(_rePin, OUTPUT);
3841
pinMode(_dePin, OUTPUT);
3942

@@ -120,6 +123,13 @@ void RS485Class::noReceive()
120123
digitalWrite(_rePin, HIGH);
121124
}
122125

126+
void RS485Class::sendBreak(unsigned int duration)
127+
{
128+
_serial->end();
129+
delay(duration);
130+
_serial->begin(_baudrate, _config);
131+
}
132+
123133
void RS485Class::setPins(int rePin, int dePin)
124134
{
125135
_rePin = rePin;

src/RS485.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ class RS485Class : public HardwareSerial {
4545
void receive();
4646
void noReceive();
4747

48+
void sendBreak(unsigned int duration);
49+
4850
void setPins(int rePin, int dePin);
4951

5052
private:
@@ -53,6 +55,8 @@ class RS485Class : public HardwareSerial {
5355
int _dePin;
5456

5557
bool _transmisionBegun;
58+
unsigned long _baudrate;
59+
uint16_t _config;
5660
};
5761

5862
extern RS485Class RS485;

0 commit comments

Comments
 (0)