{
  "canonical_url": "https://crates.flyology.org/community/",
  "catalog": {
    "name": "community",
    "repository_url": "https://github.com/alire-project/alire-index",
    "revision": "cd12c6aa35b7d6483841517305d57ba167ec78d0"
  },
  "generated_at": "2026-08-23T04:55:42Z",
  "index": {
    "version": "1.4.0"
  },
  "package": {
    "catalog": "community",
    "description": "Chapter 3: Cylon LED Bar: flowing light upgraded to a menacing scanner",
    "development_only": false,
    "latest_version": "1.8.0",
    "name": "pico_ada_c03_led_bar",
    "selected_version": "1.8.0",
    "versions": [
      {
        "dependants": [],
        "dependencies": [
          {
            "catalog": "community",
            "condition": null,
            "name": "rp2040_hal",
            "package": "rp2040_hal",
            "provided_version": "2.7.1",
            "requirement": "^2.7.1",
            "resolved": true,
            "version": "2.7.1"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "pico_bsp",
            "package": "pico_bsp",
            "provided_version": "2.2.0",
            "requirement": "^2.2",
            "resolved": true,
            "version": "2.2.0"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "pico_xbsp",
            "package": "pico_xbsp",
            "provided_version": "1.8.0",
            "requirement": "^1.8",
            "resolved": true,
            "version": "1.8.0"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "light_tasking_rp2040",
            "package": "light_tasking_rp2040",
            "provided_version": "15.4.0",
            "requirement": "^15.4",
            "resolved": true,
            "version": "15.4.0"
          }
        ],
        "development": false,
        "external": false,
        "manifest": {
          "authors": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "build-switches": {
            "*": {
              "ada_version": [
                "-gnat2022"
              ]
            },
            "development": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Overflow"
            },
            "release": {
              "compile_checks": "Warnings",
              "contracts": "No",
              "runtime_checks": "Default"
            },
            "validation": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Everything"
            }
          },
          "configuration": {
            "values": {
              "light_tasking_rp2040": {
                "Board": "rpi_pico",
                "Max_CPUs": 2
              },
              "pico_xbsp": {
                "Variant": "tasking"
              },
              "rp2040_hal": {
                "Interrupts": "bb_runtimes",
                "Use_Startup": false
              }
            }
          },
          "depends-on": [
            {
              "light_tasking_rp2040": "^15.4",
              "pico_bsp": "^2.2",
              "pico_xbsp": "^1.8",
              "rp2040_hal": "^2.7.1"
            }
          ],
          "description": "Chapter 3: Cylon LED Bar: flowing light upgraded to a menacing scanner",
          "executables": [
            "sketch_03_1_flowing_light",
            "cylon_light_float",
            "cylon_light"
          ],
          "licenses": "GPL-3.0-or-later",
          "long-description": "Building a smooth flowing LED bar on the Raspberry Pi Pico with Ada - from a simple\nchasing light to a proper menacing Cylon scanner effect using real-time delays.\n\nIn this chapter we turn ten LEDs into a flowing light bar. We start with the basic Freenove example using an array of\nRP.GPIO.GPIO_Point (aliased limited tagged types). We then improve it with a pre-calculated sine-harmonic timing table\nto create a realistic Cylon scanner - all done with Ada.Real_Time and zero floating-point at runtime for perfect\njitter-free movement.\n\nContained in Chapter 03 are:\n\n1. Sketch_03_1_Flowing_Light  - straight port of the classic flowing light\n2. Cylon_Light\t\t      - the final dramatic Cylon scanner with organic easing\n3. Cylon_Light_Float\t      - Floating point version of Cylon_Light\n\nRead the full tutorial at [Chapter 3 - Cylon LED Bar: flowing light upgraded to a menacing\nscanner](https://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar), [GNATdoc\ndocumentation](https://pi-ada-tutorial.sourceforge.io/gnatdoc/pico_doc/), [SourceForge\nrepository](https://sourceforge.net/p/pi-ada-tutorial/code/ci/master/tree/pico_ada_c03_led_bar/)\n\n(The Cylons did nothing wrong. Humans created the perfect companion species and then completely messed it up.)\n",
          "maintainers": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "maintainers-logins": [
            "krischik"
          ],
          "name": "pico_ada_c03_led_bar",
          "origin": {
            "hashes": [
              "sha256:c3f59a4f81cd5361618b3db1ebc2e4b47226f60f3d3ce3b983cea9061efde9ce",
              "sha512:48c291835ec6f507c3f8571c14d82ecddb9b768695a89d366555e1557fafb30e8af37bb5778a203f131b37042d826446ac49f3d052718ad5497e219062306509"
            ],
            "url": "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c03_led_bar-1.8.0.tgz"
          },
          "tags": [
            "raspberry",
            "pi",
            "pico",
            "rp2040",
            "tasking",
            "light-tasking",
            "ada2022",
            "embedded"
          ],
          "version": "1.8.0",
          "website": "https://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar"
        },
        "path": "index/pi/pico_ada_c03_led_bar/pico_ada_c03_led_bar-1.8.0.toml",
        "version": "1.8.0"
      },
      {
        "dependants": [],
        "dependencies": [
          {
            "catalog": "community",
            "condition": null,
            "name": "rp2040_hal",
            "package": "rp2040_hal",
            "provided_version": "2.7.1",
            "requirement": "^2.7.1",
            "resolved": true,
            "version": "2.7.1"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "pico_bsp",
            "package": "pico_bsp",
            "provided_version": "2.2.0",
            "requirement": "^2.2",
            "resolved": true,
            "version": "2.2.0"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "pico_xbsp",
            "package": "pico_xbsp",
            "provided_version": "1.8.0",
            "requirement": "^1.7",
            "resolved": true,
            "version": "1.8.0"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "light_tasking_rp2040",
            "package": "light_tasking_rp2040",
            "provided_version": "15.4.0",
            "requirement": "^15.4",
            "resolved": true,
            "version": "15.4.0"
          }
        ],
        "development": false,
        "external": false,
        "manifest": {
          "authors": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "build-switches": {
            "*": {
              "ada_version": [
                "-gnat2022"
              ]
            },
            "development": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Overflow"
            },
            "release": {
              "compile_checks": "Warnings",
              "contracts": "No",
              "runtime_checks": "Default"
            },
            "validation": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Everything"
            }
          },
          "configuration": {
            "values": {
              "light_tasking_rp2040": {
                "Board": "rpi_pico",
                "Max_CPUs": 2
              },
              "rp2040_hal": {
                "Interrupts": "bb_runtimes",
                "Use_Startup": false
              }
            }
          },
          "depends-on": [
            {
              "light_tasking_rp2040": "^15.4",
              "pico_bsp": "^2.2",
              "pico_xbsp": "^1.7",
              "rp2040_hal": "^2.7.1"
            }
          ],
          "description": "Chapter 3 - Cylon LED Bar: flowing light upgraded to a menacing scanner",
          "executables": [
            "sketch_03_1_flowing_light",
            "cylon_light_float",
            "cylon_light"
          ],
          "licenses": "GPL-3.0-or-later",
          "long-description": "Building a smooth flowing LED bar on the Raspberry Pi Pico with Ada - from a simple\nchasing light to a proper menacing Cylon scanner effect using real-time delays.\n\nIn this chapter we turn ten LEDs into a flowing light bar. We start with the basic Freenove example using an array of\nRP.GPIO.GPIO_Point (aliased limited tagged types). We then improve it with a pre-calculated sine-harmonic timing table\nto create a realistic Cylon scanner - all done with Ada.Real_Time and zero floating-point at runtime for perfect\njitter-free movement.\n\nContained in Chapter 03 are:\n\n1. Sketch_03_1_Flowing_Light  - straight port of the classic flowing light\n2. Cylon_Light\t\t      - the final dramatic Cylon scanner with organic easing\n3. Cylon_Light_Float\t      - Floating point version of Cylon_Light\n\nRead the full tutorial at [Chapter 3 - Cylon LED Bar: flowing light upgraded to a menacing\nscanner](https://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar), [GNATdoc\ndocumentation](https://pi-ada-tutorial.sourceforge.io/gnatdoc/pico_ada_c03_led_bar/), [SourceForge\nrepository](https://sourceforge.net/p/pi-ada-tutorial/code/ci/master/tree/pico_ada_c03_led_bar/)\n\n(The Cylons did nothing wrong. Humans created the perfect companion species and then completely messed it up.)\n",
          "maintainers": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "maintainers-logins": [
            "krischik"
          ],
          "name": "pico_ada_c03_led_bar",
          "origin": {
            "hashes": [
              "sha256:ba8561a2377bb4783dc131d971cc285ba7401abbc1ccf679c235d2330b0d9a5a",
              "sha512:24d88bd23f3ae6a476e3dca70cc7cfb51073c164ed59a6b14e68354a39118f5cfb864564e5d52058527f2c2c3ef33fa915c9810dcd3002929f52af3861624dc9"
            ],
            "url": "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c03_led_bar-1.7.0.tgz"
          },
          "tags": [
            "raspberry",
            "pi",
            "pico",
            "rp2040",
            "tasking",
            "light-tasking",
            "ada2022",
            "embedded"
          ],
          "version": "1.7.0",
          "website": "https://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar"
        },
        "path": "index/pi/pico_ada_c03_led_bar/pico_ada_c03_led_bar-1.7.0.toml",
        "version": "1.7.0"
      },
      {
        "dependants": [],
        "dependencies": [
          {
            "catalog": "community",
            "condition": null,
            "name": "rp2040_hal",
            "package": "rp2040_hal",
            "provided_version": "2.7.1",
            "requirement": "^2.7.1",
            "resolved": true,
            "version": "2.7.1"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "pico_bsp",
            "package": "pico_bsp",
            "provided_version": "2.2.0",
            "requirement": "^2.2",
            "resolved": true,
            "version": "2.2.0"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "light_tasking_rp2040",
            "package": "light_tasking_rp2040",
            "provided_version": "15.4.0",
            "requirement": "^15.3",
            "resolved": true,
            "version": "15.4.0"
          }
        ],
        "development": false,
        "external": false,
        "manifest": {
          "authors": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "build-switches": {
            "*": {
              "ada_version": [
                "-gnat2022"
              ]
            },
            "development": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Overflow"
            },
            "release": {
              "compile_checks": "Warnings",
              "contracts": "No",
              "runtime_checks": "Default"
            },
            "validation": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Everything"
            }
          },
          "configuration": {
            "values": {
              "light_tasking_rp2040": {
                "Board": "rpi_pico",
                "Max_CPUs": 2
              },
              "rp2040_hal": {
                "Interrupts": "bb_runtimes",
                "Use_Startup": false
              }
            }
          },
          "depends-on": [
            {
              "light_tasking_rp2040": "^15.3",
              "pico_bsp": "^2.2",
              "rp2040_hal": "^2.7.1"
            }
          ],
          "description": "Chapter 3 - Cylon LED Bar: flowing light upgraded to a menacing scanner",
          "executables": [
            "sketch_03_1_flowing_light",
            "cylon_light_float",
            "cylon_light"
          ],
          "licenses": "GPL-3.0-or-later",
          "long-description": "Building a smooth flowing LED bar on the Raspberry Pi Pico with Ada - from a simple\nchasing light to a proper menacing Cylon scanner effect using real-time delays.\n\nIn this chapter we turn ten LEDs into a flowing light bar. We start with the basic Freenove example using an array of\nRP.GPIO.GPIO_Point (aliased limited tagged types). We then improve it with a pre-calculated sine-harmonic timing table\nto create a realistic Cylon scanner - all done with Ada.Real_Time and zero floating-point at runtime for perfect\njitter-free movement.\n\nContained in Chapter 03 are:\n\n1. Sketch_03_1_Flowing_Light  - straight port of the classic flowing light\n2. Cylon_Light\t\t      - the final dramatic Cylon scanner with organic easing\n3. Cylon_Light_Float\t      - Floating point version of Cylon_Light\n\nRead the full tutorial at [Chapter 3 - Cylon LED Bar: flowing light upgraded to a menacing\nscanner](https://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar), [GNATdoc\ndocumentation](https://pi-ada-tutorial.sourceforge.io/gnatdoc/pico_ada_c03_led_bar/), [SourceForge\nrepository](https://sourceforge.net/p/pi-ada-tutorial/code/ci/master/tree/pico_ada_c03_led_bar/)\n\n(The Cylons did nothing wrong. Humans created the perfect companion species and then completely messed it up.)\n",
          "maintainers": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "maintainers-logins": [
            "krischik"
          ],
          "name": "pico_ada_c03_led_bar",
          "origin": {
            "hashes": [
              "sha256:5d8cdfe3d4fa43d4aef73b6acba0924e8f555386db8a0efe91aedfaa6e027a4a",
              "sha512:5143f0a0eab2149b818d89c6a0da37124e9612a521eccc65c8315d8ff19dde0777eadef73f8e29bf01c18a24f27db25ae7afe18753e3f650359e6fb00ffeeea1"
            ],
            "url": "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c03_led_bar-1.6.0.tgz"
          },
          "tags": [
            "raspberry",
            "pi",
            "pico",
            "rp2040",
            "tasking",
            "light-tasking",
            "ada2022",
            "embedded"
          ],
          "version": "1.6.0",
          "website": "https://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar"
        },
        "path": "index/pi/pico_ada_c03_led_bar/pico_ada_c03_led_bar-1.6.0.toml",
        "version": "1.6.0"
      },
      {
        "dependants": [],
        "dependencies": [
          {
            "catalog": "community",
            "condition": null,
            "name": "rp2040_hal",
            "package": "rp2040_hal",
            "provided_version": "2.7.1",
            "requirement": "^2.7.1",
            "resolved": true,
            "version": "2.7.1"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "pico_bsp",
            "package": "pico_bsp",
            "provided_version": "2.2.0",
            "requirement": "^2.2",
            "resolved": true,
            "version": "2.2.0"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "light_tasking_rp2040",
            "package": "light_tasking_rp2040",
            "provided_version": "15.4.0",
            "requirement": "^15.3",
            "resolved": true,
            "version": "15.4.0"
          }
        ],
        "development": false,
        "external": false,
        "manifest": {
          "authors": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "build-switches": {
            "*": {
              "ada_version": [
                "-gnat2022"
              ]
            },
            "development": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Overflow"
            },
            "release": {
              "compile_checks": "Warnings",
              "contracts": "No",
              "runtime_checks": "Default"
            },
            "validation": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Everything"
            }
          },
          "configuration": {
            "values": {
              "light_tasking_rp2040": {
                "Board": "rpi_pico",
                "Max_CPUs": 2
              },
              "rp2040_hal": {
                "Interrupts": "bb_runtimes",
                "Use_Startup": false
              }
            }
          },
          "depends-on": [
            {
              "light_tasking_rp2040": "^15.3",
              "pico_bsp": "^2.2",
              "rp2040_hal": "^2.7.1"
            }
          ],
          "description": "Chapter 3 - Cylon LED Bar: flowing light upgraded to a menacing scanner",
          "executables": [
            "sketch_03_1_flowing_light",
            "cylon_light_float",
            "cylon_light"
          ],
          "licenses": "GPL-3.0-or-later",
          "long-description": "Building a smooth flowing LED bar on the Raspberry Pi Pico with Ada - from a simple\nchasing light to a proper menacing Cylon scanner effect using real-time delays.\n\nIn this chapter we turn ten LEDs into a flowing light bar. We start with the basic Freenove example using an array of\nRP.GPIO.GPIO_Point (aliased limited tagged types). We then improve it with a pre-calculated sine-harmonic timing table\nto create a realistic Cylon scanner - all done with Ada.Real_Time and zero floating-point at runtime for perfect\njitter-free movement.\n\nContained in Chapter 03 are:\n\n1. Sketch_03_1_Flowing_Light  - straight port of the classic flowing light\n2. Cylon_Light                - the final dramatic Cylon scanner with organic easing\n3. Cylon_Light_Float          - Floating point version of Cylon_Light\n\nRead the full tutorial at [Chapter 3 - Cylon LED Bar: flowing light upgraded to a menacing\nscanner](https://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar), [GNATdoc\ndocumentation](https://pi-ada-tutorial.sourceforge.io/gnatdoc/pico_ada_c03_led_bar/), [SourceForge\nrepository](https://sourceforge.net/p/pi-ada-tutorial/code/ci/master/tree/pico_ada_c03_led_bar/)\n\n(The Cylons did nothing wrong. Humans created the perfect companion species and then completely messed it up.)\n",
          "maintainers": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "maintainers-logins": [
            "krischik"
          ],
          "name": "pico_ada_c03_led_bar",
          "origin": {
            "hashes": [
              "sha256:2e6a401c49cc2aa79571584e9dc0636c538107729ba308c34ea93bad1f0bf6b2",
              "sha512:3adaf15aca09fadd6010347da6862f5a785e9e35bc46d3cd640f7253ffbd6523720ff298fd36bfae4721ca1de14c96013fb038216bbda0dc5b2c2837a9f41469"
            ],
            "url": "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c03_led_bar-1.5.2.tgz"
          },
          "tags": [
            "raspberry",
            "pi",
            "pico",
            "rp2040",
            "tasking",
            "light-tasking",
            "ada2022",
            "embedded"
          ],
          "version": "1.5.2",
          "website": "https://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar"
        },
        "path": "index/pi/pico_ada_c03_led_bar/pico_ada_c03_led_bar-1.5.2.toml",
        "version": "1.5.2"
      },
      {
        "dependants": [],
        "dependencies": [
          {
            "catalog": "community",
            "condition": null,
            "name": "rp2040_hal",
            "package": "rp2040_hal",
            "provided_version": "2.7.1",
            "requirement": "^2.7.1",
            "resolved": true,
            "version": "2.7.1"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "pico_bsp",
            "package": "pico_bsp",
            "provided_version": "2.2.0",
            "requirement": "^2.2",
            "resolved": true,
            "version": "2.2.0"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "light_tasking_rp2040",
            "package": "light_tasking_rp2040",
            "provided_version": "15.4.0",
            "requirement": "^15.2",
            "resolved": true,
            "version": "15.4.0"
          }
        ],
        "development": false,
        "external": false,
        "manifest": {
          "authors": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "build-switches": {
            "*": {
              "ada_version": [
                "-gnat2022"
              ]
            },
            "development": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Overflow"
            },
            "release": {
              "compile_checks": "Warnings",
              "contracts": "No",
              "runtime_checks": "Default"
            },
            "validation": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Everything"
            }
          },
          "configuration": {
            "values": {
              "light_tasking_rp2040": {
                "Board": "rpi_pico",
                "Max_CPUs": 2
              },
              "rp2040_hal": {
                "Interrupts": "bb_runtimes",
                "Use_Startup": false
              }
            }
          },
          "depends-on": [
            {
              "light_tasking_rp2040": "^15.2",
              "pico_bsp": "^2.2",
              "rp2040_hal": "^2.7.1"
            }
          ],
          "description": "Chapter 3 - Cylon LED Bar: flowing light upgraded to a menacing scanner",
          "executables": [
            "sketch_03_1_flowing_light",
            "cylon_light_float",
            "cylon_light"
          ],
          "licenses": "GPL-3.0-or-later",
          "long-description": "Building a smooth flowing LED bar on the Raspberry Pi Pico with Ada - from a simple\nchasing light to a proper menacing Cylon scanner effect using real-time delays.\n\nIn this chapter we turn ten LEDs into a flowing light bar. We start with the basic Freenove example using an array of\nRP.GPIO.GPIO_Point (aliased limited tagged types). We then improve it with a pre-calculated sine-harmonic timing table\nto create a realistic Cylon scanner - all done with Ada.Real_Time and zero floating-point at runtime for perfect\njitter-free movement.\n\nContained in Chapter 03 are:\n\n1. Sketch_03_1_Flowing_Light  - straight port of the classic flowing light\n2. Cylon_Light                - the final dramatic Cylon scanner with organic easing\n3. Cylon_Light_Float          - Floating point version of Cylon_Light\n\nRead the full tutorial at [Chapter 3 - Cylon LED Bar: flowing light upgraded to a menacing\nscanner](https://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar), [GNATdoc\ndocumentation](https://pi-ada-tutorial.sourceforge.io/gnatdoc/pico_ada_c03_led_bar/), [SourceForge\nrepository](https://sourceforge.net/p/pi-ada-tutorial/code/ci/master/tree/pico_ada_c03_led_bar/)\n\n(The Cylons did nothing wrong. Humans created the perfect companion species and then completely messed it up.)\n",
          "maintainers": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "maintainers-logins": [
            "krischik"
          ],
          "name": "pico_ada_c03_led_bar",
          "origin": {
            "hashes": [
              "sha256:8ad0e376855ada75e7991562ef135dcb058f6b4c15898df3326a7a006bec406e",
              "sha512:8d9a57a2e9a246d33daa21431f0780c9d6656dc60681c7be7729e64fa66116005aa97a2ae7d08169656a069b31648016aca2cf6aec229e8e451cb279c171fd7b"
            ],
            "url": "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c03_led_bar-1.5.1.tgz"
          },
          "tags": [
            "raspberry",
            "pi",
            "pico",
            "rp2040",
            "tasking",
            "light-tasking",
            "ada2022",
            "embedded"
          ],
          "version": "1.5.1",
          "website": "https://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar"
        },
        "path": "index/pi/pico_ada_c03_led_bar/pico_ada_c03_led_bar-1.5.1.toml",
        "version": "1.5.1"
      },
      {
        "dependants": [],
        "dependencies": [
          {
            "catalog": "community",
            "condition": null,
            "name": "rp2040_hal",
            "package": "rp2040_hal",
            "provided_version": "2.7.1",
            "requirement": "^2.7.1",
            "resolved": true,
            "version": "2.7.1"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "pico_bsp",
            "package": "pico_bsp",
            "provided_version": "2.2.0",
            "requirement": "^2.2",
            "resolved": true,
            "version": "2.2.0"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "light_tasking_rp2040",
            "package": "light_tasking_rp2040",
            "provided_version": "15.4.0",
            "requirement": "^15.2",
            "resolved": true,
            "version": "15.4.0"
          }
        ],
        "development": false,
        "external": false,
        "manifest": {
          "authors": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "build-switches": {
            "*": {
              "ada_version": [
                "-gnat2022"
              ]
            },
            "development": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Overflow"
            },
            "release": {
              "compile_checks": "Warnings",
              "contracts": "No",
              "runtime_checks": "Default"
            },
            "validation": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Everything"
            }
          },
          "configuration": {
            "values": {
              "light_tasking_rp2040": {
                "Board": "rpi_pico",
                "Max_CPUs": 2
              },
              "rp2040_hal": {
                "Interrupts": "bb_runtimes",
                "Use_Startup": false
              }
            }
          },
          "depends-on": [
            {
              "light_tasking_rp2040": "^15.2",
              "pico_bsp": "^2.2",
              "rp2040_hal": "^2.7.1"
            }
          ],
          "description": "Chapter 3 - Cylon LED Bar: flowing light upgraded to a menacing scanner",
          "executables": [
            "sketch_03_1_flowing_light",
            "cylon_light_float",
            "cylon_light"
          ],
          "licenses": "GPL-3.0-or-later",
          "long-description": "Building a smooth flowing LED bar on the Raspberry Pi\nPico with Ada - from a simple chasing light to a proper menacing Cylon scanner\neffect using real-time delays.\n\nIn this chapter we turn ten LEDs into a flowing light bar. We start with the\nbasic Freenove example using an array of RP.GPIO.GPIO_Point (aliased limited\ntagged types). We then improve it with a pre-calculated sine-harmonic timing\ntable to create a realistic Cylon scanner - all done with Ada.Real_Time and\nzero floating-point at runtime for perfect jitter-free movement.\n\nThe two programs included are:\n\n1. Sketch_03_1_Flowing_Light  - straight port of the classic flowing light\n2. Cylon_Light                - the final dramatic Cylon scanner with organic easing\n3. Cylon_Light_Float          - Floating point version of Cylon_Light\n\nRead the full tutorial (with photos, explanations and GNATdoc) at:\nhttps://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar/\n\nGNATdoc documentation:\nhttps://pi-ada-tutorial.sourceforge.io/gnatdoc/pico_ada_c03_led_bar/\n\nSourceForge repository:\nhttps://sourceforge.net/projects/pi-ada-tutorial/\n\n(The Cylons did nothing wrong. Humans created the perfect companion species and\nthen completely messed it up.)\n",
          "maintainers": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "maintainers-logins": [
            "krischik"
          ],
          "name": "pico_ada_c03_led_bar",
          "origin": {
            "hashes": [
              "sha256:3236d25e45e0b5940a1f513b124458e83821421c016f565802b1445730c1f21d",
              "sha512:72b9f88c71da9b0e6972b325402d8255d61fd32235929c47ed397c0b1fff04e22a334717914714ff8f9c778d779b40984391bdd383b3fabdd2a5fae04a6902fe"
            ],
            "url": "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c03_led_bar-1.3.1.tgz"
          },
          "tags": [
            "raspberry",
            "pi",
            "pico",
            "rp2040",
            "tasking",
            "light-tasking",
            "ada2022",
            "embedded"
          ],
          "version": "1.3.1",
          "website": "https://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar"
        },
        "path": "index/pi/pico_ada_c03_led_bar/pico_ada_c03_led_bar-1.3.1.toml",
        "version": "1.3.1"
      },
      {
        "dependants": [],
        "dependencies": [
          {
            "catalog": "community",
            "condition": null,
            "name": "rp2040_hal",
            "package": "rp2040_hal",
            "provided_version": "2.7.1",
            "requirement": "^2.7",
            "resolved": true,
            "version": "2.7.1"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "pico_bsp",
            "package": "pico_bsp",
            "provided_version": "2.2.0",
            "requirement": "^2.2",
            "resolved": true,
            "version": "2.2.0"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "light_tasking_rp2040",
            "package": "light_tasking_rp2040",
            "provided_version": "15.4.0",
            "requirement": "^15.2",
            "resolved": true,
            "version": "15.4.0"
          }
        ],
        "development": false,
        "external": false,
        "manifest": {
          "authors": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "build-switches": {
            "*": {
              "ada_version": [
                "-gnat2022"
              ]
            },
            "development": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Overflow"
            },
            "release": {
              "compile_checks": "Warnings",
              "contracts": "No",
              "runtime_checks": "Default"
            },
            "validation": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Everything"
            }
          },
          "configuration": {
            "values": {
              "light_tasking_rp2040": {
                "Board": "rpi_pico",
                "Max_CPUs": 2
              },
              "rp2040_hal": {
                "Interrupts": "bb_runtimes",
                "Use_Startup": false
              }
            }
          },
          "depends-on": [
            {
              "light_tasking_rp2040": "^15.2",
              "pico_bsp": "^2.2",
              "rp2040_hal": "^2.7"
            }
          ],
          "description": "Chapter 3 - Cylon LED Bar: flowing light upgraded to a menacing scanner",
          "executables": [
            "sketch_03_1_flowing_light",
            "cylon_light"
          ],
          "licenses": "GPL-3.0-or-later",
          "long-description": "Building a smooth flowing LED bar on the Raspberry Pi\nPico with Ada - from a simple chasing light to a proper menacing Cylon scanner\neffect using real-time delays.\n\nIn this chapter we turn ten LEDs into a flowing light bar. We start with the\nbasic Freenove example using an array of RP.GPIO.GPIO_Point (aliased limited\ntagged types). We then improve it with a pre-calculated sine-harmonic timing\ntable to create a realistic Cylon scanner - all done with Ada.Real_Time and\nzero floating-point at runtime for perfect jitter-free movement.\n\nThe two programs included are:\n\n1. Sketch_03_1_Flowing_Light  - straight port of the classic flowing light\n2. Cylon_Light                - the final dramatic Cylon scanner with organic easing\n\nRead the full tutorial (with photos, explanations and GNATdoc) at:\nhttps://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar/\n\nGNATdoc documentation:\nhttps://pi-ada-tutorial.sourceforge.io/gnatdoc/pico_ada_c03_led_bar/\n\nSourceForge repository:\nhttps://sourceforge.net/projects/pi-ada-tutorial/\n\n(The Cylons did nothing wrong. Humans created the perfect companion species and\nthen completely messed it up.)\n",
          "maintainers": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "maintainers-logins": [
            "krischik"
          ],
          "name": "pico_ada_c03_led_bar",
          "origin": {
            "hashes": [
              "sha256:f923c3f1e8e288a85513a7dddd5afb34e2bd331fe3ae35352bf43debea049266",
              "sha512:b2151133c91db881269a599cf1cfdc5faa1da734d6743fc14b607566da8f4ce953a488a34c73f120df51cda719b0c58f7cfa53adb4567a7edd0009a075d62fed"
            ],
            "url": "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c03_led_bar-1.3.0.tgz"
          },
          "tags": [
            "raspberry",
            "pi",
            "pico",
            "rp2040",
            "tasking",
            "light-tasking",
            "ada2022",
            "embedded"
          ],
          "version": "1.3.0",
          "website": "https://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar"
        },
        "path": "index/pi/pico_ada_c03_led_bar/pico_ada_c03_led_bar-1.3.0.toml",
        "version": "1.3.0"
      },
      {
        "dependants": [],
        "dependencies": [
          {
            "catalog": "community",
            "condition": null,
            "name": "rp2040_hal",
            "package": "rp2040_hal",
            "provided_version": "2.7.1",
            "requirement": "^2.7.0",
            "resolved": true,
            "version": "2.7.1"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "pico_bsp",
            "package": "pico_bsp",
            "provided_version": "2.2.0",
            "requirement": "^2.2",
            "resolved": true,
            "version": "2.2.0"
          },
          {
            "catalog": "community",
            "condition": null,
            "name": "light_tasking_rp2040",
            "package": "light_tasking_rp2040",
            "provided_version": "15.4.0",
            "requirement": "^15.2",
            "resolved": true,
            "version": "15.4.0"
          }
        ],
        "development": false,
        "external": false,
        "manifest": {
          "authors": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "build-switches": {
            "*": {
              "ada_version": [
                "-gnat2022"
              ]
            },
            "development": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Overflow"
            },
            "release": {
              "compile_checks": "Warnings",
              "contracts": "No",
              "runtime_checks": "Default"
            },
            "validation": {
              "compile_checks": "Warnings",
              "contracts": "Yes",
              "runtime_checks": "Everything"
            }
          },
          "configuration": {
            "values": {
              "light_tasking_rp2040": {
                "Board": "rpi_pico",
                "Max_CPUs": 2
              },
              "rp2040_hal": {
                "Interrupts": "bb_runtimes",
                "Use_Startup": false
              }
            }
          },
          "depends-on": [
            {
              "light_tasking_rp2040": "^15.2",
              "pico_bsp": "^2.2",
              "rp2040_hal": "^2.7.0"
            }
          ],
          "description": "Chapter 3 - LED Bar",
          "executables": [
            "sketch_03_1_flowing_light",
            "cylon_light"
          ],
          "licenses": "GPL-3.0-or-later",
          "long-description": "\n1. Sketch_03_1_Flowing_Light  - Chapter 3.1 Flowing Light\n\nRead the full tutorial at [Chapter 3 - LED\nBar](https://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar)\n",
          "maintainers": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "maintainers-logins": [
            "krischik"
          ],
          "name": "pico_ada_c03_led_bar",
          "origin": {
            "hashes": [
              "sha256:c339c491585cd9d8ec0e904133b89ea9f65543266551c083be7e9bbf740b9dd5",
              "sha512:806e5022a9d6a8d1faed8831d7ecbf96b536bc61200192125f94afb9d81ce78fbc0baa79140fe0fa0327cddbfcc8e2d381f6c3e1131d7f1671a0a6c74689e278"
            ],
            "url": "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c03_led_bar-1.2.0.tgz"
          },
          "tags": [
            "raspberry",
            "pi",
            "pico",
            "rp2040",
            "tasking",
            "light-tasking",
            "ada2022"
          ],
          "version": "1.2.0",
          "website": "https://sourceforge.net/projects/pi-ada-tutorial/"
        },
        "path": "index/pi/pico_ada_c03_led_bar/pico_ada_c03_led_bar-1.2.0.toml",
        "version": "1.2.0"
      }
    ]
  },
  "schema_version": 4
}
