pico_ada_c07_buzzer 1.7.1 (#1936)

This commit is contained in:
Martin Krischik
2026-05-23 13:46:28 +02:00
committed by GitHub
parent fd4a04f9e9
commit 85a3691b34
@@ -0,0 +1,70 @@
name = "pico_ada_c07_buzzer"
description = "Chapter 7: Controlling active and passive Buzzer"
long-description = """Learn how to drive active and passive buzzers with the Raspberry Pi Pico using Ada.
From simple doorbell switches to PWM-generated sweeping alert tones - including hardware tips with flyback diodes and
oscilloscope measurements.
In this chapter we connect both active and passive buzzers to the Pico. We start with a simple button-controlled
doorbell, improve the passive buzzer with bit-banging, and finally create a clean sweeping alert tone using the Pico's
PWM hardware. We also look at inductive-load protection and why a diode is essential.
Contained in Chapter 07 are:
1. sketch_07_1_doorbell.adb - Chapter 7.1 Doorbell with active buzzer
2. sketch_07_2_alert.adb - Chapter 7.2 Alert with passive buzzer
3. pwm_alert.adb - Use PWM to drive an passive buzzer
4. buzz_and_blink-main.adb - Use tasks to drive both a buzzer and an LED
Read the full tutorial at [Chapter 7: Controlling a Buzzer](https://pi-ada-tutorial.sourceforge.io/pico_ada_c07_buzzer), [GNATdoc
documentation](https://pi-ada-tutorial.sourceforge.io/gnatdoc/pico_doc/), [SourceForge
repository](https://sourceforge.net/p/pi-ada-tutorial/code/ci/master/tree/pico_ada_c07_buzzer/)
"""
version = "1.7.1"
licenses = "GPL-3.0-or-later"
authors = ["Martin Krischik <krischik@users.sourceforge.net>"]
maintainers = ["Martin Krischik <krischik@users.sourceforge.net>"]
maintainers-logins = ["krischik"]
website = "https://pi-ada-tutorial.sourceforge.io/pico_ada_c07_buzzer"
tags = ["raspberry", "pi", "pico", "rp2040", "tasking", "light-tasking", "ada2022", "embedded"]
executables = [
"buzz_and_blink-main",
"pwm_alert",
"sketch_07_1_doorbell",
"sketch_07_2_alert"]
[build-switches]
"*".ada_version = ["-gnat2022"]
development.compile_checks = "Warnings"
development.contracts = "Yes"
development.runtime_checks = "Overflow"
release.compile_checks = "Warnings"
release.contracts = "No"
release.runtime_checks = "Default"
validation.compile_checks = "Warnings"
validation.contracts = "Yes"
validation.runtime_checks = "Everything"
[[depends-on]]
rp2040_hal = "^2.7.1"
pico_bsp = "^2.2"
pico_xbsp = "^1.7"
embedded_rp2040 = "^15.4"
[configuration.values]
pico_xbsp.Variant = "tasking"
rp2040_hal.Use_Startup = false
rp2040_hal.Interrupts = "bb_runtimes"
embedded_rp2040.Max_CPUs = 2
embedded_rp2040.Board = "rpi_pico"
# vim: set textwidth=120 nowrap tabstop=8 shiftwidth=4 softtabstop=4 noexpandtab :
# vim: set filetype=toml fileencoding=utf-8 fileformat=unix foldmethod=diff :
# vim: set spell spelllang=en_gb :
[origin]
hashes = [
"sha256:21f6c12ec35ec649cc96fbecbe845045660b5b7f33a35094246ed4f7e3f759e8",
"sha512:76a90b99908791284c03420bed42e3ae8781d49d296e173a217c4e61086dea082142116acb1597e4c7dafa435e7e8807f1b84be212f4e978be13b4679518f32c",
]
url = "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c07_buzzer-1.7.1.tgz"