{
  "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"
}
