diff --git a/src/libmodbus/modbus-rtu.cpp b/src/libmodbus/modbus-rtu.cpp index c5a8302..ec09a43 100644 --- a/src/libmodbus/modbus-rtu.cpp +++ b/src/libmodbus/modbus-rtu.cpp @@ -654,7 +654,11 @@ static int _modbus_rtu_connect(modbus_t *ctx) return -1; } #elif defined(ARDUINO) +#ifdef ARDUINO_ARCH_SAM + ctx_rtu->rs485->begin(ctx_rtu->baud, static_cast(ctx_rtu->config)); +#else ctx_rtu->rs485->begin(ctx_rtu->baud, ctx_rtu->config); +#endif ctx_rtu->rs485->receive(); #else /* The O_NOCTTY flag tells UNIX that this program doesn't want diff --git a/src/libmodbus/modbus.c b/src/libmodbus/modbus.c index 3afeb3b..454cbf0 100644 --- a/src/libmodbus/modbus.c +++ b/src/libmodbus/modbus.c @@ -1,6 +1,6 @@ /* - * Copyright © 2001-2011 Stéphane Raimbault - * Copyright © 2018 Arduino SA. All rights reserved. + * Copyright © 2001-2011 Stéphane Raimbault + * Copyright © 2018 Arduino SA. All rights reserved. * * SPDX-License-Identifier: LGPL-2.1+ * @@ -8,19 +8,32 @@ * http://libmodbus.org/ */ +#ifdef ARDUINO_SAM_DUE +#include //moust be include here to compile +#endif + + +#ifndef _MSC_VER +#ifndef ARDUINO_SAM_DUE +//compile with DUE without those includes #include #include #include #include -#include #include #include -#ifndef _MSC_VER +//make due not compile if included #include #endif +#include +#endif #ifdef ARDUINO #include + +#ifndef ARDUINO_SAM_DUE #include +#endif + #ifndef DEBUG #define printf(...) {} @@ -1926,4 +1939,4 @@ size_t strlcpy(char *dest, const char *src, size_t dest_size) return (s - src - 1); /* count does not include NUL */ } -#endif +#endif \ No newline at end of file