diff --git a/src/SerialFake.cpp b/src/SerialFake.cpp index 8e27a3d..e4032c4 100644 --- a/src/SerialFake.cpp +++ b/src/SerialFake.cpp @@ -83,6 +83,10 @@ bool Serial_::rts() return ArduinoFakeInstance(Serial, this)->rts(); } +void Serial_::setDebugOutput(bool _value){ + return ArduinoFakeInstance(Serial, this) -> setDebugOutput(_value); +} + int32_t Serial_::readBreak() { return ArduinoFakeInstance(Serial, this)->readBreak(); diff --git a/src/SerialFake.h b/src/SerialFake.h index 962148a..ee25ba0 100644 --- a/src/SerialFake.h +++ b/src/SerialFake.h @@ -28,6 +28,8 @@ struct SerialFake : public StreamFake virtual uint8_t numbits() = 0; virtual bool dtr() = 0; virtual bool rts() = 0; + + virtual void setDebugOutput(bool); }; class SerialFakeProxy : public StreamFakeProxy, public Serial_ diff --git a/src/arduino/IPAddress.cpp b/src/arduino/IPAddress.cpp index f95e524..aaca797 100644 --- a/src/arduino/IPAddress.cpp +++ b/src/arduino/IPAddress.cpp @@ -112,3 +112,10 @@ size_t IPAddress::printTo(Print& p) const return n; } +String IPAddress::toString() const +{ + char szRet[16]; + sprintf(szRet,"%u.%u.%u.%u", _address.bytes[0], _address.bytes[1], _address.bytes[2], _address.bytes[3]); + return String(szRet); +} + diff --git a/src/arduino/IPAddress.h b/src/arduino/IPAddress.h index d762f2c..036100f 100644 --- a/src/arduino/IPAddress.h +++ b/src/arduino/IPAddress.h @@ -64,6 +64,7 @@ class IPAddress : public Printable { IPAddress& operator=(uint32_t address); virtual size_t printTo(Print& p) const; + String toString() const; friend class EthernetClass; friend class UDP; diff --git a/src/arduino/USBAPI.h b/src/arduino/USBAPI.h index 89fc4c8..5a544b4 100644 --- a/src/arduino/USBAPI.h +++ b/src/arduino/USBAPI.h @@ -105,6 +105,8 @@ class Serial_ : public Stream volatile uint8_t _rx_buffer_tail; unsigned char _rx_buffer[SERIAL_BUFFER_SIZE]; + virtual void setDebugOutput(bool); + // This method allows processing "SEND_BREAK" requests sent by // the USB host. Those requests indicate that the host wants to // send a BREAK signal and are accompanied by a single uint16_t diff --git a/test/test_serial.h b/test/test_serial.h index cc820b4..e3f03d0 100644 --- a/test/test_serial.h +++ b/test/test_serial.h @@ -65,6 +65,7 @@ namespace SerialTest Serial.flush(); Serial.end(); + Serial.setDebugOutput(true); Verify(OverloadedMethod(ArduinoFake(Serial), begin, void(unsigned long)).Using(9600)).Once(); Verify(Method(ArduinoFake(Serial), available)).Exactly(2_Times); @@ -73,6 +74,8 @@ namespace SerialTest Verify(Method(ArduinoFake(Serial), flush)).Once(); Verify(Method(ArduinoFake(Serial), end)).Once(); + + Verify(Method(ArduinoFake(Serial), setDebugOutput)).Once(); } void run_tests()