diff options
author | HampusM <hampus@hampusmat.com> | 2022-03-14 14:14:47 +0100 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2022-03-14 14:14:47 +0100 |
commit | d5b6bc7bb8250dd252b8569e0896febf94c60b12 (patch) | |
tree | 62f595979e0e46eeede04b48abfa199eaba886c6 /src/serial.hpp | |
parent | 5b6427dde0bb8e3b466793243bbfc185f4739ac6 (diff) |
refactor: add serial stream enabled check
Diffstat (limited to 'src/serial.hpp')
-rw-r--r-- | src/serial.hpp | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/src/serial.hpp b/src/serial.hpp index 36aa6ed..ae51c3f 100644 --- a/src/serial.hpp +++ b/src/serial.hpp @@ -4,10 +4,28 @@ #include <USBAPI.h> +#define LEONARDO_XINPUT_VID 0x045E // NOLINT(cppcoreguidelines-macro-usage) +#define LEONARDO_XINPUT_PID 0x028E // NOLINT(cppcoreguidelines-macro-usage) + class SerialStream { public: - SerialStream(Serial_ serial, const unsigned long &baud_rate); + SerialStream(Serial_ serial, const unsigned long &baud_rate) noexcept; + + void waitReady(); + + void write(const char *str); + + void flush(); + + constexpr static bool is_enabled() noexcept + { +#if USB_VID != LEONARDO_XINPUT_VID && USB_PID != LEONARDO_XINPUT_PID + return true; +#else + return false; +#endif + } SerialStream &operator<<(const char *str); SerialStream &operator<<(const common::String &str); @@ -18,12 +36,6 @@ public: SerialStream &operator<<(void (*manipulator)(SerialStream *)); - void waitReady(); - - void write(const char *str); - - void flush(); - private: Serial_ _serial; }; |