Skip to content

Add support for UNO R4 WiFi board  #40

Open
@MKBlackstar86

Description

@MKBlackstar86

Compilation of the library fails for the UNO R4 WiFi board:

WARNING: library ArduinoModbus claims to run on megaavr, samd, mbed_nano, mbed_portenta, mbed_opta architecture(s) and may be incompatible with your current board which runs on renesas_uno architecture(s).
WARNING: library ArduinoRS485 claims to run on samd, mbed_portenta, mbed_opta architecture(s) and may be incompatible with your current board which runs on renesas_uno architecture(s).
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:23:0,
                 from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-tcp.cpp:80:
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:17: error: field 'it_interval' has incomplete type 'timeval'
  struct timeval it_interval; /* timer interval */
                 ^~~~~~~~~~~
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:264:17: error: field 'it_value' has incomplete type 'timeval'
  struct timeval it_value; /* current value */
                 ^~~~~~~~
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-tcp.cpp:80:0:
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:102:35: error: 'fd_set' has not been declared
     int (*select) (modbus_t *ctx, fd_set *rset, struct timeval *tv, int msg_length);
                                   ^~~~~~
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:113:20: error: field 'response_timeout' has incomplete type 'timeval'
     struct timeval response_timeout;
                    ^~~~~~~~~~~~~~~~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:23:0,
                 from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-tcp.cpp:80:
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-tcp.cpp:80:0:
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:114:20: error: field 'byte_timeout' has incomplete type 'timeval'
     struct timeval byte_timeout;
                    ^~~~~~~~~~~~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:23:0,
                 from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-tcp.cpp:80:
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-tcp.cpp:830:46: error: 'fd_set' has not been declared
 static int _modbus_tcp_select(modbus_t *ctx, fd_set *rset, struct timeval *tv, int length_to_read)
                                              ^~~~~~
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-tcp.cpp: In function 'int _modbus_tcp_select(modbus_t*, int*, timeval*, int)':
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-tcp.cpp:838:60: error: invalid use of incomplete type 'struct timeval'
     unsigned long wait_time_millis = (tv == NULL) ? 0 : (tv->tv_sec * 1000) + (tv->tv_usec / 1000);
                                                            ^~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:23:0,
                 from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-tcp.cpp:80:
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-tcp.cpp:838:62: error: invalid use of incomplete type 'struct timeval'
     unsigned long wait_time_millis = (tv == NULL) ? 0 : (tv->tv_sec * 1000) + (tv->tv_usec / 1000);
                                                              ^~~~~~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:23:0,
                 from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-tcp.cpp:80:
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-tcp.cpp:838:82: error: invalid use of incomplete type 'struct timeval'
     unsigned long wait_time_millis = (tv == NULL) ? 0 : (tv->tv_sec * 1000) + (tv->tv_usec / 1000);
                                                                                  ^~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:23:0,
                 from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-tcp.cpp:80:
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-tcp.cpp:838:84: error: invalid use of incomplete type 'struct timeval'
     unsigned long wait_time_millis = (tv == NULL) ? 0 : (tv->tv_sec * 1000) + (tv->tv_usec / 1000);
                                                                                    ^~~~~~~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:23:0,
                 from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-tcp.cpp:80:
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:23:0,
                 from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-rtu.cpp:27:
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:17: error: field 'it_interval' has incomplete type 'timeval'
  struct timeval it_interval; /* timer interval */
                 ^~~~~~~~~~~
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:264:17: error: field 'it_value' has incomplete type 'timeval'
  struct timeval it_value; /* current value */
                 ^~~~~~~~
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-rtu.cpp:27:0:
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:102:35: error: 'fd_set' has not been declared
     int (*select) (modbus_t *ctx, fd_set *rset, struct timeval *tv, int msg_length);
                                   ^~~~~~
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:113:20: error: field 'response_timeout' has incomplete type 'timeval'
     struct timeval response_timeout;
                    ^~~~~~~~~~~~~~~~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:23:0,
                 from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-rtu.cpp:27:
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-rtu.cpp:27:0:
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:114:20: error: field 'byte_timeout' has incomplete type 'timeval'
     struct timeval byte_timeout;
                    ^~~~~~~~~~~~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:23:0,
                 from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-rtu.cpp:27:
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-rtu.cpp:1243:46: error: 'fd_set' has not been declared
 static int _modbus_rtu_select(modbus_t *ctx, fd_set *rset,
                                              ^~~~~~
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-rtu.cpp: In function 'int _modbus_rtu_select(modbus_t*, int*, timeval*, int)':
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-rtu.cpp:1262:60: error: invalid use of incomplete type 'struct timeval'
     unsigned long wait_time_millis = (tv == NULL) ? 0 : (tv->tv_sec * 1000) + (tv->tv_usec / 1000);
                                                            ^~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:23:0,
                 from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-rtu.cpp:27:
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-rtu.cpp:1262:62: error: invalid use of incomplete type 'struct timeval'
     unsigned long wait_time_millis = (tv == NULL) ? 0 : (tv->tv_sec * 1000) + (tv->tv_usec / 1000);
                                                              ^~~~~~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:23:0,
                 from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-rtu.cpp:27:
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-rtu.cpp:1262:82: error: invalid use of incomplete type 'struct timeval'
     unsigned long wait_time_millis = (tv == NULL) ? 0 : (tv->tv_sec * 1000) + (tv->tv_usec / 1000);
                                                                                  ^~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:23:0,
                 from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-rtu.cpp:27:
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~
C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-rtu.cpp:1262:84: error: invalid use of incomplete type 'struct timeval'
     unsigned long wait_time_millis = (tv == NULL) ? 0 : (tv->tv_sec * 1000) + (tv->tv_usec / 1000);
                                                                                    ^~~~~~~
In file included from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-private.h:23:0,
                 from C:\Users\micha\OneDrive\Documents\Arduino\libraries\ArduinoModbus\src\libmodbus\modbus-rtu.cpp:27:
c:\users\micha\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\sys\time.h:263:9: note: forward declaration of 'struct timeval'
  struct timeval it_interval; /* timer interval */
         ^~~~~~~

exit status 1

Compilation error: exit status 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions