Skip to content

Commit 26e270f

Browse files
authored
Merge pull request #89 from arduino-libraries/simplify-rs485
Fix: Since we use all available pins for RS485 communication there is no reason to check if all pins have been correctly configured.
2 parents 24c10bf + 8159bce commit 26e270f

File tree

2 files changed

+14
-39
lines changed

2 files changed

+14
-39
lines changed

src/lib/motors/RS485.cpp

+14-37
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,11 @@ void RS485Class::begin(unsigned long baudrate, uint16_t config, int predelay, in
5151
_predelay = predelay;
5252
_postdelay = postdelay;
5353

54-
if (_dePin > -1) {
55-
pinMode(_dePin, OUTPUT);
56-
digitalWrite(_dePin, LOW);
57-
}
54+
pinMode(_dePin, OUTPUT);
55+
digitalWrite(_dePin, LOW);
5856

59-
if (_rePin > -1) {
60-
pinMode(_rePin, OUTPUT);
61-
digitalWrite(_rePin, HIGH);
62-
}
57+
pinMode(_rePin, OUTPUT);
58+
digitalWrite(_rePin, HIGH);
6359

6460
_transmisionBegun = false;
6561

@@ -70,15 +66,11 @@ void RS485Class::end()
7066
{
7167
_serial->end();
7268

73-
if (_rePin > -1) {
74-
digitalWrite(_rePin, LOW);
75-
pinMode(_dePin, INPUT);
76-
}
69+
digitalWrite(_rePin, LOW);
70+
pinMode(_dePin, INPUT);
7771

78-
if (_dePin > -1) {
79-
digitalWrite(_dePin, LOW);
80-
pinMode(_rePin, INPUT);
81-
}
72+
digitalWrite(_dePin, LOW);
73+
pinMode(_rePin, INPUT);
8274
}
8375

8476
int RS485Class::available()
@@ -118,10 +110,8 @@ RS485Class::operator bool()
118110

119111
void RS485Class::beginTransmission()
120112
{
121-
if (_dePin > -1) {
122-
digitalWrite(_dePin, HIGH);
123-
if (_predelay) delayMicroseconds(_predelay);
124-
}
113+
digitalWrite(_dePin, HIGH);
114+
if (_predelay) delayMicroseconds(_predelay);
125115

126116
_transmisionBegun = true;
127117
}
@@ -130,26 +120,20 @@ void RS485Class::endTransmission()
130120
{
131121
_serial->flush();
132122

133-
if (_dePin > -1) {
134-
if (_postdelay) delayMicroseconds(_postdelay);
135-
digitalWrite(_dePin, LOW);
136-
}
123+
if (_postdelay) delayMicroseconds(_postdelay);
124+
digitalWrite(_dePin, LOW);
137125

138126
_transmisionBegun = false;
139127
}
140128

141129
void RS485Class::receive()
142130
{
143-
if (_rePin > -1) {
144-
digitalWrite(_rePin, LOW);
145-
}
131+
digitalWrite(_rePin, LOW);
146132
}
147133

148134
void RS485Class::noReceive()
149135
{
150-
if (_rePin > -1) {
151-
digitalWrite(_rePin, HIGH);
152-
}
136+
digitalWrite(_rePin, HIGH);
153137
}
154138

155139
void RS485Class::sendBreak(unsigned int duration)
@@ -171,10 +155,3 @@ void RS485Class::sendBreakMicroseconds(unsigned int duration)
171155
delayMicroseconds(duration);
172156
_serial->begin(_baudrate, _config);
173157
}
174-
175-
void RS485Class::setPins(int txPin, int dePin, int rePin)
176-
{
177-
_txPin = txPin;
178-
_dePin = dePin;
179-
_rePin = rePin;
180-
}

src/lib/motors/RS485.h

-2
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,6 @@ class RS485Class : public Stream {
6666
void sendBreak(unsigned int duration);
6767
void sendBreakMicroseconds(unsigned int duration);
6868

69-
void setPins(int txPin, int dePin, int rePin);
70-
7169
private:
7270
HardwareSerial* _serial;
7371
int _txPin;

0 commit comments

Comments
 (0)