Sentence: Helper library for MKRFox1200 board and ATAB8520E Sigfox module $ arduino-cli lib search "Arduino SigFox for MKRFox1200" Updating index: library_ downloaded ? 19988.48% 00m02s1s
$ arduino-cli lib search "Arduino_SigFox_for_MKRFox1200" This library was selected because the spaces in the name cause the "normalized" Library Manager installation folder name (`Arduino_SigFox_for_MKRFox1200`) to be different from the library name.Īrduino-cli.exe Version: nightly-20211201 Commit: 55ad9ec Date: The following demonstration uses the "Arduino SigFox for MKRFox1200" library, the name of which is defined here: However, two of the commands instead use the library's folder name for the library name instead of its real name. This is the sole unique identifier for the library, which is used in the `LIBRARY_NAME` argument of the `arduino-cli lib` commands. The name of an Arduino library is defined by the `name` propert ... y of its (). That is how the classic Arduino IDE works, but I notice that Arduino IDE 2.x uses the "fancy name" in the File > Examples menu, but the folder name in the Sketch > Include Library menu Ideally, the Arduino IDE always uses this "fancy" name when present, only falling back on the folder name in the case of the "1.0 format" libraries that don't have metadata. For example the "ESP32" library is actually defined as "ESP32 BLE Arduino". They are not using any submodules at this time.Īnother thing I notice is that some (but not all) of the listed libraries have different names in their metadata than the folder name. I don't remember if these specific libraries were ever submodules. Some of the platform bundled libraries used to be integrated into the espressif/arduino-esp32 repository as submodules, and when people did the installation of the development version via Git, but didn't follow the complex instructions carefully, they would end up with the default behavior of only having empty folders where the submodules should have been. Would that mean that the boards package is not installed or installed incorrectly? Packaging these in the form of a library causes the Arduino IDE to make them easily accessible to the user via the File > Examples > ESP32 menu. That purpose is to serve as a container for some example sketches that demonstrate some of the features of the ESP32 boards platform itself. Just an empty file with an explanatory comment to avoid too much confusion, thus the name "dummy".Įven though this library is not much to look at, it serves an important purpose. Currently IDE doesn't support no-code libraries, like this collection of example sketches. This file is here only to silence warnings from Arduino IDE So everything is working just as expected.īut why would a library named "ESP32" only have a single header file with this weird name? The answer is provided in the file itself: Sure enough, there is only a file named dummy.h. So we now know that when you select Sketch > Include Library > ESP32, the Arduino IDE will add #include directives for all the header files it finds in the library's source folder.
No includes field to be seen, so we can disregard that part of the specification. OK, so let's take a look at the library's library.properties metadata file: When the user imports a library into their sketch (from the Arduino IDE's "Sketch > Include Library" menu or the Arduino Web Editor's "Include" button), the default behavior (configurable via the library.properties includes field) is for an #include statement to be added for all header (.h) files in the src/ directory
When I add the ESP32 library, the code shows what does it mean?