diff --git a/src/comms/can/CANCommander.cpp b/src/comms/can/CANCommander.cpp index 9ad6cbe..3bec371 100644 --- a/src/comms/can/CANCommander.cpp +++ b/src/comms/can/CANCommander.cpp @@ -1,3 +1,4 @@ +#if has_SimpleCANio #include "CANCommander.h" CANCommander::CANCommander(HardwareCAN& can, uint8_t addr, bool echo_enabled, int baudrate, bool no_filter) @@ -191,3 +192,5 @@ RegisterIO& CANCommander::operator>>(float& value) { } return *this; } + +#endif \ No newline at end of file diff --git a/src/comms/can/CANCommander.h b/src/comms/can/CANCommander.h index 7ebcd5a..e634731 100644 --- a/src/comms/can/CANCommander.h +++ b/src/comms/can/CANCommander.h @@ -1,6 +1,12 @@ #ifndef CANCOMMANDER_H #define CANCOMMANDER_H +#if __cplusplus >= 201703L //Check for C++17 or later + #if __has_include("SimpleCANio.h") //C++17 required for __has_include + #define has_SimpleCANio 1 + #endif +#endif +#ifdef has_SimpleCANio #include "SimpleFOC.h" #include "../SimpleFOCRegisters.h" #include "../RegisterIO.h" @@ -82,4 +88,5 @@ class CANCommander : public RegisterIO uint8_t rx_available = 0; }; +#endif #endif \ No newline at end of file