diff --git a/g2core/board/Archim/board_xio.cpp b/g2core/board/Archim/board_xio.cpp index ff0846e1..87ab4dd3 100644 --- a/g2core/board/Archim/board_xio.cpp +++ b/g2core/board/Archim/board_xio.cpp @@ -42,20 +42,23 @@ const Motate::USBSettings_t Motate::USBSettings = { }; /*gProductVersion = */ //0.1, -//Motate::USBDevice< Motate::USBCDC > usb; -Motate::USBDevice< Motate::USBCDC, Motate::USBCDC > usb; +XIOUSBDevice_t usb; + +extern decltype(usb.mixin<0>::Serial)& SerialUSB; +#if USB_SERIAL_PORTS_EXPOSED == 2 +extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#endif + decltype(usb.mixin<0>::Serial) &SerialUSB = usb.mixin<0>::Serial; -decltype(usb.mixin<1>::Serial) &SerialUSB1 = usb.mixin<1>::Serial; +//decltype(usb.mixin<1>::Serial) &SerialUSB1 = usb.mixin<1>::Serial; -// 115200 is the default, as well. -//UART Serial {115200, UARTMode::RTSCTSFlowControl}; - -MOTATE_SET_USB_VENDOR_STRING( u"Synthetos (http://synthetos.com)" ) -MOTATE_SET_USB_PRODUCT_STRING( u"g2core gQuadratic" ) +MOTATE_SET_USB_VENDOR_STRING( u"Synthetos" ) +MOTATE_SET_USB_PRODUCT_STRING( u"TinyG v2" ) MOTATE_SET_USB_SERIAL_NUMBER_STRING_FROM_CHIPID() #endif // XIO_HAS_USB + //******** SPI ******** #if XIO_HAS_SPI Motate::SPI spi; diff --git a/g2core/board/Archim/board_xio.h b/g2core/board/Archim/board_xio.h index 102698d3..09f20fef 100755 --- a/g2core/board/Archim/board_xio.h +++ b/g2core/board/Archim/board_xio.h @@ -29,15 +29,25 @@ #ifndef board_xio_h #define board_xio_h +#include "settings.h" + //******** USB ******** #if XIO_HAS_USB #include "MotateUSB.h" #include "MotateUSBCDC.h" -// extern Motate::USBDevice< Motate::USBCDC > usb; -extern Motate::USBDevice usb; +#if USB_SERIAL_PORTS_EXPOSED == 1 +typedef Motate::USBDevice< Motate::USBCDC > XIOUSBDevice_t; +#endif +#if USB_SERIAL_PORTS_EXPOSED == 2 +typedef Motate::USBDevice XIOUSBDevice_t; +#endif + +extern XIOUSBDevice_t usb; extern decltype(usb.mixin<0>::Serial)& SerialUSB; +#if USB_SERIAL_PORTS_EXPOSED == 2 extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#endif #endif // XIO_HAS_USB diff --git a/g2core/board/ArduinoDue/board_xio.cpp b/g2core/board/ArduinoDue/board_xio.cpp index 04d9a326..7f2a0774 100755 --- a/g2core/board/ArduinoDue/board_xio.cpp +++ b/g2core/board/ArduinoDue/board_xio.cpp @@ -32,27 +32,31 @@ #include "board_xio.h" //******** USB ******** +#if XIO_HAS_USB const Motate::USBSettings_t Motate::USBSettings = { /*gVendorID = */ 0x1d50, /*gProductID = */ 0x606d, /*gProductVersion = */ G2CORE_FIRMWARE_VERSION, /*gAttributes = */ kUSBConfigAttributeSelfPowered, - /*gPowerConsumption = */ 500}; -/*gProductVersion = */ // 0.1, + /*gPowerConsumption = */ 500 +}; +/*gProductVersion = */ //0.1, -// Motate::USBDevice< Motate::USBCDC > usb; -Motate::USBDevice usb; +XIOUSBDevice_t usb; -decltype(usb.mixin<0>::Serial)& SerialUSB = usb.mixin<0>::Serial; -decltype(usb.mixin<1>::Serial)& SerialUSB1 = usb.mixin<1>::Serial; - -// 115200 is the default, as well. -// UART Serial {115200, UARTMode::RTSCTSFlowControl}; +extern decltype(usb.mixin<0>::Serial)& SerialUSB; +#if USB_SERIAL_PORTS_EXPOSED == 2 +extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#endif -MOTATE_SET_USB_VENDOR_STRING({'S', 'y', 'n', 't', 'h', 'e', 't', 'o', 's'}) -MOTATE_SET_USB_PRODUCT_STRING({'T', 'i', 'n', 'y', 'G', ' ', 'v', '2'}) +decltype(usb.mixin<0>::Serial) &SerialUSB = usb.mixin<0>::Serial; +//decltype(usb.mixin<1>::Serial) &SerialUSB1 = usb.mixin<1>::Serial; + +MOTATE_SET_USB_VENDOR_STRING( u"Synthetos" ) +MOTATE_SET_USB_PRODUCT_STRING( u"TinyG v2" ) MOTATE_SET_USB_SERIAL_NUMBER_STRING_FROM_CHIPID() +#endif // XIO_HAS_USB diff --git a/g2core/board/ArduinoDue/board_xio.h b/g2core/board/ArduinoDue/board_xio.h index a7bf7959..31afd8c8 100755 --- a/g2core/board/ArduinoDue/board_xio.h +++ b/g2core/board/ArduinoDue/board_xio.h @@ -29,15 +29,26 @@ #ifndef board_xio_h #define board_xio_h +#include "settings.h" + //******** USB ******** +#if XIO_HAS_USB #include "MotateUSB.h" #include "MotateUSBCDC.h" -// extern Motate::USBDevice< Motate::USBCDC > usb; -extern Motate::USBDevice usb; -extern decltype(usb.mixin<0>::Serial)& SerialUSB; -extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#if USB_SERIAL_PORTS_EXPOSED == 1 +typedef Motate::USBDevice< Motate::USBCDC > XIOUSBDevice_t; +#endif +#if USB_SERIAL_PORTS_EXPOSED == 2 +typedef Motate::USBDevice XIOUSBDevice_t; +#endif +extern XIOUSBDevice_t usb; +extern decltype(usb.mixin<0>::Serial)& SerialUSB; +#if USB_SERIAL_PORTS_EXPOSED == 2 +extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#endif +#endif // XIO_HAS_USB //******** SPI ******** diff --git a/g2core/board/G2v9/board_xio.cpp b/g2core/board/G2v9/board_xio.cpp index 04d9a326..09ccaf80 100755 --- a/g2core/board/G2v9/board_xio.cpp +++ b/g2core/board/G2v9/board_xio.cpp @@ -32,28 +32,31 @@ #include "board_xio.h" //******** USB ******** +#if XIO_HAS_USB const Motate::USBSettings_t Motate::USBSettings = { /*gVendorID = */ 0x1d50, /*gProductID = */ 0x606d, /*gProductVersion = */ G2CORE_FIRMWARE_VERSION, /*gAttributes = */ kUSBConfigAttributeSelfPowered, - /*gPowerConsumption = */ 500}; -/*gProductVersion = */ // 0.1, + /*gPowerConsumption = */ 500 +}; +/*gProductVersion = */ //0.1, -// Motate::USBDevice< Motate::USBCDC > usb; -Motate::USBDevice usb; +XIOUSBDevice_t usb; -decltype(usb.mixin<0>::Serial)& SerialUSB = usb.mixin<0>::Serial; -decltype(usb.mixin<1>::Serial)& SerialUSB1 = usb.mixin<1>::Serial; - -// 115200 is the default, as well. -// UART Serial {115200, UARTMode::RTSCTSFlowControl}; +extern decltype(usb.mixin<0>::Serial)& SerialUSB; +#if USB_SERIAL_PORTS_EXPOSED == 2 +extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#endif -MOTATE_SET_USB_VENDOR_STRING({'S', 'y', 'n', 't', 'h', 'e', 't', 'o', 's'}) -MOTATE_SET_USB_PRODUCT_STRING({'T', 'i', 'n', 'y', 'G', ' ', 'v', '2'}) +decltype(usb.mixin<0>::Serial) &SerialUSB = usb.mixin<0>::Serial; +//decltype(usb.mixin<1>::Serial) &SerialUSB1 = usb.mixin<1>::Serial; + +MOTATE_SET_USB_VENDOR_STRING( u"Synthetos" ) +MOTATE_SET_USB_PRODUCT_STRING( u"TinyG v2" ) MOTATE_SET_USB_SERIAL_NUMBER_STRING_FROM_CHIPID() - +#endif // XIO_HAS_USB //******** SPI ******** diff --git a/g2core/board/G2v9/board_xio.h b/g2core/board/G2v9/board_xio.h index a7bf7959..31afd8c8 100755 --- a/g2core/board/G2v9/board_xio.h +++ b/g2core/board/G2v9/board_xio.h @@ -29,15 +29,26 @@ #ifndef board_xio_h #define board_xio_h +#include "settings.h" + //******** USB ******** +#if XIO_HAS_USB #include "MotateUSB.h" #include "MotateUSBCDC.h" -// extern Motate::USBDevice< Motate::USBCDC > usb; -extern Motate::USBDevice usb; -extern decltype(usb.mixin<0>::Serial)& SerialUSB; -extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#if USB_SERIAL_PORTS_EXPOSED == 1 +typedef Motate::USBDevice< Motate::USBCDC > XIOUSBDevice_t; +#endif +#if USB_SERIAL_PORTS_EXPOSED == 2 +typedef Motate::USBDevice XIOUSBDevice_t; +#endif +extern XIOUSBDevice_t usb; +extern decltype(usb.mixin<0>::Serial)& SerialUSB; +#if USB_SERIAL_PORTS_EXPOSED == 2 +extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#endif +#endif // XIO_HAS_USB //******** SPI ******** diff --git a/g2core/board/gquadratic/board_xio.cpp b/g2core/board/gquadratic/board_xio.cpp index ff0846e1..8b4835b2 100755 --- a/g2core/board/gquadratic/board_xio.cpp +++ b/g2core/board/gquadratic/board_xio.cpp @@ -42,20 +42,23 @@ const Motate::USBSettings_t Motate::USBSettings = { }; /*gProductVersion = */ //0.1, -//Motate::USBDevice< Motate::USBCDC > usb; -Motate::USBDevice< Motate::USBCDC, Motate::USBCDC > usb; +XIOUSBDevice_t usb; + +extern decltype(usb.mixin<0>::Serial)& SerialUSB; +#if USB_SERIAL_PORTS_EXPOSED == 2 +extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#endif + decltype(usb.mixin<0>::Serial) &SerialUSB = usb.mixin<0>::Serial; -decltype(usb.mixin<1>::Serial) &SerialUSB1 = usb.mixin<1>::Serial; +//decltype(usb.mixin<1>::Serial) &SerialUSB1 = usb.mixin<1>::Serial; -// 115200 is the default, as well. -//UART Serial {115200, UARTMode::RTSCTSFlowControl}; - -MOTATE_SET_USB_VENDOR_STRING( u"Synthetos (http://synthetos.com)" ) -MOTATE_SET_USB_PRODUCT_STRING( u"g2core gQuadratic" ) +MOTATE_SET_USB_VENDOR_STRING( u"Synthetos" ) +MOTATE_SET_USB_PRODUCT_STRING( u"TinyG v2" ) MOTATE_SET_USB_SERIAL_NUMBER_STRING_FROM_CHIPID() #endif // XIO_HAS_USB + //******** SPI ******** #if XIO_HAS_SPI Motate::SPI spi; @@ -71,7 +74,7 @@ void board_hardware_init(void) // called 1st { #if XIO_HAS_USB // Init USB - usb.attach(); // USB setup. Runs in "background" as the rest of this executes + usb.attach(); #endif // XIO_HAS_USB } diff --git a/g2core/board/gquadratic/board_xio.h b/g2core/board/gquadratic/board_xio.h index 102698d3..09f20fef 100755 --- a/g2core/board/gquadratic/board_xio.h +++ b/g2core/board/gquadratic/board_xio.h @@ -29,15 +29,25 @@ #ifndef board_xio_h #define board_xio_h +#include "settings.h" + //******** USB ******** #if XIO_HAS_USB #include "MotateUSB.h" #include "MotateUSBCDC.h" -// extern Motate::USBDevice< Motate::USBCDC > usb; -extern Motate::USBDevice usb; +#if USB_SERIAL_PORTS_EXPOSED == 1 +typedef Motate::USBDevice< Motate::USBCDC > XIOUSBDevice_t; +#endif +#if USB_SERIAL_PORTS_EXPOSED == 2 +typedef Motate::USBDevice XIOUSBDevice_t; +#endif + +extern XIOUSBDevice_t usb; extern decltype(usb.mixin<0>::Serial)& SerialUSB; +#if USB_SERIAL_PORTS_EXPOSED == 2 extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#endif #endif // XIO_HAS_USB diff --git a/g2core/board/gquintic/board_xio.cpp b/g2core/board/gquintic/board_xio.cpp index 5f280380..8b4835b2 100755 --- a/g2core/board/gquintic/board_xio.cpp +++ b/g2core/board/gquintic/board_xio.cpp @@ -42,20 +42,23 @@ const Motate::USBSettings_t Motate::USBSettings = { }; /*gProductVersion = */ //0.1, -//Motate::USBDevice< Motate::USBCDC > usb; -Motate::USBDevice< Motate::USBCDC, Motate::USBCDC > usb; +XIOUSBDevice_t usb; + +extern decltype(usb.mixin<0>::Serial)& SerialUSB; +#if USB_SERIAL_PORTS_EXPOSED == 2 +extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#endif + decltype(usb.mixin<0>::Serial) &SerialUSB = usb.mixin<0>::Serial; -decltype(usb.mixin<1>::Serial) &SerialUSB1 = usb.mixin<1>::Serial; +//decltype(usb.mixin<1>::Serial) &SerialUSB1 = usb.mixin<1>::Serial; -// 115200 is the default, as well. -//UART Serial {115200, UARTMode::RTSCTSFlowControl}; - -MOTATE_SET_USB_VENDOR_STRING( {'S' ,'y', 'n', 't', 'h', 'e', 't', 'o', 's'} ) -MOTATE_SET_USB_PRODUCT_STRING( {'T', 'i', 'n', 'y', 'G', ' ', 'v', '2'} ) +MOTATE_SET_USB_VENDOR_STRING( u"Synthetos" ) +MOTATE_SET_USB_PRODUCT_STRING( u"TinyG v2" ) MOTATE_SET_USB_SERIAL_NUMBER_STRING_FROM_CHIPID() #endif // XIO_HAS_USB + //******** SPI ******** #if XIO_HAS_SPI Motate::SPI spi; @@ -71,7 +74,7 @@ void board_hardware_init(void) // called 1st { #if XIO_HAS_USB // Init USB - usb.attach(); // USB setup. Runs in "background" as the rest of this executes + usb.attach(); #endif // XIO_HAS_USB } diff --git a/g2core/board/gquintic/board_xio.h b/g2core/board/gquintic/board_xio.h index 102698d3..09f20fef 100755 --- a/g2core/board/gquintic/board_xio.h +++ b/g2core/board/gquintic/board_xio.h @@ -29,15 +29,25 @@ #ifndef board_xio_h #define board_xio_h +#include "settings.h" + //******** USB ******** #if XIO_HAS_USB #include "MotateUSB.h" #include "MotateUSBCDC.h" -// extern Motate::USBDevice< Motate::USBCDC > usb; -extern Motate::USBDevice usb; +#if USB_SERIAL_PORTS_EXPOSED == 1 +typedef Motate::USBDevice< Motate::USBCDC > XIOUSBDevice_t; +#endif +#if USB_SERIAL_PORTS_EXPOSED == 2 +typedef Motate::USBDevice XIOUSBDevice_t; +#endif + +extern XIOUSBDevice_t usb; extern decltype(usb.mixin<0>::Serial)& SerialUSB; +#if USB_SERIAL_PORTS_EXPOSED == 2 extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#endif #endif // XIO_HAS_USB diff --git a/g2core/board/printrboardg2/board_xio.cpp b/g2core/board/printrboardg2/board_xio.cpp index 2c217205..8b4835b2 100755 --- a/g2core/board/printrboardg2/board_xio.cpp +++ b/g2core/board/printrboardg2/board_xio.cpp @@ -32,6 +32,7 @@ #include "board_xio.h" //******** USB ******** +#if XIO_HAS_USB const Motate::USBSettings_t Motate::USBSettings = { /*gVendorID = */ 0x1d50, /*gProductID = */ 0x606d, @@ -41,18 +42,21 @@ const Motate::USBSettings_t Motate::USBSettings = { }; /*gProductVersion = */ //0.1, -//Motate::USBDevice< Motate::USBCDC > usb; -Motate::USBDevice< Motate::USBCDC, Motate::USBCDC > usb; +XIOUSBDevice_t usb; + +extern decltype(usb.mixin<0>::Serial)& SerialUSB; +#if USB_SERIAL_PORTS_EXPOSED == 2 +extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#endif + decltype(usb.mixin<0>::Serial) &SerialUSB = usb.mixin<0>::Serial; -decltype(usb.mixin<1>::Serial) &SerialUSB1 = usb.mixin<1>::Serial; - -// 115200 is the default, as well. -//UART Serial {115200, UARTMode::RTSCTSFlowControl}; +//decltype(usb.mixin<1>::Serial) &SerialUSB1 = usb.mixin<1>::Serial; MOTATE_SET_USB_VENDOR_STRING( u"Synthetos" ) MOTATE_SET_USB_PRODUCT_STRING( u"TinyG v2" ) MOTATE_SET_USB_SERIAL_NUMBER_STRING_FROM_CHIPID() +#endif // XIO_HAS_USB //******** SPI ******** @@ -68,8 +72,10 @@ Motate::UART usb; -extern Motate::USBDevice usb; -extern decltype(usb.mixin<0>::Serial)& SerialUSB; -extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#if USB_SERIAL_PORTS_EXPOSED == 1 +typedef Motate::USBDevice< Motate::USBCDC > XIOUSBDevice_t; +#endif +#if USB_SERIAL_PORTS_EXPOSED == 2 +typedef Motate::USBDevice XIOUSBDevice_t; +#endif +extern XIOUSBDevice_t usb; +extern decltype(usb.mixin<0>::Serial)& SerialUSB; +#if USB_SERIAL_PORTS_EXPOSED == 2 +extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#endif +#endif // XIO_HAS_USB //******** SPI ******** #if XIO_HAS_SPI diff --git a/g2core/board/sbv300/board_xio.cpp b/g2core/board/sbv300/board_xio.cpp index 712a89e9..8b4835b2 100755 --- a/g2core/board/sbv300/board_xio.cpp +++ b/g2core/board/sbv300/board_xio.cpp @@ -32,6 +32,7 @@ #include "board_xio.h" //******** USB ******** +#if XIO_HAS_USB const Motate::USBSettings_t Motate::USBSettings = { /*gVendorID = */ 0x1d50, /*gProductID = */ 0x606d, @@ -41,20 +42,21 @@ const Motate::USBSettings_t Motate::USBSettings = { }; /*gProductVersion = */ //0.1, -//Motate::USBDevice< Motate::USBCDC > usb; -Motate::USBDevice< Motate::USBCDC, Motate::USBCDC > usb; +XIOUSBDevice_t usb; + +extern decltype(usb.mixin<0>::Serial)& SerialUSB; +#if USB_SERIAL_PORTS_EXPOSED == 2 +extern decltype(usb.mixin<1>::Serial)& SerialUSB1; +#endif + decltype(usb.mixin<0>::Serial) &SerialUSB = usb.mixin<0>::Serial; -decltype(usb.mixin<1>::Serial) &SerialUSB1 = usb.mixin<1>::Serial; +//decltype(usb.mixin<1>::Serial) &SerialUSB1 = usb.mixin<1>::Serial; -// 115200 is the default, as well. -//UART Serial {115200, UARTMode::RTSCTSFlowControl}; - - -MOTATE_SET_USB_VENDOR_STRING( {'S' ,'y', 'n', 't', 'h', 'e', 't', 'o', 's'} ) -MOTATE_SET_USB_PRODUCT_STRING( {'T', 'i', 'n', 'y', 'G', ' ', 'v', '2'} ) +MOTATE_SET_USB_VENDOR_STRING( u"Synthetos" ) +MOTATE_SET_USB_PRODUCT_STRING( u"TinyG v2" ) MOTATE_SET_USB_SERIAL_NUMBER_STRING_FROM_CHIPID() - +#endif // XIO_HAS_USB //******** SPI ******** @@ -65,25 +67,26 @@ Motate::SPI spi; //******** UART ******** #if XIO_HAS_UART -Motate::UART Serial{ - 115200, Motate::UARTMode::RTSCTSFlowControl}; +Motate::UART Serial {115200, Motate::UARTMode::RTSCTSFlowControl}; #endif -void board_hardware_init(void) // called 1st +void board_hardware_init(void) // called 1st { +#if XIO_HAS_USB // Init USB - usb.attach(); // USB setup. Runs in "background" as the rest of this executes + usb.attach(); +#endif // XIO_HAS_USB } -void board_xio_init(void) // called later than board_hardware_init (there are thing in between) +void board_xio_init(void) // called later than board_hardware_init (there are thing in between) { -// Init SPI + // Init SPI #if XIO_HAS_SPI -// handled internally for now + // handled internally for now #endif -// Init UART + // Init UART #if XIO_HAS_UART Serial.init(); #endif diff --git a/g2core/board/sbv300/board_xio.h b/g2core/board/sbv300/board_xio.h index 40b42a09..6bc4421f 100755 --- a/g2core/board/sbv300/board_xio.h +++ b/g2core/board/sbv300/board_xio.h @@ -29,28 +29,38 @@ #ifndef board_xio_h #define board_xio_h +#include "settings.h" + //******** USB ******** +#if XIO_HAS_USB #include "MotateUSB.h" #include "MotateUSBCDC.h" -// extern Motate::USBDevice< Motate::USBCDC > usb; -extern Motate::USBDevice usb; +#if USB_SERIAL_PORTS_EXPOSED == 1 +typedef Motate::USBDevice< Motate::USBCDC > XIOUSBDevice_t; +#endif +#if USB_SERIAL_PORTS_EXPOSED == 2 +typedef Motate::USBDevice XIOUSBDevice_t; +#endif + +extern XIOUSBDevice_t usb; extern decltype(usb.mixin<0>::Serial)& SerialUSB; +#if USB_SERIAL_PORTS_EXPOSED == 2 extern decltype(usb.mixin<1>::Serial)& SerialUSB1; - - +#endif +#endif // XIO_HAS_USB //******** SPI ******** -//#include "MotateSPI.h" -// extern Motate::SPI spi; - - +#if XIO_HAS_SPI +#include "MotateSPI.h" +extern Motate::SPI spi; +#endif //******** UART ******** -//#include "MotateUART.h" -// extern Motate::UART Serial; - - +#if XIO_HAS_UART +#include "MotateUART.h" +extern Motate::UART Serial; +#endif //******* Generic Functions ******* void board_hardware_init(void); // called 1st diff --git a/g2core/settings/settings_default.h b/g2core/settings/settings_default.h index 233346c3..e0566ae7 100755 --- a/g2core/settings/settings_default.h +++ b/g2core/settings/settings_default.h @@ -58,6 +58,11 @@ // *** Machine configuration settings *** // +#ifndef USB_SERIAL_PORTS_EXPOSED +#define USB_SERIAL_PORTS_EXPOSED 1 // Valid options are 1 or 2, only! +#endif + + #ifndef JUNCTION_INTEGRATION_TIME #define JUNCTION_INTEGRATION_TIME 0.75 // {jt: cornering - between 0.05 and 2.00 (max) #endif diff --git a/g2core/xio.cpp b/g2core/xio.cpp index d2dd2261..e1ce0b53 100755 --- a/g2core/xio.cpp +++ b/g2core/xio.cpp @@ -38,6 +38,7 @@ #include "report.h" #include "controller.h" #include "util.h" +#include "settings.h" #include "board_xio.h" @@ -949,10 +950,12 @@ xioDeviceWrapper serialUSB0Wrapper { &SerialUSB, (DEV_CAN_READ | DEV_CAN_WRITE | DEV_CAN_BE_CTRL | DEV_CAN_BE_DATA) }; +#if USB_SERIAL_PORTS_EXPOSED == 2 xioDeviceWrapper serialUSB1Wrapper { &SerialUSB1, (DEV_CAN_READ | DEV_CAN_WRITE | DEV_CAN_BE_CTRL | DEV_CAN_BE_DATA) }; +#endif #endif // XIO_HAS_USB #if XIO_HAS_UART==1 xioDeviceWrapper serial0Wrapper { @@ -966,7 +969,9 @@ xioDeviceWrapper serial0Wrapper { xio_t xio = { #if XIO_HAS_USB == 1 &serialUSB0Wrapper, +#if USB_SERIAL_PORTS_EXPOSED == 2 &serialUSB1Wrapper, +#endif #endif // XIO_HAS_USB #if XIO_HAS_UART == 1 &serial0Wrapper @@ -994,8 +999,10 @@ void xio_init() #if XIO_HAS_USB == 1 serialUSB0Wrapper.init(); +#if USB_SERIAL_PORTS_EXPOSED == 2 serialUSB1Wrapper.init(); #endif +#endif #if XIO_HAS_UART == 1 serial0Wrapper.init(); #endif