arduino-examples
arduino-examples copied to clipboard
`Blink.ino` does not compile for Nicla Sense ME, unless `#include "Nicla_System"`
Describe the problem
The Blink sketch does not run without modification on the Nicla Sense ME. It is required to add the #include "Nicla_System.h"
directive, in order for the sketch to compile and successfully upload.
To reproduce
- Open Blink.ino from File -> Examples -> 01.Basics -> Blink.
- Connect the Nicla Sense ME board and select from the drop down menu
- Compile. A message informing the user to include the Nicla_System.h library is given in the bottom right corner
/tmp/.arduinoIDE-unsaved2023327-15341-54bj3y.wzmz7/Blink/Blink.ino: In function 'void setup()':
/tmp/.arduinoIDE-unsaved2023327-15341-54bj3y.wzmz7/Blink/Blink.ino:29:10: error: call to 'pinMode' declared with attribute error: Please include Nicla_System.h to use this pin
pinMode(LED_BUILTIN, OUTPUT);
~~~~~~~^~~~~~~~~~~~~~~~~~~~~
/tmp/.arduinoIDE-unsaved2023327-15341-54bj3y.wzmz7/Blink/Blink.ino: In function 'void loop()':
/tmp/.arduinoIDE-unsaved2023327-15341-54bj3y.wzmz7/Blink/Blink.ino:34:15: error: call to 'digitalWrite' declared with attribute error: Please include Nicla_System.h to use this pin
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/tmp/.arduinoIDE-unsaved2023327-15341-54bj3y.wzmz7/Blink/Blink.ino:36:15: error: call to 'digitalWrite' declared with attribute error: Please include Nicla_System.h to use this pin
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
exit status 1
Compilation error: call to 'pinMode' declared with attribute error: Please include Nicla_System.h to use this pin
- Add
#include "Nicla_System.h"
just above thesetup()
function. - Compile again, which will be successful.
Sketch uses 55788 bytes (10%) of program storage space. Maximum is 527616 bytes.
Global variables use 12256 bytes (19%) of dynamic memory, leaving 52032 bytes for local variables. Maximum is 64288 bytes.
- After uploading, all three RGB LEDs will start blinking together (white light)
Expected behavior
It is NOT required to add `#include "Nicla_System.h" to the sketch. Based on the selected FQBN, the compiler should add the directive if required.
The examples version
https://github.com/arduino/arduino-examples/commit/dfedf56610d6110887e227e114c11c2ba4211fb7
Additional context
The Blink sketch is the de-facto Hello World example, and often the first sketch users upload to their board.
Replicated on IDE 1 and Web Editor also.
Issue checklist
- [X] I searched for previous reports in the issue tracker
- [X] I verified the problem still occurs when using the latest version
- [X] My report contains all necessary details
While there is a dedicated Blink_Nicla.ino sketch, the Blink.ino sketch should work with all boards.
- https://github.com/arduino/ArduinoCore-mbed/issues/615
The error
directive was added to target EXACTLY that case; I think it's more than enough to drive the user to add the include (which is enough to make everything work automatically)