{
  "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 7: Controlling active and passive Buzzer",
    "development_only": false,
    "latest_version": "1.8.0",
    "name": "pico_ada_c07_buzzer",
    "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": "embedded_rp2040",
            "package": "embedded_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": {
              "embedded_rp2040": {
                "Board": "rpi_pico",
                "Max_CPUs": 2
              },
              "pico_xbsp": {
                "Variant": "tasking"
              },
              "rp2040_hal": {
                "Interrupts": "bb_runtimes",
                "Use_Startup": false
              }
            }
          },
          "depends-on": [
            {
              "embedded_rp2040": "^15.4",
              "pico_bsp": "^2.2",
              "pico_xbsp": "^1.8",
              "rp2040_hal": "^2.7.1"
            }
          ],
          "description": "Chapter 7: Controlling active and passive Buzzer",
          "executables": [
            "buzz_and_blink-main",
            "pwm_alert",
            "sketch_07_1_doorbell",
            "sketch_07_2_alert"
          ],
          "licenses": "GPL-3.0-or-later",
          "long-description": "Learn how to drive active and passive buzzers with the Raspberry Pi Pico using Ada.\nFrom simple doorbell switches to PWM-generated sweeping alert tones - including hardware tips with flyback diodes and\noscilloscope measurements.\n\nIn this chapter we connect both active and passive buzzers to the Pico. We start with a simple button-controlled\ndoorbell, improve the passive buzzer with bit-banging, and finally create a clean sweeping alert tone using the Pico's\nPWM hardware. We also look at inductive-load protection and why a diode is essential.\n\nContained in Chapter 07 are:\n\n1. sketch_07_1_doorbell.adb\t- Chapter 7.1 Doorbell with active buzzer\n2. sketch_07_2_alert.adb\t- Chapter 7.2 Alert with passive buzzer\n3. pwm_alert.adb\t\t- Use PWM to drive an passive buzzer\n4. buzz_and_blink-main.adb\t- Use tasks to drive both a buzzer and an LED\n\nRead the full tutorial at [Chapter 7: Controlling a Buzzer](https://pi-ada-tutorial.sourceforge.io/pico_ada_c07_buzzer), [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_c07_buzzer/)\n",
          "maintainers": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "maintainers-logins": [
            "krischik"
          ],
          "name": "pico_ada_c07_buzzer",
          "origin": {
            "hashes": [
              "sha256:59471c77782092b301fd1e8526893cab949d57f4da618b50718b908586f180f5",
              "sha512:0b2248d3575a9c46f9c21b665076b68c2e05d759f7ecd9a6471c64dbf2729a30124b99aa3a5da80213c4c7805b7e4980fcb2f24c3b0d61294932d4f9410bc8c6"
            ],
            "url": "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c07_buzzer-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_c07_buzzer"
        },
        "path": "index/pi/pico_ada_c07_buzzer/pico_ada_c07_buzzer-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": "embedded_rp2040",
            "package": "embedded_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": {
              "embedded_rp2040": {
                "Board": "rpi_pico",
                "Max_CPUs": 2
              },
              "pico_xbsp": {
                "Variant": "tasking"
              },
              "rp2040_hal": {
                "Interrupts": "bb_runtimes",
                "Use_Startup": false
              }
            }
          },
          "depends-on": [
            {
              "embedded_rp2040": "^15.4",
              "pico_bsp": "^2.2",
              "pico_xbsp": "^1.7",
              "rp2040_hal": "^2.7.1"
            }
          ],
          "description": "Chapter 7: Controlling active and passive Buzzer",
          "executables": [
            "buzz_and_blink-main",
            "pwm_alert",
            "sketch_07_1_doorbell",
            "sketch_07_2_alert"
          ],
          "licenses": "GPL-3.0-or-later",
          "long-description": "Learn how to drive active and passive buzzers with the Raspberry Pi Pico using Ada.\nFrom simple doorbell switches to PWM-generated sweeping alert tones - including hardware tips with flyback diodes and\noscilloscope measurements.\n\nIn this chapter we connect both active and passive buzzers to the Pico. We start with a simple button-controlled\ndoorbell, improve the passive buzzer with bit-banging, and finally create a clean sweeping alert tone using the Pico's\nPWM hardware. We also look at inductive-load protection and why a diode is essential.\n\nContained in Chapter 07 are:\n\n1. sketch_07_1_doorbell.adb\t- Chapter 7.1 Doorbell with active buzzer\n2. sketch_07_2_alert.adb\t- Chapter 7.2 Alert with passive buzzer\n3. pwm_alert.adb\t\t- Use PWM to drive an passive buzzer\n4. buzz_and_blink-main.adb\t- Use tasks to drive both a buzzer and an LED\n\nRead the full tutorial at [Chapter 7: Controlling a Buzzer](https://pi-ada-tutorial.sourceforge.io/pico_ada_c07_buzzer), [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_c07_buzzer/)\n",
          "maintainers": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "maintainers-logins": [
            "krischik"
          ],
          "name": "pico_ada_c07_buzzer",
          "origin": {
            "hashes": [
              "sha256:21f6c12ec35ec649cc96fbecbe845045660b5b7f33a35094246ed4f7e3f759e8",
              "sha512:76a90b99908791284c03420bed42e3ae8781d49d296e173a217c4e61086dea082142116acb1597e4c7dafa435e7e8807f1b84be212f4e978be13b4679518f32c"
            ],
            "url": "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c07_buzzer-1.7.1.tgz"
          },
          "tags": [
            "raspberry",
            "pi",
            "pico",
            "rp2040",
            "tasking",
            "light-tasking",
            "ada2022",
            "embedded"
          ],
          "version": "1.7.1",
          "website": "https://pi-ada-tutorial.sourceforge.io/pico_ada_c07_buzzer"
        },
        "path": "index/pi/pico_ada_c07_buzzer/pico_ada_c07_buzzer-1.7.1.toml",
        "version": "1.7.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": "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
              },
              "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.7",
              "rp2040_hal": "^2.7.1"
            }
          ],
          "description": "Chapter 7: Controlling active and passive Buzzer",
          "executables": [
            "pwm_alert",
            "sketch_07_1_doorbell",
            "sketch_07_2_alert"
          ],
          "licenses": "GPL-3.0-or-later",
          "long-description": "Learn how to drive active and passive buzzers with the Raspberry Pi Pico using Ada.\nFrom simple doorbell switches to PWM-generated sweeping alert tones - including hardware tips with flyback diodes and\noscilloscope measurements.\n\nIn this chapter we connect both active and passive buzzers to the Pico. We start with a simple button-controlled\ndoorbell, improve the passive buzzer with bit-banging, and finally create a clean sweeping alert tone using the Pico's\nPWM hardware. We also look at inductive-load protection and why a diode is essential.\n\nContained in Chapter 07 are:\n\n1. sketch_07_1_doorbell.adb\t - Chapter 7.1 Doorbell with active buzzer\n2. sketch_07_2_alert.adb\t - Chapter 7.2 Alert with passive buzzer\n3. pwm_alert.adb\t\t - Use PWM to drive an passive buzzer\n\nRead the full tutorial at [Chapter 7: Controlling a Buzzer](https://pi-ada-tutorial.sourceforge.io/pico_ada_c07_buzzer), [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_c07_buzzer/)\n",
          "maintainers": [
            "Martin Krischik <krischik@users.sourceforge.net>"
          ],
          "maintainers-logins": [
            "krischik"
          ],
          "name": "pico_ada_c07_buzzer",
          "origin": {
            "hashes": [
              "sha256:52e42549c15a0d30627cf528ee7bdbdde80ca42db7aa6d34e10166e4ec574312",
              "sha512:8631b01ca755cd510061654d65ea47c419ca512aa00efe2f457eda8af60d8b76b2c873a70e5a0608792930e9e7bb7b42ab99b5c7fc4221a69688c3b1737c8638"
            ],
            "url": "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c07_buzzer-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_c07_buzzer"
        },
        "path": "index/pi/pico_ada_c07_buzzer/pico_ada_c07_buzzer-1.7.0.toml",
        "version": "1.7.0"
      }
    ]
  },
  "schema_version": 4
}
