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