Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Examples from Custom Libraries Renamed to Active Board #2249

Closed
3 tasks done
ben-qnimble opened this issue Oct 7, 2023 · 11 comments
Closed
3 tasks done

Examples from Custom Libraries Renamed to Active Board #2249

ben-qnimble opened this issue Oct 7, 2023 · 11 comments
Assignees
Labels
conclusion: invalid Issue/PR not valid topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project

Comments

@ben-qnimble
Copy link
Contributor

Describe the problem

When going to File, Examples, I would expect to see examples broken into a few categories: Built-in examples; Examples from Custom Libraries; and Examples for XXXX where XXXX is the active board selected. I have a fresh install of Arduino IDE 2.2.1 on Windows 11 and all the examples that should be under "Examples from Custom Libraries" and mis-categorized as "Examples for XXXX". If there are board-specific libraries ("Examples for XXXX"), they get merged with the Custom Libraries which can be confusing as it can make it the number of libraries in that category very large and hard to distinguish between the two types of examples.

Here is an example of what I'm seeing:
image

And this is an example of what I'd expect:
image

Interestingly, I do not see this behavior on a different Windows 11 machine also running Arduino IDE 2.2.1 but, in the setup that works, it was a well-used Arduino IDE install that was upgraded from 2.1.1 (and 2.0.X before that, etc). I'm seeing the issue on a fresh install of Windows 11 and a Arduino IDE 2.2.1 was the first / only Arduino IE install.

To reproduce

Look at the list of examples (File, Examples) and see if there are are "Examples from Custom Libraries".

Expected behavior

See above, but I would expect Examples for board and examples from custom libraries to not get merged into one group.

Arduino IDE version

2.2.1

Operating system

Windows

Operating system version

11

Additional context

No response

Issue checklist

  • I searched for previous reports in the issue tracker
  • I verified the problem still occurs when using the latest nightly build
  • My report contains all necessary details
@ben-qnimble ben-qnimble added the type: imperfection Perceived defect in any part of project label Oct 7, 2023
@kittaakos
Copy link
Contributor

Thank you for the detailed bug report.

I have read your description multiple times but still need some help understanding the problem. Thanks for your patience.

all the examples that should be under "Examples from Custom Libraries" and mis-categorized as "Examples for XXXX". If there are board-specific libraries ("Examples for XXXX"), they get merged with the Custom Libraries

I am unaware of any recent changes that will merge example menu items in IDE2.

Expected behavior

See above, but I would expect Examples for board and examples from custom libraries to not get merged into one group.

I do not understand it; the first screenshot is with an Uno board, and the other is with a MKR WiFi 1010.

There was an issue with the File > Examples menu group: #2239. Please check whether your problem is the same. If so, the bug has been fixed. Please use the nightly build: https://www.arduino.cc/en/software#nightly-builds

If not, please explain to me once more what's your request. Thanks!

@kittaakos kittaakos added the status: waiting for information More information must be provided before work can proceed label Oct 9, 2023
@ben-qnimble
Copy link
Contributor Author

I believe this issue is different from #2239 because the example are not missing, they are mis-categoried. I've also tried the nightly builds with the same behavior.

The issue shows up with any board as a target, and you can see it when the examples show the generic / common examples labelled as "Examples for XXX" instead of "Examples from Custom Libraries". But to make it more clear in the worst case if your target board hardware has examples, it combines them with these generics. Below is a screenshot showing this behavior which combines these examples and the proper behavior which separates generic examples for all board and from board-specific examples.

image

ProperLibrariesArduino

I hope that explains what's going on. Please let me know if you need more details.

@kittaakos
Copy link
Contributor

Thanks for the screenshots; now I see what's the problem. I could not reproduce it with 2.2.1 on macOS. Please help me.

The issue shows up with any board as a target,

Do you mean sometimes the example menu groups are correct, and sometimes they aren't? I am asking because you have a screenshot from 2.2.1 which is correct–I assume. Can you provide me with the precise steps for what you do when you see the correct menu groups and what you don't?

@kittaakos kittaakos added the topic: code Related to content of the project itself label Oct 9, 2023
@ben-qnimble
Copy link
Contributor Author

So I have two windows 11 machines. One is brand new and I installed Arduino IDE fresh on it and it shows the problem always. The other (upgraded over the years from maybe earlier Arduino IDE versions never has the problem. It is easy to see the program because when you select any target board, the second set of examples are labelled "Examples for XXXX" where XXXX is the selected target board. What it should show (and shows on my other machine) is "Examples from Custom Libraries". When the target board does not have any examples, then the only difference (that I see) is the label for the second set of examples (the first being 'build-in examples'). However, when the target is a board that does have examples is selected, then the difference is the merging of these examples into one category instead of separating "Examples from Custom Libraries" and "Examples for XXXX".

As for how to reproduce, I don't fully know. I wonder if the behavior has to do with a preference / configuration issue that maybe got set on my working machine with an old version of Arduino that persisted when upgrading to 2.21. That said, since I see the problem on a fresh install of 2.2.1 on a fresh install of Windows (and no customization / configuration other than adding a board manager url), I think it is a problem going forward. Maybe installing in a clean VirtualBox would enable it to be reproduced.

If you can think of things I can try to narrow down when / why this issue shows up, please let me know.

@kittaakos
Copy link
Contributor

Thanks for your persistence.

So I have two windows 11 machines.

Please do the following on both machines:

  • Open a CMD.EXE and navigate to your IDE2 installations. On my machine, when I am in the IDE2 installation folder, I see this when I execute dir:
c:\Users\kittaakos\Desktop\ide2 2.2.1>dir
 Volume in drive C has no label.
 Volume Serial Number is 04F3-13CC

 Directory of c:\Users\kittaakos\Desktop\ide2 2.2.1

10/10/2023  08:54 AM    <DIR>          .
10/10/2023  08:54 AM    <DIR>          ..
08/31/2023  02:36 PM       162,060,992 Arduino IDE.exe
08/31/2023  02:35 PM           129,690 chrome_100_percent.pak
08/31/2023  02:35 PM           179,971 chrome_200_percent.pak
08/31/2023  02:35 PM         4,891,080 d3dcompiler_47.dll
08/31/2023  02:35 PM         2,862,080 ffmpeg.dll
08/31/2023  02:35 PM        10,541,296 icudtl.dat
08/31/2023  02:35 PM           479,232 libEGL.dll
08/31/2023  02:35 PM         7,514,112 libGLESv2.dll
08/31/2023  02:35 PM             1,096 LICENSE.electron.txt
08/31/2023  02:35 PM         6,762,963 LICENSES.chromium.html
10/10/2023  08:54 AM    <DIR>          locales
10/10/2023  08:54 AM    <DIR>          resources
08/31/2023  02:35 PM         5,430,329 resources.pak
08/31/2023  02:35 PM           162,352 snapshot_blob.bin
08/31/2023  02:35 PM           476,792 v8_context_snapshot.bin
08/31/2023  02:35 PM         5,209,088 vk_swiftshader.dll
08/31/2023  02:35 PM               106 vk_swiftshader_icd.json
08/31/2023  02:35 PM           920,576 vulkan-1.dll
              16 File(s)    207,621,755 bytes
               4 Dir(s)  180,013,531,136 bytes free
  • Run the following command and copy the complete terminal output either here or, if it's too long, put it into a file and attach it to this issue.
resources\\app\\lib\\backend\\resources\\arduino-cli.exe lib list --all --fqbn arduino:samd:mkrwifi1010 --format json
Click to see the output from my Windows machine

[
  {
    "library": {
      "name": "LiquidCrystal",
      "author": "Arduino, Adafruit",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Allows communication with alphanumerical liquid crystal displays (LCDs).",
      "paragraph": "This library allows an Arduino/Genuino board to control LiquidCrystal displays (LCDs) based on the Hitachi HD44780 (or a compatible) chipset, which is found on most text-based LCDs. The library works with in either 4 or 8 bit mode (i.e. using 4 or 8 data lines in addition to the rs, enable, and, optionally, the rw control lines).",
      "website": "http://www.arduino.cc/en/Reference/LiquidCrystal",
      "category": "Display",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\LiquidCrystal",
      "source_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\LiquidCrystal\\src",
      "version": "1.0.7",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Autoscroll",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Blink",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Cursor",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\CustomCharacter",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Display",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\HelloWorld",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Scroll",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\SerialDisplay",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\TextDirection",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\setCursor"
      ],
      "provides_includes": [
        "LiquidCrystal.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "SBU",
      "author": "Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Update the sketch on your Arduino MKRNB1500 from SARA-R410M flash.",
      "category": "Other",
      "architectures": [
        "samd"
      ],
      "install_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SBU",
      "source_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SBU\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SBU\\examples\\SBU_LoadBinary",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SBU\\examples\\SBU_LoadLZSS",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SBU\\examples\\SBU_Usage"
      ],
      "provides_includes": [
        "SBU.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "HID",
      "author": "Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Module for PluggableUSB infrastructure. Exposes an API for devices like Keyboards, Mice and Gamepads",
      "website": "http://www.arduino.cc/en/Reference/HID",
      "category": "Other",
      "architectures": [
        "samd"
      ],
      "install_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\HID",
      "source_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\HID",
      "container_platform": "arduino:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "provides_includes": [
        "HID.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "SSU",
      "author": "Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Update the sketch on your Arduino MKRGSM1400 from SARAU201 flash.",
      "website": "https://www.arduino.cc/en/Reference/SSU",
      "category": "Other",
      "architectures": [
        "samd"
      ],
      "install_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SSU",
      "source_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SSU\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SSU\\examples\\SSU_HttpOta",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SSU\\examples\\SSU_LZSS_HttpOta",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SSU\\examples\\SSU_LoadBinary",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SSU\\examples\\SSU_Usage"
      ],
      "provides_includes": [
        "SSU.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "SPI",
      "author": "Jonathan BAUDIN, Thibaut VIARD, Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Enables the communication with devices that use the Serial Peripheral Interface (SPI) Bus. Specific implementation for Arduino Zero.",
      "website": "http://www.arduino.cc/en/Reference/SPI",
      "category": "Communication",
      "architectures": [
        "samd"
      ],
      "install_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SPI",
      "source_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SPI",
      "container_platform": "arduino:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SPI\\examples\\BarometricPressureSensor",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SPI\\examples\\DigitalPotControl"
      ],
      "provides_includes": [
        "SPI.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "SAMD_AnalogCorrection",
      "author": "Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Sets and enables the digital correction logic of the SAMD ADC.",
      "paragraph": "Useful to correct the values returned by the ADC.",
      "category": "Other",
      "architectures": [
        "samd"
      ],
      "install_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SAMD_AnalogCorrection",
      "source_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SAMD_AnalogCorrection\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SAMD_AnalogCorrection\\examples\\CorrectADCResponse"
      ],
      "provides_includes": [
        "SAMD_AnalogCorrection.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "USBHost",
      "author": "Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Allows the communication with USB peripherals like mice, keyboards, and thumbdrives. For Arduino MKR1000 and Zero.",
      "paragraph": "The USBHost library allows the board to appear as a USB host, enabling it to communicate with peripherals like USB mice and keyboards. USBHost does not support devices that are connected through USB hubs. This includes some keyboards that have an internal hub.",
      "website": "https://www.arduino.cc/en/Reference/USBHost",
      "category": "Other",
      "architectures": [
        "samd"
      ],
      "install_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\USBHost",
      "source_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\USBHost\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\USBHost\\examples\\ADKTerminalTest",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\USBHost\\examples\\KeyboardController",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\USBHost\\examples\\MouseController",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\USBHost\\examples\\USB_desc"
      ],
      "provides_includes": [
        "KeyboardController.h",
        "MouseController.h",
        "Usb.h",
        "UsbCore.h",
        "address.h",
        "adk.h",
        "confdescparser.h",
        "hexdump.h",
        "hid.h",
        "hidboot.h",
        "hidescriptorparser.h",
        "hiduniversal.h",
        "hidusagestr.h",
        "macros.h",
        "message.h",
        "parsetools.h",
        "printhex.h",
        "sink_parser.h",
        "usb_ch9.h",
        "usbhub.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    },
    "release": {
      "author": "Arduino",
      "version": "1.0.5",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Allows the communication with USB peripherals like mice, keyboards, and thumbdrives.",
      "paragraph": "The USBHost library allows an Arduino Due board to appear as a USB host, enabling it to communicate with peripherals like USB mice and keyboards. USBHost does not support devices that are connected through USB hubs. This includes some keyboards that have an internal hub.",
      "website": "https://www.arduino.cc/en/Reference/USBHost",
      "category": "Device Control",
      "architectures": [
        "sam"
      ],
      "types": [
        "Arduino"
      ]
    }
  },
  {
    "library": {
      "name": "SD",
      "author": "Arduino, SparkFun",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Enables reading and writing on SD cards.",
      "paragraph": "Once an SD memory card is connected to the SPI interface of the Arduino or Genuino board you can create files and read/write on them. You can also move through directories on the SD card.",
      "website": "http://www.arduino.cc/en/Reference/SD",
      "category": "Data Storage",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\SD",
      "source_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\SD\\src",
      "version": "1.2.4",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\SD\\examples\\CardInfo",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\SD\\examples\\Datalogger",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\SD\\examples\\DumpFile",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\SD\\examples\\Files",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\SD\\examples\\NonBlockingWrite",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\SD\\examples\\ReadWrite",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\SD\\examples\\listfiles"
      ],
      "provides_includes": [
        "SD.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "Firmata",
      "author": "Firmata Developers",
      "maintainer": "https://github.com/firmata/arduino",
      "sentence": "Enables the communication with computer apps using a standard serial protocol. For all Arduino/Genuino boards.",
      "paragraph": "The Firmata library implements the Firmata protocol for communicating with software on the host computer. This allows you to write custom firmware without having to create your own protocol and objects for the programming environment that you are using.",
      "website": "https://github.com/firmata/arduino",
      "category": "Device Control",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata",
      "source_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata",
      "utility_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata\\utility",
      "version": "2.5.8",
      "license": "Unspecified",
      "location": 1,
      "examples": [
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata\\examples\\AllInputsFirmata",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata\\examples\\AnalogFirmata",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata\\examples\\EchoString",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata\\examples\\OldStandardFirmata",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata\\examples\\ServoFirmata",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata\\examples\\SimpleAnalogFirmata",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata\\examples\\SimpleDigitalFirmata",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata\\examples\\StandardFirmata",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata\\examples\\StandardFirmataBLE",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata\\examples\\StandardFirmataChipKIT",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata\\examples\\StandardFirmataEthernet",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata\\examples\\StandardFirmataPlus",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Firmata\\examples\\StandardFirmataWiFi"
      ],
      "provides_includes": [
        "Boards.h",
        "Firmata.h",
        "FirmataConstants.h",
        "FirmataDefines.h",
        "FirmataMarshaller.h",
        "FirmataParser.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    },
    "release": {
      "author": "Firmata Developers",
      "version": "2.5.9",
      "maintainer": "Firmata team",
      "sentence": "Enables the communication with computer apps using a standard serial protocol. For all Arduino/Genuino boards.",
      "paragraph": "The Firmata library implements the Firmata protocol for communicating with software on the host computer. This allows you to write custom firmware without having to create your own protocol and objects for the programming environment that you are using.",
      "website": "https://github.com/firmata/arduino",
      "category": "Device Control",
      "architectures": [
        "*"
      ],
      "types": [
        "Arduino"
      ]
    }
  },
  {
    "library": {
      "name": "I2S",
      "author": "Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Enables the communication with devices that use the Inter-IC Sound (I2S) Bus. Specific implementation for Arduino Zero.",
      "website": "http://www.arduino.cc/en/Reference/I2S",
      "category": "Communication",
      "architectures": [
        "samd"
      ],
      "install_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\I2S",
      "source_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\I2S\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\I2S\\examples\\InputSerialPlotter",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\I2S\\examples\\SimpleTone"
      ],
      "provides_includes": [
        "I2S.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "SFU",
      "author": "Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Update the sketch on your board from a Arduino MKRMEM Shield.",
      "paragraph": "Requires a Arduino MKRMEM Shield.",
      "website": "https://www.arduino.cc/en/Reference/SFU",
      "category": "Other",
      "architectures": [
        "samd"
      ],
      "install_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SFU",
      "source_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SFU\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SFU\\examples\\SFU_LoadBinary",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SFU\\examples\\SFU_Usage"
      ],
      "provides_includes": [
        "SFU.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "ArduinoOTA",
      "author": "Arduino,Juraj Andrassy",
      "maintainer": "Juraj Andrassy \u003c[email protected]\u003e",
      "sentence": "Upload sketch over network to Arduino board with WiFi or Ethernet libraries",
      "paragraph": "Based on WiFi101OTA library. Uploads over Ethernet, EthernetENC, WiFi101, WiFiNina, WiFiEspAT to SAMD, nRF5, RP2040, STM32F1, ESP and to classic ATmega with more than 64 kB flash memory.",
      "website": "https://github.com/jandrassy/ArduinoOTA",
      "category": "Other",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\ArduinoOTA",
      "source_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\ArduinoOTA\\src",
      "dot_a_linkage": true,
      "version": "1.0.8",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\ArduinoOTA\\examples\\ATmega_SD",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\ArduinoOTA\\examples\\Advanced\\OTASketchDownload",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\ArduinoOTA\\examples\\Advanced\\OTASketchDownloadWifi",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\ArduinoOTA\\examples\\Advanced\\OTASketchDownload_SD",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\ArduinoOTA\\examples\\OTEthernet",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\ArduinoOTA\\examples\\OTEthernet_SD",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\ArduinoOTA\\examples\\SerialWiFiOTA",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\ArduinoOTA\\examples\\WiFi101_OTA",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\ArduinoOTA\\examples\\WiFi101_SD_OTA"
      ],
      "provides_includes": [
        "ArduinoOTA.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    },
    "release": {
      "author": "Arduino,Juraj Andrassy",
      "version": "1.0.9",
      "maintainer": "Juraj Andrassy \u003c[email protected]\u003e",
      "sentence": "Upload sketch over network to Arduino board with WiFi or Ethernet libraries",
      "paragraph": "Based on WiFi101OTA library. Uploads over Ethernet, EthernetENC, WiFi101, WiFiNina, WiFiEspAT to SAMD, nRF5, RP2040, STM32F, ESP and to classic ATmega with more than 64 kB flash memory.",
      "website": "https://github.com/jandrassy/ArduinoOTA",
      "category": "Other",
      "architectures": [
        "*"
      ],
      "types": [
        "Contributed"
      ]
    }
  },
  {
    "library": {
      "name": "Servo",
      "author": "Michael Margolis, Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Allows Arduino boards to control a variety of servo motors.",
      "paragraph": "This library can control a great number of servos.\u003cbr /\u003eIt makes careful use of timers: the library can control 12 servos using only 1 timer.\u003cbr /\u003eOn the Arduino Due you can control up to 60 servos.",
      "website": "https://www.arduino.cc/reference/en/libraries/servo/",
      "category": "Device Control",
      "architectures": [
        "avr",
        "megaavr",
        "sam",
        "samd",
        "nrf52",
        "stm32f4",
        "mbed",
        "mbed_nano",
        "mbed_portenta",
        "mbed_rp2040"
      ],
      "install_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Servo",
      "source_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Servo\\src",
      "version": "1.1.8",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Servo\\examples\\Knob",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Servo\\examples\\Sweep"
      ],
      "provides_includes": [
        "Servo.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    },
    "release": {
      "author": "Michael Margolis, Arduino",
      "version": "1.2.0",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Allows Arduino boards to control a variety of servo motors.",
      "paragraph": "This library can control a great number of servos.\u003cbr /\u003eIt makes careful use of timers: the library can control 12 servos using only 1 timer.\u003cbr /\u003eOn the Arduino Due you can control up to 60 servos.",
      "website": "https://www.arduino.cc/reference/en/libraries/servo/",
      "category": "Device Control",
      "architectures": [
        "avr",
        "megaavr",
        "sam",
        "samd",
        "nrf52",
        "stm32f4",
        "mbed",
        "mbed_nano",
        "mbed_portenta",
        "mbed_rp2040",
        "renesas"
      ],
      "types": [
        "Arduino"
      ]
    }
  },
  {
    "library": {
      "name": "Mouse",
      "author": "Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Allows an Arduino/Genuino board with USB capabilites to act as a Mouse.",
      "paragraph": "This library plugs on the HID library. Can be used with or without other HID-based libraries (Keyboard, Gamepad etc)",
      "website": "http://www.arduino.cc/en/Reference/Mouse",
      "category": "Device Control",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Mouse",
      "source_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Mouse\\src",
      "version": "1.0.1",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "provides_includes": [
        "Mouse.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "Keyboard",
      "author": "Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Allows an Arduino board with USB capabilities to act as a Keyboard.",
      "paragraph": "This library plugs on the HID library. It can be used with or without other HID-based libraries (Mouse, Gamepad etc)",
      "website": "https://www.arduino.cc/reference/en/language/functions/usb/keyboard/",
      "category": "Device Control",
      "architectures": [
        "avr",
        "samd",
        "sam"
      ],
      "install_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Keyboard",
      "source_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Keyboard\\src",
      "version": "1.0.4",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Keyboard\\examples\\Serial"
      ],
      "provides_includes": [
        "Keyboard.h",
        "KeyboardLayout.h",
        "Keyboard_da_DK.h",
        "Keyboard_de_DE.h",
        "Keyboard_es_ES.h",
        "Keyboard_fr_FR.h",
        "Keyboard_it_IT.h",
        "Keyboard_sv_SE.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "WiFi101",
      "author": "Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Network driver for ATMEL WINC1500 module (used on Arduino/Genuino Wifi Shield 101 and MKR1000 boards)",
      "paragraph": "This library implements a network driver for devices based on the ATMEL WINC1500 wifi module",
      "website": "http://www.arduino.cc/en/Reference/WiFi101",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101",
      "source_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\src",
      "version": "0.16.1",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\AP_SimpleWebServer",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\CheckWifi101FirmwareVersion",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\ConnectNoEncryption",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\ConnectWithWEP",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\ConnectWithWPA",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\FirmwareUpdater",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\MDNS_WiFiWebServer",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\Provisioning_WiFiWebServer",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\ScanNetworks",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\ScanNetworksAdvanced",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\SimpleWebServerWiFi",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\WiFiChatServer",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\WiFiPing",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\WiFiSSLClient",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\WiFiUdpNtpClient",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\WiFiUdpSendReceiveString",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\WiFiWebClient",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\WiFiWebClientRepeating",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101\\examples\\WiFiWebServer"
      ],
      "provides_includes": [
        "WiFi101.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "Arduino_BuiltIn",
      "author": "Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Shell Arduino library to provide the standard built-in libraries",
      "paragraph": "The sole purpose of this library is to install the standard Arduino libraries which are typically included with the Arduino IDE.",
      "website": "https://github.com/arduino-libraries/Arduino_BuiltIn",
      "category": "Other",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Arduino_BuiltIn",
      "source_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Arduino_BuiltIn\\src",
      "version": "1.0.0",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "provides_includes": [
        "Arduino_BuiltIn.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "Stepper",
      "author": "Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Allows Arduino boards to control a variety of stepper motors.",
      "paragraph": "This library allows you to control unipolar or bipolar stepper motors. To use it you will need a stepper motor, and the appropriate hardware to control it.",
      "website": "http://www.arduino.cc/en/Reference/Stepper",
      "category": "Device Control",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Stepper",
      "source_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Stepper\\src",
      "version": "1.1.3",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Stepper\\examples\\MotorKnob",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Stepper\\examples\\stepper_oneRevolution",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Stepper\\examples\\stepper_oneStepAtATime",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Stepper\\examples\\stepper_speedControl"
      ],
      "provides_includes": [
        "Stepper.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "SNU",
      "author": "Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Update the sketch on your board with NiNa W10 wifi module",
      "paragraph": "Requires a board with NiNa W10 module onboard",
      "website": "http://www.arduino.cc/en/Reference/SNU",
      "category": "Other",
      "architectures": [
        "megaAVR",
        "samd"
      ],
      "install_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SNU",
      "source_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SNU\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0.2",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SNU\\examples\\Usage"
      ],
      "provides_includes": [
        "SNU.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "Ethernet",
      "author": "Various (see AUTHORS file for details)",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Enables network connection (local and Internet) using the Arduino Ethernet Board or Shield.",
      "paragraph": "With this library you can use the Arduino Ethernet (shield or board) to connect to Internet. The library provides both client and server functionalities. The library permits you to connect to a local network also with DHCP and to resolve DNS.",
      "website": "https://www.arduino.cc/en/Reference/Ethernet",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Ethernet",
      "source_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Ethernet\\src",
      "version": "2.0.1",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Ethernet\\examples\\AdvancedChatServer",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Ethernet\\examples\\BarometricPressureWebServer",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Ethernet\\examples\\ChatServer",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Ethernet\\examples\\DhcpAddressPrinter",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Ethernet\\examples\\DhcpChatServer",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Ethernet\\examples\\LinkStatus",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Ethernet\\examples\\PagerServer",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Ethernet\\examples\\TelnetClient",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Ethernet\\examples\\UDPSendReceiveString",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Ethernet\\examples\\UdpNtpClient",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Ethernet\\examples\\WebClient",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Ethernet\\examples\\WebClientRepeating",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\Ethernet\\examples\\WebServer"
      ],
      "provides_includes": [
        "Ethernet.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    },
    "release": {
      "author": "Various (see AUTHORS file for details)",
      "version": "2.0.2",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Enables network connection (local and Internet) using the Arduino Ethernet Board or Shield.",
      "paragraph": "With this library you can use the Arduino Ethernet (shield or board) to connect to Internet. The library provides both client and server functionalities. The library permits you to connect to a local network also with DHCP and to resolve DNS.",
      "website": "https://www.arduino.cc/en/Reference/Ethernet",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "types": [
        "Arduino"
      ]
    }
  },
  {
    "library": {
      "name": "TFT",
      "author": "Arduino, Adafruit",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Allows drawing text, images, and shapes on the Arduino TFT graphical display.",
      "paragraph": "This library is compatible with most of the TFT display based on the ST7735 chipset.",
      "website": "http://www.arduino.cc/en/Reference/TFTLibrary",
      "category": "Display",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\TFT",
      "source_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\TFT\\src",
      "version": "1.0.6",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTBitmapLogo",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTColorPicker",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTDisplayText",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTEtchASketch",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTGraph",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTPong",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTBitmapLogo",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTColorPicker",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTEtchASketch",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTGraph",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTHorizon",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTPong",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTTemp"
      ],
      "provides_includes": [
        "TFT.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "Wire",
      "author": "Jonathan BAUDIN, Thibaut VIARD, Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Allows the communication between devices or sensors connected via Two Wire Interface Bus. Specific implementation for Arduino Zero.",
      "website": "http://www.arduino.cc/en/Reference/Wire",
      "category": "Communication",
      "architectures": [
        "samd"
      ],
      "install_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\Wire",
      "source_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\Wire",
      "container_platform": "arduino:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\Wire\\examples\\SFRRanger_reader",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\Wire\\examples\\digital_potentiometer",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\Wire\\examples\\master_reader",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\Wire\\examples\\master_writer",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\Wire\\examples\\slave_receiver",
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\Wire\\examples\\slave_sender"
      ],
      "provides_includes": [
        "Wire.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "SDU",
      "author": "Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Update the sketch on your board from an SD card",
      "paragraph": "Requires an SD card",
      "website": "http://www.arduino.cc/en/Reference/SDU",
      "category": "Other",
      "architectures": [
        "samd"
      ],
      "install_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SDU",
      "source_dir": "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SDU\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\samd\\1.8.13\\libraries\\SDU\\examples\\Usage"
      ],
      "provides_includes": [
        "SDU.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  },
  {
    "library": {
      "name": "WiFi101OTA",
      "author": "Arduino",
      "maintainer": "Arduino \u003c[email protected]\u003e",
      "sentence": "Update sketches on your board over WiFi",
      "paragraph": "Requires an Arduino/Genuino SAMD board",
      "website": "http://www.arduino.cc/en/Reference/WiFi101OTA",
      "category": "Other",
      "architectures": [
        "samd"
      ],
      "install_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101OTA",
      "source_dir": "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101OTA\\src",
      "version": "1.0.2",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101OTA\\examples\\WiFi101_OTA",
        "C:\\Users\\kittaakos\\Documents\\Arduino\\libraries\\WiFi101OTA\\examples\\WiFi101_SD_OTA"
      ],
      "provides_includes": [
        "InternalStorage.h",
        "OTAStorage.h",
        "SDStorage.h",
        "WiFi101OTA.h"
      ],
      "compatible_with": {
        "arduino:samd:mkrwifi1010": true
      }
    }
  }
]

The above command will list all installed libraries for the Arduino MKR WiFi 1010 board. IDE2 does very similar thing under the hood to build the File > Examples menu structure.

@ben-qnimble
Copy link
Contributor Author

On the machine where it isn't working correctly, when I run that, I get

{
  "error": "Error listing libraries: Unknown FQBN: platform arduino:samd is not installed"
}

If I select arduino:avr:uno instead, which is installed on my setup, I get

On machine with issue
{
    "library": {
      "name": "SPI",
      "author": "Arduino",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Enables the communication with devices that use the Serial Peripheral Interface (SPI) Bus.",
      "paragraph": "SPI is a synchronous serial data protocol used by microcontrollers for communicating with one or more peripheral devices quickly over short distances. It uses three lines common to all devices (MISO, MOSI and SCK) and one specific for each device.",
      "website": "http://www.arduino.cc/en/Reference/SPI",
      "category": "Communication",
      "architectures": [
        "avr"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SPI",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SPI\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SPI\\examples\\BarometricPressureSensor",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SPI\\examples\\DigitalPotControl"
      ],
      "provides_includes": [
        "SPI.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "SoftwareSerial",
      "author": "Arduino",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Enables serial communication on any digital pin.",
      "paragraph": "The SoftwareSerial library has been developed to allow serial communication on any digital pin of the board, using software to replicate the functionality of the hardware UART. It is possible to have multiple software serial ports with speeds up to 115200 bps.",
      "website": "http://www.arduino.cc/en/Reference/SoftwareSerial",
      "category": "Communication",
      "architectures": [
        "avr"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SoftwareSerial",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SoftwareSerial\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SoftwareSerial\\examples\\SoftwareSerialExample",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SoftwareSerial\\examples\\TwoPortReceive"
      ],
      "provides_includes": [
        "SoftwareSerial.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "EEPROM",
      "author": "Arduino, Christopher Andrews",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Enables reading and writing to the permanent board storage.",
      "paragraph": "This library allows to read and write data in a memory type, the EEPROM, that keeps its content also when the board is powered off. The amount of EEPROM available depends on the microcontroller type.",
      "website": "http://www.arduino.cc/en/Reference/EEPROM",
      "category": "Data Storage",
      "architectures": [
        "avr"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\src",
      "container_platform": "arduino:[email protected]",
      "version": "2.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_clear",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_crc",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_get",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_iteration",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_put",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_read",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_update",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_write"
      ],
      "provides_includes": [
        "EEPROM.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "Wire",
      "author": "Arduino",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "This library allows you to communicate with I2C and Two Wire Interface devices.",
      "paragraph": "It allows the communication with I2C devices like temperature sensors, realtime clocks and many others using SDA (Data Line) and SCL (Clock Line).",
      "website": "http://www.arduino.cc/en/Reference/Wire",
      "category": "Communication",
      "architectures": [
        "avr"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\examples\\SFRRanger_reader",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\examples\\digital_potentiometer",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\examples\\i2c_scanner",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\examples\\master_reader",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\examples\\master_writer",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\examples\\slave_receiver",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\examples\\slave_sender"
      ],
      "provides_includes": [
        "Wire.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "HID",
      "author": "Arduino",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Module for PluggableUSB infrastructure. Exposes an API for devices like Keyboards, Mice and Gamepads.",
      "website": "http://www.arduino.cc/en/Reference/HID",
      "category": "Communication",
      "architectures": [
        "avr"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\HID",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\HID\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "provides_includes": [
        "HID.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  }
]

And just for completeness, here's the same output for my target board that has examples that get merged with the custom library examples:

Machine with issue on board with examples (Quarto)
[
  {
    "library": {
      "name": "SD",
      "author": "qNimble Inc.",
      "maintainer": "qNimble Inc.",
      "sentence": "Arduino SD compatibility layer for SdFat.",
      "paragraph": "Fork of PaulStoffregen's SD library to add support for Quarto. To access SD cards, we now use Bill Greiman's SdFat library.  This library just provides a thin wrapper so programs written for Arduino's SD library can use SdFat.  None of the original Arduino SD library code is present in this compatibility library.",
      "website": "https://github.com/qnimble/SD",
      "category": "Data Storage",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SD",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SD\\src",
      "container_platform": "qnimble:[email protected]",
      "version": "2.0.1",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SD\\examples\\BasicReadWriteDelete",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SD\\examples\\UsageAndBenchmark"
      ],
      "provides_includes": [
        "SD.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "SPI",
      "author": "Arduino",
      "maintainer": "qNimble Inc.",
      "sentence": "Enables the communication with devices that use the Serial Peripheral Interface (SPI) Bus.",
      "paragraph": "SPI is a synchronous serial data protocol used by microcontrollers for communicating with one or more peripheral devices quickly over short distances. It uses three lines common to all devices (MISO, MOSI and SCK) and one specific for each device. Fork from Paul Stoffregen's SPI library with minor changes to support the Quarto",
      "website": "http://www.arduino.cc/en/Reference/SPI",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SPI",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SPI",
      "container_platform": "qnimble:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "provides_includes": [
        "SPI.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "Demos",
      "author": "qNimble \[email protected]\u003e",
      "maintainer": "qNimble \[email protected]\u003e",
      "sentence": "Quarto Demos",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\demos",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\demos",
      "container_platform": "qnimble:[email protected]",
      "version": "0.1",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\demos\\examples\\Demo-AnalogFilter",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\demos\\examples\\Demo-LockIn"
      ],
      "provides_includes": [
        "main.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "Testing",
      "author": "qNimble \[email protected]\u003e",
      "maintainer": "qNimble \[email protected]\u003e",
      "sentence": "Examples to test the performance of the Quarto",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\testing",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\testing",
      "container_platform": "qnimble:[email protected]",
      "version": "0.1",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\testing\\examples\\DeviceInfo",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\testing\\examples\\TriggerLatency"
      ],
      "provides_includes": [
        "main.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "Time",
      "author": "Paul Stoffregen",
      "maintainer": "qNimble",
      "sentence": "Timekeeping functionality for Arduino",
      "paragraph": "Date and Time functions, with provisions to synchronize to external time sources like GPS and NTP (Internet).  This library is often used together with TimeAlarms and DS1307RTC.",
      "website": "http://playground.arduino.cc/Code/Time/",
      "category": "Timing",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\Time",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\Time",
      "container_platform": "qnimble:[email protected]",
      "version": "1.6.2",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\Time\\examples\\GetRTC",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\Time\\examples\\SetRTC-to-Now"
      ],
      "provides_includes": [
        "TimeLib.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "Analog Output",
      "author": "qNimble \[email protected]\u003e",
      "maintainer": "qNimble \[email protected]\u003e",
      "sentence": "Basic Example for using the qNimble Quarto to output analog signals.",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\analog_output",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\analog_output",
      "container_platform": "qnimble:[email protected]",
      "version": "0.1",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\analog_output\\examples\\DualChannelDDS",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\analog_output\\examples\\DualChannelDDS_Dynamic",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\analog_output\\examples\\OutputPatternOnTrigger",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\analog_output\\examples\\PreCalculated_DualChannelDDS"
      ],
      "provides_includes": [
        "main.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "SdFat",
      "author": "Bill Greiman \[email protected]\u003e",
      "maintainer": "qNimble Inc.",
      "sentence": "FAT16/FAT32/exFAT file system. Fork from Teensy (Paul Stoffregen) SdFat library (github.com/PaulStoffregen/SdFat)",
      "paragraph": "FAT16/FAT32/exFAT file system.",
      "website": "https://github.com/qnimble/SdFat",
      "category": "Data Storage",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SdFat",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SdFat\\src",
      "container_platform": "qnimble:[email protected]",
      "version": "2.1.2",
      "license": "MIT",
      "location": 2,
      "layout": 1,
      "provides_includes": [
        "BufferedPrint.h",
        "FreeStack.h",
        "MinimumSerial.h",
        "RingBuf.h",
        "SdFat.h",
        "SdFatConfig.h",
        "sdios.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    },
    "release": {
      "author": "Bill Greiman \[email protected]\u003e",
      "version": "2.2.2",
      "maintainer": "Bill Greiman \[email protected]\u003e",
      "sentence": "Provides access to SD memory cards.",
      "paragraph": "The SdFat library supports FAT16, FAT32, and exFAT file systems on Standard SD, SDHC, and SDXC cards.",
      "website": "https://github.com/greiman/SdFat",
      "category": "Data Storage",
      "architectures": [
        "*"
      ],
      "types": [
        "Contributed"
      ]
    }
  },
  {
    "library": {
      "name": "RTClib_min",
      "author": "Adafruit",
      "maintainer": "Adafruit \[email protected]\u003e",
      "sentence": "Minimum fork of Adafruit's fork of Jeelab's fantastic RTC library",
      "paragraph": "Removed support for DS1307, DS3231, PCF8523, PCF8563, just a simple date time library",
      "website": "https://github.com/qnimble/RTClib",
      "category": "Timing",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\RTClib",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\RTClib\\src",
      "container_platform": "qnimble:[email protected]",
      "version": "2.0.2",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "provides_includes": [
        "RTClib.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "qCommand",
      "author": "qNimble Inc.",
      "maintainer": "qNimble Inc.",
      "sentence": "An Arduino library to register string commands and parse them over stream interfaces like a serial port.",
      "website": "https://github.com/qnimble/qCommand",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qCommand",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qCommand\\src",
      "container_platform": "qnimble:[email protected]",
      "version": "0.1.3",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qCommand\\examples\\SimpleUsage"
      ],
      "provides_includes": [
        "qCommand.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "qProtothreads",
      "author": "Ben Artin \[email protected]\u003e,Adam Dunkels, qNimble Inc.",
      "maintainer": "qNimble Inc.",
      "sentence": "A lightweight stackless threads library (fork for Protothreads)",
      "paragraph": "qProtothreads provide linear code execution for event-driven systems. qProtothreads provide sequential flow of control without complex state machines or full multi-threading. qProtothreads is a fork of Protothreads (https://gitlab.com/airbornemint/arduino-Protothreads)",
      "website": "https://github.com/qnimble/arduino-qProtothreads",
      "category": "Other",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qProtothreads",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qProtothreads\\src",
      "container_platform": "qnimble:[email protected]",
      "version": "1.5.1",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qProtothreads\\examples\\Blink",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qProtothreads\\examples\\ProcessData",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qProtothreads\\examples\\ProcessDataWithRestart",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qProtothreads\\examples\\ProcessDataWithSpawn"
      ],
      "provides_includes": [
        "protothreads.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "Lock In",
      "author": "qNimble \[email protected]\u003e",
      "maintainer": "qNimble \[email protected]\u003e",
      "sentence": "Basic Examples for using the qNimble Quarto as a Lock-In Amplifier.",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\lock_in",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\lock_in",
      "container_platform": "qnimble:[email protected]",
      "version": "0.1",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\lock_in\\examples\\Basic_LockIn"
      ],
      "provides_includes": [
        "main.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "Servo",
      "author": "qNimble \[email protected]\u003e",
      "maintainer": "qNimble \[email protected]\u003e",
      "sentence": "Basic Example for using the qNimble Quarto as a servo.",
      "paragraph": "Example sketches for servoing with the qNimble Quarto.",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\servo",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\servo",
      "container_platform": "qnimble:[email protected]",
      "version": "0.1",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\servo\\examples\\PID_Servo_1CH",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\servo\\examples\\PID_Servo_2CH",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\servo\\examples\\PID_Servo_4CH",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\servo\\examples\\PID_Servo_FullFeature",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\servo\\examples\\PID_Servo_IntegratorHold"
      ],
      "provides_includes": [
        "main.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    },
    "release": {
      "author": "Michael Margolis, Arduino",
      "version": "1.2.1",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Allows Arduino boards to control a variety of servo motors.",
      "paragraph": "This library can control a great number of servos.\u003cbr /\u003eIt makes careful use of timers: the library can control 12 servos using only 1 timer.\u003cbr /\u003eOn the Arduino Due you can control up to 60 servos.",
      "website": "https://www.arduino.cc/reference/en/libraries/servo/",
      "category": "Device Control",
      "architectures": [
        "avr",
        "megaavr",
        "sam",
        "samd",
        "nrf52",
        "stm32f4",
        "mbed",
        "mbed_nano",
        "mbed_portenta",
        "mbed_rp2040",
        "renesas",
        "renesas_portenta",
        "renesas_uno"
      ],
      "types": [
        "Arduino"
      ]
    }
  },
  {
    "library": {
      "name": "Clocks",
      "author": "qNimble \[email protected]\u003e",
      "maintainer": "qNimble \[email protected]\u003e",
      "sentence": "Quarto Clock Examples",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\clocks",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\clocks",
      "container_platform": "qnimble:[email protected]",
      "version": "0.1",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\clocks\\examples\\OnDemandADCTrigger",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\clocks\\examples\\UseExternalADCClock",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\clocks\\examples\\UseExternalClock"
      ],
      "provides_includes": [
        "main.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  }
]

I'll post the same results on my other machine (without the issue) in a second comment.

For the record, this output list looks right to me. There's no "LiquidCrystal" or "Ethernet" examples that show up under "Examples for Quarto" in the IDE.

@ben-qnimble
Copy link
Contributor Author

And here's the same output on the Windows machine that is working correctly:

AVR Uno (working right>>

[
  {
    "library": {
      "name": "Wire",
      "author": "Arduino",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "This library allows you to communicate with I2C and Two Wire Interface devices.",
      "paragraph": "It allows the communication with I2C devices like temperature sensors, realtime clocks and many others using SDA (Data Line) and SCL (Clock Line).",
      "website": "http://www.arduino.cc/en/Reference/Wire",
      "category": "Communication",
      "architectures": [
        "avr"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\examples\\SFRRanger_reader",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\examples\\digital_potentiometer",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\examples\\i2c_scanner",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\examples\\master_reader",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\examples\\master_writer",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\examples\\slave_receiver",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\Wire\\examples\\slave_sender"
      ],
      "provides_includes": [
        "Wire.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "HID",
      "author": "Arduino",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Module for PluggableUSB infrastructure. Exposes an API for devices like Keyboards, Mice and Gamepads.",
      "website": "http://www.arduino.cc/en/Reference/HID",
      "category": "Communication",
      "architectures": [
        "avr"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\HID",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\HID\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "provides_includes": [
        "HID.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "Arduino_BuiltIn",
      "author": "Arduino",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Shell Arduino library to provide the standard built-in libraries",
      "paragraph": "The sole purpose of this library is to install the standard Arduino libraries which are typically included with the Arduino IDE.",
      "website": "https://github.com/arduino-libraries/Arduino_BuiltIn",
      "category": "Other",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Arduino_BuiltIn",
      "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Arduino_BuiltIn\\src",
      "version": "1.0.0",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "provides_includes": [
        "Arduino_BuiltIn.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "EEPROM",
      "author": "Arduino, Christopher Andrews",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Enables reading and writing to the permanent board storage.",
      "paragraph": "This library allows to read and write data in a memory type, the EEPROM, that keeps its content also when the board is powered off. The amount of EEPROM available depends on the microcontroller type.",
      "website": "http://www.arduino.cc/en/Reference/EEPROM",
      "category": "Data Storage",
      "architectures": [
        "avr"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\src",
      "container_platform": "arduino:[email protected]",
      "version": "2.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_clear",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_crc",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_get",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_iteration",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_put",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_read",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_update",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\EEPROM\\examples\\eeprom_write"
      ],
      "provides_includes": [
        "EEPROM.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "LiquidCrystal",
      "author": "Arduino, Adafruit",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Allows communication with alphanumerical liquid crystal displays (LCDs).",
      "paragraph": "This library allows an Arduino/Genuino board to control LiquidCrystal displays (LCDs) based on the Hitachi HD44780 (or a compatible) chipset, which is found on most text-based LCDs. The library works with in either 4 or 8 bit mode (i.e. using 4 or 8 data lines in addition to the rs, enable, and, optionally, the rw control lines).",
      "website": "http://www.arduino.cc/en/Reference/LiquidCrystal",
      "category": "Display",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal",
      "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\src",
      "version": "1.0.7",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Autoscroll",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Blink",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Cursor",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\CustomCharacter",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Display",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\HelloWorld",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Scroll",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\SerialDisplay",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\TextDirection",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\setCursor"
      ],
      "provides_includes": [
        "LiquidCrystal.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "Mouse",
      "author": "Arduino",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Allows an Arduino/Genuino board with USB capabilites to act as a Mouse.",
      "paragraph": "This library plugs on the HID library. Can be used with or without other HID-based libraries (Keyboard, Gamepad etc)",
      "website": "http://www.arduino.cc/en/Reference/Mouse",
      "category": "Device Control",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Mouse",
      "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Mouse\\src",
      "version": "1.0.1",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "provides_includes": [
        "Mouse.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "Stepper",
      "author": "Arduino",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Allows Arduino boards to control a variety of stepper motors.",
      "paragraph": "This library allows you to control unipolar or bipolar stepper motors. To use it you will need a stepper motor, and the appropriate hardware to control it.",
      "website": "http://www.arduino.cc/en/Reference/Stepper",
      "category": "Device Control",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper",
      "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper\\src",
      "version": "1.1.3",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper\\examples\\MotorKnob",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper\\examples\\stepper_oneRevolution",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper\\examples\\stepper_oneStepAtATime",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper\\examples\\stepper_speedControl"
      ],
      "provides_includes": [
        "Stepper.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "USB Host Shield Library 2.0",
      "author": "Oleg Mazurov \[email protected]\u003e, Kristian Sloth Lauszus \[email protected]\u003e, Andrew Kroll \[email protected]\u003e, Alexei Glushchenko \[email protected]\u003e",
      "maintainer": "Kristian Sloth Lauszus \[email protected]\u003e",
      "sentence": "Revision 2.0 of MAX3421E-based USB Host Shield Library.",
      "paragraph": "Supports HID devices, FTDI, ADK, ACM, PL2303, Bluetooth HID devices, SPP communication and mass storage devices. Furthermore it supports PS3, PS4, PS5, PS Buzz, Wii, Switch Pro and Xbox controllers.",
      "website": "https://github.com/felis/USB_Host_Shield_2.0",
      "category": "Other",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0",
      "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0",
      "version": "1.6.2",
      "license": "Unspecified",
      "location": 1,
      "examples": [
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\BTHID",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\PS3BT",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\PS3Multi",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\PS3SPP",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\PS4BT",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\PS5BT",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\SPP",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\SPPMulti",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\SwitchProBT",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\Wii",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\WiiBalanceBoard",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\WiiIRCamera",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\WiiMulti",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\WiiUProController",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\GPIO\\Blink",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\GPIO\\Blink_LowLevel",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\GPIO\\Input",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\SRWS1",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHIDBootKbd",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHIDBootKbdAndMouse",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHIDBootMouse",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHIDJoystick",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHIDMultimediaKbd",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHID_desc",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\le3dp",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\scale",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\t16km",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\MiniDSP",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\PS3USB",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\PS4USB",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\PS5USB",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\PSBuzz",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\SwitchProUSB",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USBH_MIDI\\USBH_MIDI_dump",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USBH_MIDI\\USB_MIDI_converter",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USBH_MIDI\\USB_MIDI_converter_multi",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USBH_MIDI\\bidirectional_converter",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USBH_MIDI\\eVY1_sample",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USB_desc",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Xbox\\XBOXOLD",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Xbox\\XBOXONE",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Xbox\\XBOXONESBT",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Xbox\\XBOXRECV",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Xbox\\XBOXUSB",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\acm\\acm_terminal",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\adk\\ArduinoBlinkLED",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\adk\\adk_barcode",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\adk\\demokit_20",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\adk\\term_test",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\adk\\term_time",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\board_qc",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\cdc_XR21B1411\\XR_terminal",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\ftdi\\USBFTDILoopback",

        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\hub_demo",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\max_LCD",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\pl2303\\pl2303_gprs_terminal",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\pl2303\\pl2303_gps",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\pl2303\\pl2303_tinygps",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\pl2303\\pl2303_xbee_terminal",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\testusbhostFAT"
      ],
      "provides_includes": [
        "AMBX.h",
        "AMBXEnums.h",
        "BTD.h",
        "BTHID.h",
        "MiniDSP.h",
        "PS3BT.h",
        "PS3Enums.h",
        "PS3USB.h",
        "PS4BT.h",
        "PS4Parser.h",
        "PS4USB.h",
        "PS5BT.h",
        "PS5Parser.h",
        "PS5Trigger.h",
        "PS5USB.h",
        "PSBuzz.h",
        "SPP.h",
        "SwitchProBT.h",
        "SwitchProParser.h",
        "SwitchProUSB.h",
        "UHS2_gpio.h",
        "Usb.h",
        "UsbCore.h",
        "Wii.h",
        "XBOXOLD.h",
        "XBOXONE.h",
        "XBOXONESBT.h",
        "XBOXONESParser.h",
        "XBOXRECV.h",
        "XBOXUSB.h",
        "address.h",
        "adk.h",
        "avrpins.h",
        "cdc_XR21B1411.h",
        "cdcacm.h",
        "cdcftdi.h",
        "cdcprolific.h",
        "confdescparser.h",
        "controllerEnums.h",
        "hexdump.h",
        "hidboot.h",
        "hidcomposite.h",
        "hidescriptorparser.h",
        "hiduniversal.h",
        "hidusagestr.h",
        "macros.h",
        "masstorage.h",
        "max3421e.h",
        "max_LCD.h",
        "message.h",
        "parsetools.h",
        "printhex.h",
        "settings.h",
        "sink_parser.h",
        "usb_ch9.h",
        "usbh_midi.h",
        "usbhid.h",
        "usbhost.h",
        "usbhub.h",
        "version_helper.h",
        "xboxEnums.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "Ethernet",
      "author": "Various (see AUTHORS file for details)",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Enables network connection (local and Internet) using the Arduino Ethernet Board or Shield.",
      "paragraph": "With this library you can use the Arduino Ethernet (shield or board) to connect to Internet. The library provides both client and server functionalities. The library permits you to connect to a local network also with DHCP and to resolve DNS.",
      "website": "https://www.arduino.cc/en/Reference/Ethernet",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet",
      "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\src",
      "version": "2.0.2",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\AdvancedChatServer",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\BarometricPressureWebServer",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\ChatServer",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\DhcpAddressPrinter",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\DhcpChatServer",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\LinkStatus",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\PagerServer",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\TelnetClient",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\UDPSendReceiveString",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\UdpNtpClient",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\WebClient",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\WebClientRepeating",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\WebServer"
      ],
      "provides_includes": [
        "Ethernet.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "Keyboard",
      "author": "Arduino",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Allows an Arduino board with USB capabilities to act as a Keyboard.",
      "paragraph": "This library plugs on the HID library. It can be used with or without other HID-based libraries (Mouse, Gamepad etc)",
      "website": "https://www.arduino.cc/reference/en/language/functions/usb/keyboard/",
      "category": "Device Control",
      "architectures": [
        "avr",
        "samd",
        "sam"
      ],
      "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Keyboard",
      "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Keyboard\\src",
      "version": "1.0.4",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Keyboard\\examples\\Serial"
      ],
      "provides_includes": [
        "Keyboard.h",
        "KeyboardLayout.h",
        "Keyboard_da_DK.h",
        "Keyboard_de_DE.h",
        "Keyboard_es_ES.h",
        "Keyboard_fr_FR.h",
        "Keyboard_it_IT.h",
        "Keyboard_sv_SE.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "SPI",
      "author": "Arduino",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Enables the communication with devices that use the Serial Peripheral Interface (SPI) Bus.",
      "paragraph": "SPI is a synchronous serial data protocol used by microcontrollers for communicating with one or more peripheral devices quickly over short distances. It uses three lines common to all devices (MISO, MOSI and SCK) and one specific for each device.",
      "website": "http://www.arduino.cc/en/Reference/SPI",
      "category": "Communication",
      "architectures": [
        "avr"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SPI",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SPI\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SPI\\examples\\BarometricPressureSensor",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SPI\\examples\\DigitalPotControl"
      ],
      "provides_includes": [
        "SPI.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "SoftwareSerial",
      "author": "Arduino",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Enables serial communication on any digital pin.",
      "paragraph": "The SoftwareSerial library has been developed to allow serial communication on any digital pin of the board, using software to replicate the functionality of the hardware UART. It is possible to have multiple software serial ports with speeds up to 115200 bps.",
      "website": "http://www.arduino.cc/en/Reference/SoftwareSerial",
      "category": "Communication",
      "architectures": [
        "avr"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SoftwareSerial",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SoftwareSerial\\src",
      "container_platform": "arduino:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SoftwareSerial\\examples\\SoftwareSerialExample",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SoftwareSerial\\examples\\TwoPortReceive"
      ],
      "provides_includes": [
        "SoftwareSerial.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  },
  {
    "library": {
      "name": "TFT",
      "author": "Arduino, Adafruit",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Allows drawing text, images, and shapes on the Arduino TFT graphical display.",
      "paragraph": "This library is compatible with most of the TFT display based on the ST7735 chipset.",
      "website": "http://www.arduino.cc/en/Reference/TFTLibrary",
      "category": "Display",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT",
      "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\src",
      "version": "1.0.6",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTBitmapLogo",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTColorPicker",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTDisplayText",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTEtchASketch",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTGraph",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTPong",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTBitmapLogo",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTColorPicker",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTEtchASketch",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTGraph",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTHorizon",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTPong",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTTemp"
      ],
      "provides_includes": [
        "TFT.h"
      ],
      "compatible_with": {
        "arduino:avr:uno": true
      }
    }
  }
]

Quarto (working right>>

[
  {
    "library": {
      "name": "Demos",
      "author": "qNimble \[email protected]\u003e",
      "maintainer": "qNimble \[email protected]\u003e",
      "sentence": "Quarto Demos",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\demos",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\demos",
      "container_platform": "qnimble:[email protected]",
      "version": "0.1",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\demos\\examples\\Demo-AnalogFilter",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\demos\\examples\\Demo-LockIn"
      ],
      "provides_includes": [
        "main.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "Servo",
      "author": "qNimble \[email protected]\u003e",
      "maintainer": "qNimble \[email protected]\u003e",
      "sentence": "Basic Example for using the qNimble Quarto as a servo.",
      "paragraph": "Example sketches for servoing with the qNimble Quarto.",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\servo",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\servo",
      "container_platform": "qnimble:[email protected]",
      "version": "0.1",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\servo\\examples\\PID_Servo_1CH",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\servo\\examples\\PID_Servo_2CH",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\servo\\examples\\PID_Servo_4CH",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\servo\\examples\\PID_Servo_FullFeature",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\servo\\examples\\PID_Servo_IntegratorHold"
      ],
      "provides_includes": [
        "main.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    },
    "release": {
      "author": "Michael Margolis, Arduino",
      "version": "1.2.1",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Allows Arduino boards to control a variety of servo motors.",
      "paragraph": "This library can control a great number of servos.\u003cbr /\u003eIt makes careful use of timers: the library can control 12 servos using only 1 timer.\u003cbr /\u003eOn the Arduino Due you can control up to 60 servos.",

      "website": "https://www.arduino.cc/reference/en/libraries/servo/",
      "category": "Device Control",
      "architectures": [
        "avr",
        "megaavr",
        "sam",
        "samd",
        "nrf52",
        "stm32f4",
        "mbed",
        "mbed_nano",
        "mbed_portenta",
        "mbed_rp2040",
        "renesas",
        "renesas_portenta",
        "renesas_uno"
      ],
      "types": [
        "Arduino"
      ]
    }
  },
  {
    "library": {
      "name": "qCommand",
      "author": "qNimble Inc.",
      "maintainer": "qNimble Inc.",
      "sentence": "An Arduino library to register string commands and parse them over stream interfaces like a serial port.",
      "website": "https://github.com/qnimble/qCommand",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qCommand",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qCommand\\src",
      "container_platform": "qnimble:[email protected]",
      "version": "0.1.3",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qCommand\\examples\\SimpleUsage"
      ],
      "provides_includes": [
        "qCommand.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "Ethernet",
      "author": "Various (see AUTHORS file for details)",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Enables network connection (local and Internet) using the Arduino Ethernet Board or Shield.",
      "paragraph": "With this library you can use the Arduino Ethernet (shield or board) to connect to Internet. The library provides both client and server functionalities. The library permits you to connect to a local network also with DHCP and to resolve DNS.",
      "website": "https://www.arduino.cc/en/Reference/Ethernet",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet",
      "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\src",
      "version": "2.0.2",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\AdvancedChatServer",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\BarometricPressureWebServer",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\ChatServer",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\DhcpAddressPrinter",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\DhcpChatServer",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\LinkStatus",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\PagerServer",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\TelnetClient",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\UDPSendReceiveString",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\UdpNtpClient",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\WebClient",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\WebClientRepeating",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\WebServer"
      ],
      "provides_includes": [
        "Ethernet.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "Clocks",
      "author": "qNimble \[email protected]\u003e",
      "maintainer": "qNimble \[email protected]\u003e",
      "sentence": "Quarto Clock Examples",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\clocks",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\clocks",
      "container_platform": "qnimble:[email protected]",
      "version": "0.1",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\clocks\\examples\\OnDemandADCTrigger",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\clocks\\examples\\UseExternalADCClock",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\clocks\\examples\\UseExternalClock"
      ],
      "provides_includes": [
        "main.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "RTClib_min",
      "author": "Adafruit",
      "maintainer": "Adafruit \[email protected]\u003e",
      "sentence": "Minimum fork of Adafruit's fork of Jeelab's fantastic RTC library",
      "paragraph": "Removed support for DS1307, DS3231, PCF8523, PCF8563, just a simple date time library",
      "website": "https://github.com/qnimble/RTClib",
      "category": "Timing",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\RTClib",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\RTClib\\src",
      "container_platform": "qnimble:[email protected]",
      "version": "2.0.2",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "provides_includes": [
        "RTClib.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "SdFat",
      "author": "Bill Greiman \[email protected]\u003e",
      "maintainer": "qNimble Inc.",
      "sentence": "FAT16/FAT32/exFAT file system. Fork from Teensy (Paul Stoffregen) SdFat library (github.com/PaulStoffregen/SdFat)",
      "paragraph": "FAT16/FAT32/exFAT file system.",
      "website": "https://github.com/qnimble/SdFat",
      "category": "Data Storage",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SdFat",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SdFat\\src",
      "container_platform": "qnimble:[email protected]",
      "version": "2.1.2",
      "license": "MIT",
      "location": 2,
      "layout": 1,
      "provides_includes": [
        "BufferedPrint.h",
        "FreeStack.h",
        "MinimumSerial.h",
        "RingBuf.h",
        "SdFat.h",
        "SdFatConfig.h",
        "sdios.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    },
    "release": {
      "author": "Bill Greiman \[email protected]\u003e",
      "version": "2.2.2",
      "maintainer": "Bill Greiman \[email protected]\u003e",
      "sentence": "Provides access to SD memory cards.",
      "paragraph": "The SdFat library supports FAT16, FAT32, and exFAT file systems on Standard SD, SDHC, and SDXC cards.",
      "website": "https://github.com/greiman/SdFat",
      "category": "Data Storage",
      "architectures": [
        "*"
      ],
      "types": [
        "Contributed"
      ]
    }
  },
  {
    "library": {
      "name": "Analog Output",
      "author": "qNimble \[email protected]\u003e",
      "maintainer": "qNimble \[email protected]\u003e",
      "sentence": "Basic Example for using the qNimble Quarto to output analog signals.",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\analog_output",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\analog_output",
      "container_platform": "qnimble:[email protected]",
      "version": "0.1",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\analog_output\\examples\\DualChannelDDS",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\analog_output\\examples\\DualChannelDDS_Dynamic",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\analog_output\\examples\\OutputPatternOnTrigger",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\analog_output\\examples\\PreCalculated_DualChannelDDS"
      ],
      "provides_includes": [
        "main.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "Arduino_BuiltIn",
      "author": "Arduino",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Shell Arduino library to provide the standard built-in libraries",
      "paragraph": "The sole purpose of this library is to install the standard Arduino libraries which are typically included with the Arduino IDE.",
      "website": "https://github.com/arduino-libraries/Arduino_BuiltIn",
      "category": "Other",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Arduino_BuiltIn",
      "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Arduino_BuiltIn\\src",
      "version": "1.0.0",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "provides_includes": [
        "Arduino_BuiltIn.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "Mouse",
      "author": "Arduino",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Allows an Arduino/Genuino board with USB capabilites to act as a Mouse.",
      "paragraph": "This library plugs on the HID library. Can be used with or without other HID-based libraries (Keyboard, Gamepad etc)",
      "website": "http://www.arduino.cc/en/Reference/Mouse",
      "category": "Device Control",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Mouse",
      "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Mouse\\src",
      "version": "1.0.1",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "provides_includes": [
        "Mouse.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "Stepper",
      "author": "Arduino",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Allows Arduino boards to control a variety of stepper motors.",
      "paragraph": "This library allows you to control unipolar or bipolar stepper motors. To use it you will need a stepper motor, and the appropriate hardware to control it.",
      "website": "http://www.arduino.cc/en/Reference/Stepper",
      "category": "Device Control",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper",
      "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper\\src",
      "version": "1.1.3",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper\\examples\\MotorKnob",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper\\examples\\stepper_oneRevolution",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper\\examples\\stepper_oneStepAtATime",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper\\examples\\stepper_speedControl"
      ],
      "provides_includes": [
        "Stepper.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "SD",
      "author": "qNimble Inc.",
      "maintainer": "qNimble Inc.",
      "sentence": "Arduino SD compatibility layer for SdFat.",
      "paragraph": "Fork of PaulStoffregen's SD library to add support for Quarto. To access SD cards, we now use Bill Greiman's SdFat library.  This library just provides a thin wrapper so programs written for Arduino's SD library can use SdFat.  None of the original Arduino SD library code is present in this compatibility library.",
      "website": "https://github.com/qnimble/SD",
      "category": "Data Storage",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SD",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SD\\src",
      "container_platform": "qnimble:[email protected]",
      "version": "2.0.1",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SD\\examples\\BasicReadWriteDelete",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SD\\examples\\UsageAndBenchmark"
      ],
      "provides_includes": [
        "SD.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "TFT",
      "author": "Arduino, Adafruit",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Allows drawing text, images, and shapes on the Arduino TFT graphical display.",
      "paragraph": "This library is compatible with most of the TFT display based on the ST7735 chipset.",
      "website": "http://www.arduino.cc/en/Reference/TFTLibrary",
      "category": "Display",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT",
      "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\src",
      "version": "1.0.6",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTBitmapLogo",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTColorPicker",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTDisplayText",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTEtchASketch",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTGraph",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTPong",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTBitmapLogo",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTColorPicker",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTEtchASketch",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTGraph",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTHorizon",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTPong",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTTemp"
      ],
      "provides_includes": [
        "TFT.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "LiquidCrystal",
      "author": "Arduino, Adafruit",
      "maintainer": "Arduino \[email protected]\u003e",
      "sentence": "Allows communication with alphanumerical liquid crystal displays (LCDs).",
      "paragraph": "This library allows an Arduino/Genuino board to control LiquidCrystal displays (LCDs) based on the Hitachi HD44780 (or a compatible) chipset, which is found on most text-based LCDs. The library works with in either 4 or 8 bit mode (i.e. using 4 or 8 data lines in addition to the rs, enable, and, optionally, the rw control lines).",
      "website": "http://www.arduino.cc/en/Reference/LiquidCrystal",
      "category": "Display",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal",
      "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\src",
      "version": "1.0.7",
      "license": "Unspecified",
      "location": 1,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Autoscroll",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Blink",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Cursor",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\CustomCharacter",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Display",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\HelloWorld",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Scroll",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\SerialDisplay",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\TextDirection",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\setCursor"
      ],
      "provides_includes": [
        "LiquidCrystal.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "USB Host Shield Library 2.0",
      "author": "Oleg Mazurov \[email protected]\u003e, Kristian Sloth Lauszus \[email protected]\u003e, Andrew Kroll \[email protected]\u003e, Alexei Glushchenko \[email protected]\u003e",
      "maintainer": "Kristian Sloth Lauszus \[email protected]\u003e",
      "sentence": "Revision 2.0 of MAX3421E-based USB Host Shield Library.",
      "paragraph": "Supports HID devices, FTDI, ADK, ACM, PL2303, Bluetooth HID devices, SPP communication and mass storage devices. Furthermore it supports PS3, PS4, PS5, PS Buzz, Wii, Switch Pro and Xbox controllers.",
      "website": "https://github.com/felis/USB_Host_Shield_2.0",
      "category": "Other",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0",
      "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0",
      "version": "1.6.2",
      "license": "Unspecified",
      "location": 1,
      "examples": [
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\BTHID",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\PS3BT",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\PS3Multi",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\PS3SPP",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\PS4BT",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\PS5BT",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\SPP",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\SPPMulti",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\SwitchProBT",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\Wii",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\WiiBalanceBoard",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\WiiIRCamera",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\WiiMulti",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\WiiUProController",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\GPIO\\Blink",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\GPIO\\Blink_LowLevel",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\GPIO\\Input",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\SRWS1",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHIDBootKbd",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHIDBootKbdAndMouse",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHIDBootMouse",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHIDJoystick",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHIDMultimediaKbd",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHID_desc",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\le3dp",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\scale",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\t16km",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\MiniDSP",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\PS3USB",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\PS4USB",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\PS5USB",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\PSBuzz",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\SwitchProUSB",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USBH_MIDI\\USBH_MIDI_dump",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USBH_MIDI\\USB_MIDI_converter",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USBH_MIDI\\USB_MIDI_converter_multi",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USBH_MIDI\\bidirectional_converter",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USBH_MIDI\\eVY1_sample",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USB_desc",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Xbox\\XBOXOLD",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Xbox\\XBOXONE",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Xbox\\XBOXONESBT",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Xbox\\XBOXRECV",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Xbox\\XBOXUSB",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\acm\\acm_terminal",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\adk\\ArduinoBlinkLED",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\adk\\adk_barcode",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\adk\\demokit_20",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\adk\\term_test",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\adk\\term_time",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\board_qc",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\cdc_XR21B1411\\XR_terminal",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\ftdi\\USBFTDILoopback",

        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\hub_demo",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\max_LCD",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\pl2303\\pl2303_gprs_terminal",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\pl2303\\pl2303_gps",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\pl2303\\pl2303_tinygps",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\pl2303\\pl2303_xbee_terminal",
        "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\testusbhostFAT"
      ],
      "provides_includes": [
        "AMBX.h",
        "AMBXEnums.h",
        "BTD.h",
        "BTHID.h",
        "MiniDSP.h",
        "PS3BT.h",
        "PS3Enums.h",
        "PS3USB.h",
        "PS4BT.h",
        "PS4Parser.h",
        "PS4USB.h",
        "PS5BT.h",
        "PS5Parser.h",
        "PS5Trigger.h",
        "PS5USB.h",
        "PSBuzz.h",
        "SPP.h",
        "SwitchProBT.h",
        "SwitchProParser.h",
        "SwitchProUSB.h",
        "UHS2_gpio.h",
        "Usb.h",
        "UsbCore.h",
        "Wii.h",
        "XBOXOLD.h",
        "XBOXONE.h",
        "XBOXONESBT.h",
        "XBOXONESParser.h",
        "XBOXRECV.h",
        "XBOXUSB.h",
        "address.h",
        "adk.h",
        "avrpins.h",
        "cdc_XR21B1411.h",
        "cdcacm.h",
        "cdcftdi.h",
        "cdcprolific.h",
        "confdescparser.h",
        "controllerEnums.h",
        "hexdump.h",
        "hidboot.h",
        "hidcomposite.h",
        "hidescriptorparser.h",
        "hiduniversal.h",
        "hidusagestr.h",
        "macros.h",
        "masstorage.h",
        "max3421e.h",
        "max_LCD.h",
        "message.h",
        "parsetools.h",
        "printhex.h",
        "settings.h",
        "sink_parser.h",
        "usb_ch9.h",
        "usbh_midi.h",
        "usbhid.h",
        "usbhost.h",
        "usbhub.h",
        "version_helper.h",
        "xboxEnums.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "Time",
      "author": "Paul Stoffregen",
      "maintainer": "qNimble",
      "sentence": "Timekeeping functionality for Arduino",
      "paragraph": "Date and Time functions, with provisions to synchronize to external time sources like GPS and NTP (Internet).  This library is often used together with TimeAlarms and DS1307RTC.",
      "website": "http://playground.arduino.cc/Code/Time/",
      "category": "Timing",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\Time",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\Time",
      "container_platform": "qnimble:[email protected]",
      "version": "1.6.2",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\Time\\examples\\GetRTC",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\Time\\examples\\SetRTC-to-Now"
      ],
      "provides_includes": [
        "TimeLib.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "SPI",
      "author": "Arduino",
      "maintainer": "qNimble Inc.",
      "sentence": "Enables the communication with devices that use the Serial Peripheral Interface (SPI) Bus.",
      "paragraph": "SPI is a synchronous serial data protocol used by microcontrollers for communicating with one or more peripheral devices quickly over short distances. It uses three lines common to all devices (MISO, MOSI and SCK) and one specific for each device. Fork from Paul Stoffregen's SPI library with minor changes to support the Quarto",
      "website": "http://www.arduino.cc/en/Reference/SPI",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SPI",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SPI",
      "container_platform": "qnimble:[email protected]",
      "version": "1.0",
      "license": "Unspecified",
      "location": 2,
      "provides_includes": [
        "SPI.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "Testing",
      "author": "qNimble \[email protected]\u003e",
      "maintainer": "qNimble \[email protected]\u003e",
      "sentence": "Examples to test the performance of the Quarto",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\testing",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\testing",
      "container_platform": "qnimble:[email protected]",
      "version": "0.1",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\testing\\examples\\DeviceInfo",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\testing\\examples\\TriggerLatency"
      ],
      "provides_includes": [
        "main.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "qProtothreads",
      "author": "Ben Artin \[email protected]\u003e,Adam Dunkels, qNimble Inc.",
      "maintainer": "qNimble Inc.",
      "sentence": "A lightweight stackless threads library (fork for Protothreads)",
      "paragraph": "qProtothreads provide linear code execution for event-driven systems. qProtothreads provide sequential flow of control without complex state machines or full multi-threading. qProtothreads is a fork of Protothreads (https://gitlab.com/airbornemint/arduino-Protothreads)",
      "website": "https://github.com/qnimble/arduino-qProtothreads",
      "category": "Other",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qProtothreads",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qProtothreads\\src",
      "container_platform": "qnimble:[email protected]",
      "version": "1.5.1",
      "license": "Unspecified",
      "location": 2,
      "layout": 1,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qProtothreads\\examples\\Blink",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qProtothreads\\examples\\ProcessData",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qProtothreads\\examples\\ProcessDataWithRestart",
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qProtothreads\\examples\\ProcessDataWithSpawn"
      ],
      "provides_includes": [
        "protothreads.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  },
  {
    "library": {
      "name": "Lock In",
      "author": "qNimble \[email protected]\u003e",
      "maintainer": "qNimble \[email protected]\u003e",
      "sentence": "Basic Examples for using the qNimble Quarto as a Lock-In Amplifier.",
      "category": "Communication",
      "architectures": [
        "*"
      ],
      "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\lock_in",
      "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\lock_in",
      "container_platform": "qnimble:[email protected]",
      "version": "0.1",
      "license": "Unspecified",
      "location": 2,
      "examples": [
        "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\lock_in\\examples\\Basic_LockIn"
      ],
      "provides_includes": [
        "main.h"
      ],
      "compatible_with": {
        "qnimble:imxrt:quarto": true
      }
    }
  }
]

Interestingly, this list includes the libraries for 'Custom Libraries' but they get sorted correctly. Not sure what it make of that, but it is an obvious difference.

@kittaakos
Copy link
Contributor

Machine with issue on board with examples (Quarto)

Quarto (working right>>

I created the diff between the two responses after sorting the object via .library.name:

Click to see the diff

12,14c12,14
<       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\analog_output",
<       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\analog_output",
<       "container_platform": "qnimble:[email protected]",
---
>       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\analog_output",
>       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\analog_output",
>       "container_platform": "qnimble:[email protected]",
19,22c19,22
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\analog_output\\examples\\DualChannelDDS",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\analog_output\\examples\\DualChannelDDS_Dynamic",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\analog_output\\examples\\OutputPatternOnTrigger",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\analog_output\\examples\\PreCalculated_DualChannelDDS"
---
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\analog_output\\examples\\DualChannelDDS",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\analog_output\\examples\\DualChannelDDS_Dynamic",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\analog_output\\examples\\OutputPatternOnTrigger",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\analog_output\\examples\\PreCalculated_DualChannelDDS"
33a34,59
>       "name": "Arduino_BuiltIn",
>       "author": "Arduino",
>       "maintainer": "Arduino <[email protected]>",
>       "sentence": "Shell Arduino library to provide the standard built-in libraries",
>       "paragraph": "The sole purpose of this library is to install the standard Arduino libraries which are typically included with the Arduino IDE.",
>       "website": "https://github.com/arduino-libraries/Arduino_BuiltIn",
>       "category": "Other",
>       "architectures": [
>         "*"
>       ],
>       "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Arduino_BuiltIn",
>       "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Arduino_BuiltIn\\src",
>       "version": "1.0.0",
>       "license": "Unspecified",
>       "location": 1,
>       "layout": 1,
>       "provides_includes": [
>         "Arduino_BuiltIn.h"
>       ],
>       "compatible_with": {
>         "qnimble:imxrt:quarto": true
>       }
>     }
>   },
>   {
>     "library": {
42,44c68,70
<       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\clocks",
<       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\clocks",
<       "container_platform": "qnimble:[email protected]",
---
>       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\clocks",
>       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\clocks",
>       "container_platform": "qnimble:[email protected]",
49,51c75,77
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\clocks\\examples\\OnDemandADCTrigger",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\clocks\\examples\\UseExternalADCClock",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\clocks\\examples\\UseExternalClock"
---
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\clocks\\examples\\OnDemandADCTrigger",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\clocks\\examples\\UseExternalADCClock",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\clocks\\examples\\UseExternalClock"
71,73c97,99
<       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\demos",
<       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\demos",
<       "container_platform": "qnimble:[email protected]",
---
>       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\demos",
>       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\demos",
>       "container_platform": "qnimble:[email protected]",
78,79c104,105
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\demos\\examples\\Demo-AnalogFilter",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\demos\\examples\\Demo-LockIn"
---
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\demos\\examples\\Demo-AnalogFilter",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\demos\\examples\\Demo-LockIn"
82a109,184
>       ],
>       "compatible_with": {
>         "qnimble:imxrt:quarto": true
>       }
>     }
>   },
>   {
>     "library": {
>       "name": "Ethernet",
>       "author": "Various (see AUTHORS file for details)",
>       "maintainer": "Arduino <[email protected]>",
>       "sentence": "Enables network connection (local and Internet) using the Arduino Ethernet Board or Shield.",
>       "paragraph": "With this library you can use the Arduino Ethernet (shield or board) to connect to Internet. The library provides both client and server functionalities. The library permits you to connect to a local network also with DHCP and to resolve DNS.",
>       "website": "https://www.arduino.cc/en/Reference/Ethernet",
>       "category": "Communication",
>       "architectures": [
>         "*"
>       ],
>       "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet",
>       "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\src",
>       "version": "2.0.2",
>       "license": "Unspecified",
>       "location": 1,
>       "layout": 1,
>       "examples": [
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\AdvancedChatServer",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\BarometricPressureWebServer",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\ChatServer",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\DhcpAddressPrinter",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\DhcpChatServer",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\LinkStatus",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\PagerServer",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\TelnetClient",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\UDPSendReceiveString",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\UdpNtpClient",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\WebClient",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\WebClientRepeating",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet\\examples\\WebServer"
>       ],
>       "provides_includes": [
>         "Ethernet.h"
>       ],
>       "compatible_with": {
>         "qnimble:imxrt:quarto": true
>       }
>     }
>   },
>   {
>     "library": {
>       "name": "LiquidCrystal",
>       "author": "Arduino, Adafruit",
>       "maintainer": "Arduino <[email protected]>",
>       "sentence": "Allows communication with alphanumerical liquid crystal displays (LCDs).",
>       "paragraph": "This library allows an Arduino/Genuino board to control LiquidCrystal displays (LCDs) based on the Hitachi HD44780 (or a compatible) chipset, which is found on most text-based LCDs. The library works with in either 4 or 8 bit mode (i.e. using 4 or 8 data lines in addition to the rs, enable, and, optionally, the rw control lines).",
>       "website": "http://www.arduino.cc/en/Reference/LiquidCrystal",
>       "category": "Display",
>       "architectures": [
>         "*"
>       ],
>       "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal",
>       "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\src",
>       "version": "1.0.7",
>       "license": "Unspecified",
>       "location": 1,
>       "layout": 1,
>       "examples": [
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Autoscroll",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Blink",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Cursor",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\CustomCharacter",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Display",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\HelloWorld",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\Scroll",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\SerialDisplay",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\TextDirection",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\LiquidCrystal\\examples\\setCursor"
83a186,188
>       "provides_includes": [
>         "LiquidCrystal.h"
>       ],
99,101c204,206
<       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\lock_in",
<       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\lock_in",
<       "container_platform": "qnimble:[email protected]",
---
>       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\lock_in",
>       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\lock_in",
>       "container_platform": "qnimble:[email protected]",
106c211
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\lock_in\\examples\\Basic_LockIn"
---
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\lock_in\\examples\\Basic_LockIn"
117a223,248
>       "name": "Mouse",
>       "author": "Arduino",
>       "maintainer": "Arduino <[email protected]>",
>       "sentence": "Allows an Arduino/Genuino board with USB capabilites to act as a Mouse.",
>       "paragraph": "This library plugs on the HID library. Can be used with or without other HID-based libraries (Keyboard, Gamepad etc)",
>       "website": "http://www.arduino.cc/en/Reference/Mouse",
>       "category": "Device Control",
>       "architectures": [
>         "*"
>       ],
>       "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Mouse",
>       "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Mouse\\src",
>       "version": "1.0.1",
>       "license": "Unspecified",
>       "location": 1,
>       "layout": 1,
>       "provides_includes": [
>         "Mouse.h"
>       ],
>       "compatible_with": {
>         "qnimble:imxrt:quarto": true
>       }
>     }
>   },
>   {
>     "library": {
127,129c258,260
<       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qCommand",
<       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qCommand\\src",
<       "container_platform": "qnimble:[email protected]",
---
>       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qCommand",
>       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qCommand\\src",
>       "container_platform": "qnimble:[email protected]",
135c266
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qCommand\\examples\\SimpleUsage"
---
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qCommand\\examples\\SimpleUsage"
157,159c288,290
<       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qProtothreads",
<       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qProtothreads\\src",
<       "container_platform": "qnimble:[email protected]",
---
>       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qProtothreads",
>       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qProtothreads\\src",
>       "container_platform": "qnimble:[email protected]",
165,168c296,299
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qProtothreads\\examples\\Blink",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qProtothreads\\examples\\ProcessData",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qProtothreads\\examples\\ProcessDataWithRestart",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\qProtothreads\\examples\\ProcessDataWithSpawn"
---
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qProtothreads\\examples\\Blink",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qProtothreads\\examples\\ProcessData",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qProtothreads\\examples\\ProcessDataWithRestart",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\qProtothreads\\examples\\ProcessDataWithSpawn"
190,192c321,323
<       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\RTClib",
<       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\RTClib\\src",
<       "container_platform": "qnimble:[email protected]",
---
>       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\RTClib",
>       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\RTClib\\src",
>       "container_platform": "qnimble:[email protected]",
217,219c348,350
<       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SD",
<       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SD\\src",
<       "container_platform": "qnimble:[email protected]",
---
>       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SD",
>       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SD\\src",
>       "container_platform": "qnimble:[email protected]",
225,226c356,357
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SD\\examples\\BasicReadWriteDelete",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SD\\examples\\UsageAndBenchmark"
---
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SD\\examples\\BasicReadWriteDelete",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SD\\examples\\UsageAndBenchmark"
248,250c379,381
<       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SdFat",
<       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SdFat\\src",
<       "container_platform": "qnimble:[email protected]",
---
>       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SdFat",
>       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SdFat\\src",
>       "container_platform": "qnimble:[email protected]",
295,297c426,428
<       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\servo",
<       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\servo",
<       "container_platform": "qnimble:[email protected]",
---
>       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\servo",
>       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\servo",
>       "container_platform": "qnimble:[email protected]",
302,306c433,437
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\servo\\examples\\PID_Servo_1CH",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\servo\\examples\\PID_Servo_2CH",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\servo\\examples\\PID_Servo_4CH",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\servo\\examples\\PID_Servo_FullFeature",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\servo\\examples\\PID_Servo_IntegratorHold"
---
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\servo\\examples\\PID_Servo_1CH",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\servo\\examples\\PID_Servo_2CH",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\servo\\examples\\PID_Servo_4CH",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\servo\\examples\\PID_Servo_FullFeature",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\servo\\examples\\PID_Servo_IntegratorHold"
355,357c486,488
<       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SPI",
<       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\SPI",
<       "container_platform": "qnimble:[email protected]",
---
>       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SPI",
>       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\SPI",
>       "container_platform": "qnimble:[email protected]",
370a502,533
>       "name": "Stepper",
>       "author": "Arduino",
>       "maintainer": "Arduino <[email protected]>",
>       "sentence": "Allows Arduino boards to control a variety of stepper motors.",
>       "paragraph": "This library allows you to control unipolar or bipolar stepper motors. To use it you will need a stepper motor, and the appropriate hardware to control it.",
>       "website": "http://www.arduino.cc/en/Reference/Stepper",
>       "category": "Device Control",
>       "architectures": [
>         "*"
>       ],
>       "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper",
>       "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper\\src",
>       "version": "1.1.3",
>       "license": "Unspecified",
>       "location": 1,
>       "layout": 1,
>       "examples": [
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper\\examples\\MotorKnob",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper\\examples\\stepper_oneRevolution",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper\\examples\\stepper_oneStepAtATime",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Stepper\\examples\\stepper_speedControl"
>       ],
>       "provides_includes": [
>         "Stepper.h"
>       ],
>       "compatible_with": {
>         "qnimble:imxrt:quarto": true
>       }
>     }
>   },
>   {
>     "library": {
379,381c542,544
<       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\testing",
<       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\testing",
<       "container_platform": "qnimble:[email protected]",
---
>       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\testing",
>       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\testing",
>       "container_platform": "qnimble:[email protected]",
386,387c549,550
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\testing\\examples\\DeviceInfo",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\testing\\examples\\TriggerLatency"
---
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\testing\\examples\\DeviceInfo",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\testing\\examples\\TriggerLatency"
398a562,602
>       "name": "TFT",
>       "author": "Arduino, Adafruit",
>       "maintainer": "Arduino <[email protected]>",
>       "sentence": "Allows drawing text, images, and shapes on the Arduino TFT graphical display.",
>       "paragraph": "This library is compatible with most of the TFT display based on the ST7735 chipset.",
>       "website": "http://www.arduino.cc/en/Reference/TFTLibrary",
>       "category": "Display",
>       "architectures": [
>         "*"
>       ],
>       "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT",
>       "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\src",
>       "version": "1.0.6",
>       "license": "Unspecified",
>       "location": 1,
>       "layout": 1,
>       "examples": [
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTBitmapLogo",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTColorPicker",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTDisplayText",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTEtchASketch",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTGraph",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Arduino\\TFTPong",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTBitmapLogo",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTColorPicker",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTEtchASketch",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTGraph",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTHorizon",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTPong",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\TFT\\examples\\Esplora\\EsploraTFTTemp"
>       ],
>       "provides_includes": [
>         "TFT.h"
>       ],
>       "compatible_with": {
>         "qnimble:imxrt:quarto": true
>       }
>     }
>   },
>   {
>     "library": {
409,411c613,615
<       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\Time",
<       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\Time",
<       "container_platform": "qnimble:[email protected]",
---
>       "install_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\Time",
>       "source_dir": "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\Time",
>       "container_platform": "qnimble:[email protected]",
416,417c620,621
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\Time\\examples\\GetRTC",
<         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.8.4\\libraries\\Time\\examples\\SetRTC-to-Now"
---
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\Time\\examples\\GetRTC",
>         "C:\\Users\\bluey\\AppData\\Local\\Arduino15\\packages\\qnimble\\hardware\\imxrt\\1.9.0\\libraries\\Time\\examples\\SetRTC-to-Now"
425a630,776
>   },
>   {
>     "library": {
>       "name": "USB Host Shield Library 2.0",
>       "author": "Oleg Mazurov <[email protected]>, Kristian Sloth Lauszus <[email protected]>, Andrew Kroll <[email protected]>, Alexei Glushchenko <[email protected]>",
>       "maintainer": "Kristian Sloth Lauszus <[email protected]>",
>       "sentence": "Revision 2.0 of MAX3421E-based USB Host Shield Library.",
>       "paragraph": "Supports HID devices, FTDI, ADK, ACM, PL2303, Bluetooth HID devices, SPP communication and mass storage devices. Furthermore it supports PS3, PS4, PS5, PS Buzz, Wii, Switch Pro and Xbox controllers.",
>       "website": "https://github.com/felis/USB_Host_Shield_2.0",
>       "category": "Other",
>       "architectures": [
>         "*"
>       ],
>       "install_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0",
>       "source_dir": "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0",
>       "version": "1.6.2",
>       "license": "Unspecified",
>       "location": 1,
>       "examples": [
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\BTHID",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\PS3BT",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\PS3Multi",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\PS3SPP",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\PS4BT",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\PS5BT",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\SPP",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\SPPMulti",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\SwitchProBT",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\Wii",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\WiiBalanceBoard",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\WiiIRCamera",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\WiiMulti",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Bluetooth\\WiiUProController",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\GPIO\\Blink",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\GPIO\\Blink_LowLevel",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\GPIO\\Input",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\SRWS1",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHIDBootKbd",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHIDBootKbdAndMouse",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHIDBootMouse",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHIDJoystick",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHIDMultimediaKbd",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\USBHID_desc",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\le3dp",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\scale",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\HID\\t16km",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\MiniDSP",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\PS3USB",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\PS4USB",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\PS5USB",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\PSBuzz",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\SwitchProUSB",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USBH_MIDI\\USBH_MIDI_dump",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USBH_MIDI\\USB_MIDI_converter",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USBH_MIDI\\USB_MIDI_converter_multi",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USBH_MIDI\\bidirectional_converter",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USBH_MIDI\\eVY1_sample",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\USB_desc",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Xbox\\XBOXOLD",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Xbox\\XBOXONE",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Xbox\\XBOXONESBT",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Xbox\\XBOXRECV",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\Xbox\\XBOXUSB",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\acm\\acm_terminal",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\adk\\ArduinoBlinkLED",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\adk\\adk_barcode",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\adk\\demokit_20",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\adk\\term_test",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\adk\\term_time",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\board_qc",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\cdc_XR21B1411\\XR_terminal",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\ftdi\\USBFTDILoopback",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\hub_demo",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\max_LCD",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\pl2303\\pl2303_gprs_terminal",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\pl2303\\pl2303_gps",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\pl2303\\pl2303_tinygps",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\pl2303\\pl2303_xbee_terminal",
>         "C:\\Users\\bluey\\Documents\\Arduino\\libraries\\USB_Host_Shield_Library_2.0\\examples\\testusbhostFAT"
>       ],
>       "provides_includes": [
>         "AMBX.h",
>         "AMBXEnums.h",
>         "BTD.h",
>         "BTHID.h",
>         "MiniDSP.h",
>         "PS3BT.h",
>         "PS3Enums.h",
>         "PS3USB.h",
>         "PS4BT.h",
>         "PS4Parser.h",
>         "PS4USB.h",
>         "PS5BT.h",
>         "PS5Parser.h",
>         "PS5Trigger.h",
>         "PS5USB.h",
>         "PSBuzz.h",
>         "SPP.h",
>         "SwitchProBT.h",
>         "SwitchProParser.h",
>         "SwitchProUSB.h",
>         "UHS2_gpio.h",
>         "Usb.h",
>         "UsbCore.h",
>         "Wii.h",
>         "XBOXOLD.h",
>         "XBOXONE.h",
>         "XBOXONESBT.h",
>         "XBOXONESParser.h",
>         "XBOXRECV.h",
>         "XBOXUSB.h",
>         "address.h",
>         "adk.h",
>         "avrpins.h",
>         "cdc_XR21B1411.h",
>         "cdcacm.h",
>         "cdcftdi.h",
>         "cdcprolific.h",
>         "confdescparser.h",
>         "controllerEnums.h",
>         "hexdump.h",
>         "hidboot.h",
>         "hidcomposite.h",
>         "hidescriptorparser.h",
>         "hiduniversal.h",
>         "hidusagestr.h",
>         "macros.h",
>         "masstorage.h",
>         "max3421e.h",
>         "max_LCD.h",
>         "message.h",
>         "parsetools.h",
>         "printhex.h",
>         "settings.h",
>         "sink_parser.h",
>         "usb_ch9.h",
>         "usbh_midi.h",
>         "usbhid.h",
>         "usbhost.h",
>         "usbhub.h",
>         "version_helper.h",
>         "xboxEnums.h"
>       ],
>       "compatible_with": {
>         "qnimble:imxrt:quarto": true
>       }
>     }

@kittaakos kittaakos removed the status: waiting for information More information must be provided before work can proceed label Oct 11, 2023
@ben-qnimble
Copy link
Contributor Author

Sorry, I had different version of the board package on the two machines from some testing. But when I change to the same version, that part of the diff goes away, but the same behavior remains.

Looking at just which libraries are listed from the arduino-cli.exe lib list command, I found some differences. When running with a FQBN of arduino:avr:uno, on the machine with the issues, I see far few libraries installed compared to the working version. Here's the diff in the list of libraries between the two machines (extra libraries on the machine that works as expected):

+Arduino_BuiltIn
 EEPROM
+Ethernet
 HID
+Keyboard
+LiquidCrystal
+Mouse
 SPI
 SoftwareSerial
+Stepper
+TFT
+USB Host Shield Library 2.0
 Wire

Similarly, on my other FQBN that has its own examples, I get the same behavior with more libraries listed on the machine that is working properly:

 Analog Output
+Arduino_BuiltIn
 Clocks
 Demos
+Ethernet
+LiquidCrystal
 Lock In
+Mouse
 RTClib_min
 SD
 SPI
 SdFat
 Servo
+Stepper
+TFT
 Testing
 Time
+USB Host Shield Library 2.0
 qCommand
 qProtothreads

It seems like on the problem machine some Arduino Builtin libraries are not listed from the lib list. Why this causes those same libraries to later get added by the IDE and combined into the 'Examples from XXXX' board, I don't know, but is sure seems like a clue. On the machine that isn't acting right, I've only installed the Arduino AVR Boards (1.8.6) and my board support package for the Quarto. (Although removing Quarto and only having the AVR Boards installed has the same problem / behavior).

For reference, here's the python code I wrote to sort the json list by library name and to output just the library names. The above diffs are diffs of those library lists.

Python Script
import json

fn = 'BadQuarto.txt'

def sort_json(filename):
    f = open(filename)
    data = json.load(f)

    new_data = sorted(data,key = lambda d: d["library"]["name"])

    newfile = fn[:-4] + '-Sorted.txt'
    newlibs = fn[:-4] + '-Libs.txt'


    with open(newfile, 'w') as fout:
        json.dump(new_data,fout,indent=4)
   
    with open(newlibs, 'w') as fout:
        for d in new_data:
            fout.write('{}\n'.format(d['library']['name']))

sort_json(fn)

@per1234
Copy link
Contributor

per1234 commented Oct 13, 2023

Overview of Examples Menu Categorization

There are three different categories of locations where Arduino libraries are installed:

  • Platform (e.g., C:\Users\bluey\AppData\Local\Arduino15\packages\qnimble\hardware\imxrt\1.9.0\libraries\)
  • Built-in (e.g., C:\Users\bluey\AppData\Local\Arduino15\libraries\)
    Despite the similar name, this is completely different from the standalone example sketches that are listed under the "Built-in examples" section of the menu.
  • Sketchbook (e.g., C:\Users\bluey\Documents\Arduino\libraries\)

The libraries under the platform location are typically bundled with the platform due to being very specific to the architecture of the boards of that platform. Only the libraries of the specific platform of the currently selected board are accessible at any given time.

The libraries under the built-in location are the libraries that are automatically installed by Arduino IDE on the first run after a fresh installation. These are fundamental official libraries which are installed by default in order to provide new users with a gentle learning curve by allowing them to make a decent range of projects before introducing the requirement to learn how to use Library Manager.

The libraries under the sketchbook folder are the ones the user has installed or updated (via Library Manager, "Add .ZIP Library...", or manual installation).

The example sketches bundled with the installed libraries are listed in the File > Examples menu. This menu is separated into sections. The section under which a given library is placed in the menu depends on its location category:

Location Menu Section
platform "Examples for <board name>"
built-in "Examples for <board name>"
sketchbook "Examples from Custom Libraries"

Explanation of Reported Behavior

Let's focus on a single library that is in a location under the File > Examples menu unexpected to you. I think that once you understand the reason for the location of that library, you will also understand the situation with all the other libraries.

In the screenshots you shared here, the "Ethernet" library examples are located under the "Examples for Quarto" section of the menu in the first screenshot, and under the "Examples from Custom Libraries" section in the second screenshot.

In the arduino-cli lib list output under the "Quarto (working right>>" section of this comment, we see the install_dir value for the "Ethernet" library is:

"C:\\Users\\bluey\\Documents\\Arduino\\libraries\\Ethernet"`

Confusingly, we don't see an entry for the "Ethernet" library in the arduino-cli lib list output under the "Machine with issue on board with examples (Quarto)" section of this comment. The reason for this is that the arduino-cli lib list command only returns a list of libraries installed in the platform and sketchbook location categories. The only way to get a list of the libraries in the built-in location is using the gRPC interface of Arduino CLI, as Arduino IDE does. If the data for the libraries in the "built-in" location was included in the arduino-cli lib list output, you would see that the install_dir value for the "Ethernet" library on that machine is:

"C:\\Users\\bluey\\AppData\\Local\\Arduino15\\libraries\\Ethernet"

So the reason why the "Ethernet" library is listed in a different section of the Examples menu on one of your machines compared to another is that the library is installed at a different location on each machine. The reason for that is likely that you installed "Ethernet" via the Arduino IDE Library Manager on the "Machine with issue" machine at some point (which might even have been before you installed Arduino IDE 2.x if you were using 1.x previously), whereas on the "working right" machine, the only installation of the library is the one installed automatically on the first run via the IDE's "built-in" library installation system.

Conclusion

Since it seems everything is working as intended, I will close this issue.

I do think that the IDE's current behavior of using the "Examples for <board name>" section of the menu for libraries from the "built-in" location is not ideal. Since this issue is quite convoluted and rambling, I don't think it can effectively serve to track the proposal of changing that behavior so I created a new issue for that purpose: #2259

Additional Concepts

Note that a library of a given name might be installed to multiple locations. In this case, Arduino CLI determines which of those libraries is the best match for the currently selected board.

Library Manager

All other factors equal, the libraries in the "sketchbook" location have higher priority than the libraries in the "built-in" location.

So you might see the examples of a library move from one section of the menu to another after you update the library via Library Manager.

Platform Bundled Libraries

Only the platform bundled libraries from the platform of the currently selected board are available. In this case, Arduino CLI determines which of those libraries is the best match for the currently selected board. This means that the menu item for a given library name might actually be originating from a completely different library installation, which might have a different location category, depending on which board you have selected.

So you might see a given library name move from one section of the menu to another after you select a different board from the Arduino IDE menus.

@per1234 per1234 closed this as not planned Won't fix, can't repro, duplicate, stale Oct 13, 2023
@per1234 per1234 added the conclusion: invalid Issue/PR not valid label Oct 13, 2023
@Dmitry-Chernikov
Copy link

Dmitry-Chernikov commented Dec 5, 2023

I do not have any libraries of the Mega 2560 platform at all, there is no EEPROM library, although it is in the arduino15 folder.
Снимок экрана от 2023-12-05 20-54-28

System:
Kernel: 6.2.0-37-generic x86_64 bits: 64 compiler: N/A Desktop: Cinnamon 5.8.4 tk: GTK 3.24.33
wm: muffin dm: LightDM Distro: Linux Mint 21.2 Victoria base: Ubuntu 22.04 jammy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
conclusion: invalid Issue/PR not valid topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project
Projects
None yet
Development

No branches or pull requests

4 participants