-
Notifications
You must be signed in to change notification settings - Fork 21
Description
Describe the problem
The library's documentation and metadata make the following claims of compatibility:
Line 10 in e9e816a
This library is compatible with all Arduino boards that feature an I2C interface (`Wire`). |
Line 9 in e9e816a
architectures=* |
Since the "Arduino AVR Boards" and "Arduino megaAVR Boards" platforms do provide the sole stated requirement of a Wire library implementation, it is expected that the library is compatible with the boards of these platforms.
🐛 The library fails to compile for those boards.
To reproduce
- Create the following sketch:
#include <Modulino.h> void setup() {} void loop() {}
- Select Tools > Boards > Arduino AVR Boards > Arduino Uno from the Arduino IDE menus.
- Select Sketch > Verify/Compile from the Arduino IDE menus.
🐛 The compilation fails:
In file included from c:\Users\per\Documents\Arduino\libraries\Modulino\src/Modulino.h:12:0,
from C:\Users\per\Documents\Arduino\sketch_jul20a\sketch_jul20a.ino:1:
C:\Users\per\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src/Wire.h: In member function 'bool Module::read(uint8_t*, int)':
C:\Users\per\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src/Wire.h:68:13: note: candidate 1: uint8_t TwoWire::requestFrom(int, int)
uint8_t requestFrom(int, int);
^~~~~~~~~~~
C:\Users\per\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src/Wire.h:65:13: note: candidate 2: uint8_t TwoWire::requestFrom(uint8_t, uint8_t)
uint8_t requestFrom(uint8_t, uint8_t);
^~~~~~~~~~~
In file included from c:\Users\per\Documents\Arduino\libraries\Modulino\src\Modulino.h:12:0,
from c:\Users\per\Documents\Arduino\libraries\Modulino\src\Modulino.cpp:4:
C:\Users\per\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src/Wire.h: In member function 'bool Module::read(uint8_t*, int)':
C:\Users\per\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src/Wire.h:68:13: note: candidate 1: uint8_t TwoWire::requestFrom(int, int)
uint8_t requestFrom(int, int);
^~~~~~~~~~~
C:\Users\per\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src/Wire.h:65:13: note: candidate 2: uint8_t TwoWire::requestFrom(uint8_t, uint8_t)
uint8_t requestFrom(uint8_t, uint8_t);
^~~~~~~~~~~
c:\Users\per\Documents\Arduino\libraries\Modulino\src\Modulino.cpp: At global scope:
c:\Users\per\Documents\Arduino\libraries\Modulino\src\Modulino.cpp:8:60: error: 'init_priority' attribute is not supported on this platform
ModulinoClass Modulino __attribute__ ((init_priority (101)));
^
exit status 1
Compilation error: exit status 1
Expected behavior
Library compiles for all official boards for which the documentation and metadata claims compatibility.
Library version
0.5.1
Additional context
The "Compile Examples" workflow is intended to catch fundamental problems like this, but it did not because the workflow is only configured to compile for a single board 🤦.
Originally reported at https://forum.arduino.cc/t/compiler-error-for-modulino-distance/1399303