/*------------------------------------------------------------------------- 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 . -------------------------------------------------------------------------*/ #include 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(); }