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