Nicla_System library

Hi,

I can't seem to find the Nicla_System library. Where could I find it? Thank you.

Hi @mfusco. If you are looking for the location of the source files on your computer, you can find it by following these instructions with Arduino IDE 2.x:

  1. Open any sketch that uses the library.
    ā“˜ You can also just create a simple sketch if you like:
    #include <Nicla_System.h>
    void setup() {}
    void loop() {}
    
  2. Select Sketch > Verify/Compile from the Arduino IDE menus.
    ā“˜ Alternatively, you can click the "Verify/Compile" button on the Arduino IDE toolbar.
  3. Wait for the compilation to finish.
  4. Right-click (Control-click for macOS users) on the Nicla_System.h header filename in the #include directive.
    A context menu will open.
  5. Select "Go to Definition" from the context menu.
  6. The Nicla_System.h file will open in an editor tab in Arduino IDE.
  7. Hover the mouse pointer over the "Nicla_System.h" editor tab.

After a second, a tooltip will appear that shows the path of the file on your hard drive.


:red_exclamation_mark: The file may be under a folder that is hidden by default by your operating system.


Although it is best to study the files on your computer, since it is that specific version of the file that is actually used when compiling your sketches, it can also sometimes be useful to know the location of the library source code repository that is hosted on the Internet. It is here:

Hi,

Thank you for your response, however when pressing "Go to Definition" the message, "No definition found for Nicla_System" appears.

Did the sketch compilation finish successfully?

I didn't have the proper board selected. It's working now, thank you!

You are welcome. Thanks for taking the time to post an update with your findings!

Nicla_System is a "platform bundled" library (it is bundled with the installation of the "Arduino Mbed OS Nicla Boards" platform). The Arduino sketch build system is only given access to the platform bundled libraries of the platform of the specific board that is being compiled for. This is done to allow each platform to provide its own variant of a given library (e.g., each platform provides its own "SPI" and "Wire" library), and also because the source code in the platform bundled libraries is typically very specific to the architecture of that platform's target boards, and thus is not usable when compiling for another board.