Files
ESPEasy/lib/SerialDevices/SensorSerial.cpp
T
Jochen Krapf e09f5ca0a1 Rework of Plugin _P056_SDS011-Dust (#451)
* First rework

* Moved classes to library

* Finished rework
2017-07-30 00:49:10 +02:00

82 lines
2.1 KiB
C++

/*-------------------------------------------------------------------------
Arduino library to ...
Written by Jochen Krapf,
contributions by ... and other members of the open
source community.
-------------------------------------------------------------------------
This file is part of the MechInputs library.
MechInputs is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.
MechInputs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with MechInputs. If not, see
<http://www.gnu.org/licenses/>.
-------------------------------------------------------------------------*/
#include <SensorSerial.h>
SensorSerial::SensorSerial(int receivePin, int transmitPin, bool inverse_logic, unsigned int buffSize) : SoftwareSerial(receivePin, transmitPin, inverse_logic, buffSize)
{
//boolean sws = isValidGPIOpin(receivePin);
_hw = receivePin < 0;
}
void SensorSerial::begin(long speed)
{
if (_hw)
Serial.begin(speed);
else
SoftwareSerial::begin(speed);
}
int SensorSerial::peek()
{
if (_hw)
return Serial.peek();
else
return SoftwareSerial::peek();
}
size_t SensorSerial::write(uint8_t byte)
{
if (_hw)
return Serial.write(byte);
else
return SoftwareSerial::write(byte);
}
int SensorSerial::read()
{
if (_hw)
return Serial.read();
else
return SoftwareSerial::read();
}
int SensorSerial::available()
{
if (_hw)
return Serial.available();
else
return SoftwareSerial::available();
}
void SensorSerial::flush()
{
if (_hw)
Serial.flush();
else
SoftwareSerial::flush();
}