Pi Ada Tutorial release 1.8.0 (#1982)
Add pico_ada_c08_serial_communication and do full refresh for the older samples.
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
name = "pico_ada_c01_blink"
|
||||
description = "Chapter 1: Blinking LEDs - Getting Started on the Raspberry Pi Pico"
|
||||
long-description = """My first steps into Ada programming on the Pico: from Jeremy Grosser's classic
|
||||
blink example through explicit pin control to using an external LED, plus thoughts on the elegant (but still
|
||||
experimental) Ravenscar profile.
|
||||
|
||||
Starting simple with LED blinking in Ada - internal LED, external LED with proper renaming, and a look at why Ravenscar
|
||||
looks so clean (even if it's not quite ready for everyday use yet).
|
||||
|
||||
Contained in Chapter 01 are:
|
||||
|
||||
1. blink - Jeremy Grosser Ada sample
|
||||
2. sketch_01_1_blink - Chapter 1.1 Blink internal LED
|
||||
3. sketch_01_2_blink - Chapter 1.2 Blink external LED
|
||||
"""
|
||||
notes = """
|
||||
Read the full tutorial at [Chapter 1: Blinking LEDs - Getting Started with Ada on the Raspberry Pi
|
||||
Pico](https://pi-ada-tutorial.sourceforge.io/pico_ada_c01_blink), [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_c01_blink/)
|
||||
"""
|
||||
version = "1.8.0"
|
||||
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_c01_blink"
|
||||
tags = ["raspberry", "pi", "pico", "rp2040", "ada2022", "embedded"]
|
||||
executables = [
|
||||
"blink",
|
||||
"sketch_01_1_blink",
|
||||
"sketch_01_2_blink"
|
||||
]
|
||||
|
||||
[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]]
|
||||
pico_bsp = "^2.2"
|
||||
pico_xbsp = "^1.8"
|
||||
|
||||
[configuration.values]
|
||||
pico_xbsp.Event_Log_Output = "uart"
|
||||
|
||||
# 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:fafec550f6c3803c17da6f10c677bc576c4effb284943169465e87092aa4817d",
|
||||
"sha512:a09a1084c894df4014a5213b73c571045505de4975b90a847f72c779cc1b5337218255ddaf0897bb68c31383d86ac16467353499f1229c8e3c4527d0b3519934",
|
||||
]
|
||||
url = "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c01_blink-1.8.0.tgz"
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
name = "pico_ada_c01_blink_e"
|
||||
description = "Chapter 1 Reloaded: Blinking LEDs on Both Cores"
|
||||
long-description = """Blinking LEDs on Both Cores Updated Chapter 1 using the new embedded_rp2040
|
||||
runtime - now with proper multi-core support, Ada.Real_Time, and delay until for accurate, slippage-free LED blinking on
|
||||
Raspberry Pi Pico.
|
||||
|
||||
After quick community help, I rewrote Chapter 1 to use light tasking on both RP2040 cores. No more manual timers -
|
||||
clean, precise dual-LED blinking with zero slippage.
|
||||
|
||||
Contained in Chapter 01 reloaded are:
|
||||
|
||||
1. blink - Jeremy Grosser Ada sample
|
||||
2. sketch_01_1_blink - Chapter 1.1 Blink internal LED
|
||||
3. sketch_01_2_blink - Chapter 1.2 Blink external LED
|
||||
4. double_blink-main - double blink using both cores.
|
||||
|
||||
Read the full tutorial at [Chapter 1 Reloaded: Dual-Core Light Tasking - Blinking LEDs on Both
|
||||
Cores](https://pi-ada-tutorial.sourceforge.io/pico_ada_c01_blink_e), [GNATdoc
|
||||
documentation](https://pi-ada-tutorial.sourceforge.io/gnatdoc/pico_doc/), [SourceForge
|
||||
repository](https://sourceforge.net/p/pi-ada-tutorial/code/ci/master/tree/pico2_ada_c01_blink_lt/)
|
||||
"""
|
||||
|
||||
version = "1.8.0"
|
||||
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_c01_blink_e"
|
||||
tags = ["raspberry", "pi", "pico", "rp2040", "tasking", "light-tasking", "ada2022", "embedded"]
|
||||
executables = [
|
||||
"blink",
|
||||
"double_blink-main",
|
||||
"sketch_01_1_blink",
|
||||
"sketch_01_2_blink"
|
||||
]
|
||||
|
||||
[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.8"
|
||||
embedded_rp2040 = "^15.4"
|
||||
|
||||
[configuration.values]
|
||||
embedded_rp2040.Board = "rpi_pico"
|
||||
embedded_rp2040.Max_CPUs = 2
|
||||
pico_xbsp.Variant = "tasking"
|
||||
rp2040_hal.Interrupts = "bb_runtimes"
|
||||
rp2040_hal.Use_Startup = false
|
||||
|
||||
# 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:63b67f2fcc8d73aa407e13a1827d7308dbf2f3d367d6288bdff193ccd50893d0",
|
||||
"sha512:2a213a60a95a2eb344bd799552782c11b2787e7d4c5c3b2fad5ae1e1c94356b772170870cf592abf65bde45100192ef092af4e9d1e19562ad872d07ef7e6280d",
|
||||
]
|
||||
url = "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c01_blink_e-1.8.0.tgz"
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
name = "pico_ada_c01_blink_lt"
|
||||
description = "Chapter 1 Reloaded: Blinking LEDs on Both Cores"
|
||||
long-description = """Blinking LEDs on Both Cores Updated Chapter 1 using the new light_tasking_rp2040
|
||||
runtime - now with proper multi-core support, Ada.Real_Time, and delay until for accurate, slippage-free LED blinking on
|
||||
Raspberry Pi Pico.
|
||||
|
||||
After quick community help, I rewrote Chapter 1 to use light tasking on both RP2040 cores. No more manual timers -
|
||||
clean, precise dual-LED blinking with zero slippage.
|
||||
|
||||
Contained in Chapter 01 reloaded are:
|
||||
|
||||
1. blink - Jeremy Grosser Ada sample
|
||||
2. sketch_01_1_blink - Chapter 1.1 Blink internal LED
|
||||
3. sketch_01_2_blink - Chapter 1.2 Blink external LED
|
||||
4. double_blink-main - double blink using both cores.
|
||||
|
||||
Read the full tutorial at [Chapter 1 Reloaded: Dual-Core Light Tasking - Blinking LEDs on Both
|
||||
Cores](https://pi-ada-tutorial.sourceforge.io/pico_ada_c01_blink_lt), [GNATdoc
|
||||
documentation](https://pi-ada-tutorial.sourceforge.io/gnatdoc/pico_doc/), [SourceForge
|
||||
repository](https://sourceforge.net/p/pi-ada-tutorial/code/ci/master/tree/pico2_ada_c01_blink_lt/)
|
||||
"""
|
||||
|
||||
version = "1.8.0"
|
||||
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_c01_blink_lt"
|
||||
tags = ["raspberry", "pi", "pico", "rp2040", "tasking", "light-tasking", "ada2022", "embedded"]
|
||||
executables = [
|
||||
"blink",
|
||||
"double_blink-main",
|
||||
"sketch_01_1_blink",
|
||||
"sketch_01_2_blink"
|
||||
]
|
||||
|
||||
[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]]
|
||||
light_tasking_rp2040 = "^15.4"
|
||||
pico_bsp = "^2.2"
|
||||
pico_xbsp = "^1.8"
|
||||
rp2040_hal = "^2.7.1"
|
||||
|
||||
[configuration.values]
|
||||
light_tasking_rp2040.Board = "rpi_pico"
|
||||
light_tasking_rp2040.Max_CPUs = 2
|
||||
pico_xbsp.Variant = "tasking"
|
||||
rp2040_hal.Interrupts = "bb_runtimes"
|
||||
rp2040_hal.Use_Startup = false
|
||||
|
||||
# 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:a9e2019b8ca3f4b921deeecaa4a0bd816383dab7a183c403c925395dd4783a75",
|
||||
"sha512:29479274cb66dd145f377790199bd90b919858b7fbac48ff9d69012f02e1d8877c19d895128d855a91a11542118082796cd7d7793979266300e69d7337cad20f",
|
||||
]
|
||||
url = "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c01_blink_lt-1.8.0.tgz"
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
name = "pico_ada_c02_button_and_led"
|
||||
description = "Chapter 2 - Button controled LEDs"
|
||||
long-description = """Controlling an LED with a button on the Raspberry Pi Pico using Ada - two simple
|
||||
but useful interaction examples.
|
||||
|
||||
In this chapter I combine a push button with an LED. We start with basic on/off control, then move to a toggle-style
|
||||
table lamp with software debounce.
|
||||
|
||||
Contained in Chapter 02 are:
|
||||
|
||||
1. sketch_02_1_button_and_led - Chapter 2.1 Switch LED with Button
|
||||
2. sketch_02_2_table_lamp - Chapter 2.2 Simple table lamp
|
||||
|
||||
Read the full tutorial at [Chapter 2 - Button &
|
||||
LED](https://pi-ada-tutorial.sourceforge.io/pico_ada_c02_button_and_led), [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_c02_button_and_led/)
|
||||
"""
|
||||
|
||||
version = "1.8.0"
|
||||
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_c02_button_and_led"
|
||||
tags = ["raspberry", "pi", "pico", "rp2040", "tasking", "light-tasking", "ada2022", "embedded"]
|
||||
executables = [
|
||||
"sketch_02_1_button_and_led",
|
||||
"sketch_02_2_table_lamp"
|
||||
]
|
||||
|
||||
[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.8"
|
||||
light_tasking_rp2040 = "^15.4"
|
||||
|
||||
[configuration.values]
|
||||
light_tasking_rp2040.Board = "rpi_pico"
|
||||
light_tasking_rp2040.Max_CPUs = 2
|
||||
pico_xbsp.Variant = "tasking"
|
||||
rp2040_hal.Interrupts = "bb_runtimes"
|
||||
rp2040_hal.Use_Startup = false
|
||||
|
||||
# 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:de88eb38b8f3f5c4b2881f7e7470327bb6c02308d2776945065a4e802779fdd1",
|
||||
"sha512:694c69e664c8d8bd4ed4bff9fb0d89447354076a43e597092066e281100fad93caf80405701246e7e7df502d936008797d524c29bd43c3ccc6c28b9bde136f91",
|
||||
]
|
||||
url = "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c02_button_and_led-1.8.0.tgz"
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
name = "pico_ada_c03_led_bar"
|
||||
description = "Chapter 3 - Cylon LED Bar: flowing light upgraded to a menacing scanner"
|
||||
long-description = """Building a smooth flowing LED bar on the Raspberry Pi Pico with Ada - from a simple
|
||||
chasing light to a proper menacing Cylon scanner effect using real-time delays.
|
||||
|
||||
In this chapter we turn ten LEDs into a flowing light bar. We start with the basic Freenove example using an array of
|
||||
RP.GPIO.GPIO_Point (aliased limited tagged types). We then improve it with a pre-calculated sine-harmonic timing table
|
||||
to create a realistic Cylon scanner - all done with Ada.Real_Time and zero floating-point at runtime for perfect
|
||||
jitter-free movement.
|
||||
|
||||
Contained in Chapter 03 are:
|
||||
|
||||
1. Sketch_03_1_Flowing_Light - straight port of the classic flowing light
|
||||
2. Cylon_Light - the final dramatic Cylon scanner with organic easing
|
||||
3. Cylon_Light_Float - Floating point version of Cylon_Light
|
||||
|
||||
Read the full tutorial at [Chapter 3 - Cylon LED Bar: flowing light upgraded to a menacing
|
||||
scanner](https://pi-ada-tutorial.sourceforge.io/pico_ada_c03_led_bar), [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_c03_led_bar/)
|
||||
|
||||
(The Cylons did nothing wrong. Humans created the perfect companion species and then completely messed it up.)
|
||||
"""
|
||||
version = "1.8.0"
|
||||
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_c03_led_bar"
|
||||
tags = ["raspberry", "pi", "pico", "rp2040", "tasking", "light-tasking", "ada2022", "embedded"]
|
||||
executables = [
|
||||
"sketch_03_1_flowing_light",
|
||||
"cylon_light_float",
|
||||
"cylon_light"
|
||||
]
|
||||
|
||||
[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.8"
|
||||
light_tasking_rp2040 = "^15.4"
|
||||
|
||||
[configuration.values]
|
||||
light_tasking_rp2040.Board = "rpi_pico"
|
||||
light_tasking_rp2040.Max_CPUs = 2
|
||||
pico_xbsp.Variant = "tasking"
|
||||
rp2040_hal.Interrupts = "bb_runtimes"
|
||||
rp2040_hal.Use_Startup = false
|
||||
|
||||
# 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:c3f59a4f81cd5361618b3db1ebc2e4b47226f60f3d3ce3b983cea9061efde9ce",
|
||||
"sha512:48c291835ec6f507c3f8571c14d82ecddb9b768695a89d366555e1557fafb30e8af37bb5778a203f131b37042d826446ac49f3d052718ad5497e219062306509",
|
||||
]
|
||||
url = "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c03_led_bar-1.8.0.tgz"
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
name = "pico_ada_c04_pwm"
|
||||
description = "Chapter 4: Analog LED with PWM"
|
||||
long-description = """Building smooth breathing LEDs and flowing light bars with hardware PWM on the
|
||||
Raspberry Pi Pico using Ada. From jittery duty cycles to perfect linear dimming - guided by the Voltcraft MSO-5102B
|
||||
oscilloscope and a deep dive into PWM slice mapping on both Pico 1 and Pico 2.
|
||||
|
||||
In this chapter we create a reusable Pico.Analog package for PWM-based analogue output. We start with a classic
|
||||
breathing light, then move on to a flowing light bar. Along the way the MSO-5102B reveals the real behaviour of our
|
||||
code, and we discover (and fix) a subtle bug in the experimental RP2350 HAL.
|
||||
|
||||
Contained in Chapter 04 are:
|
||||
|
||||
1. Pwm - Original PWM sample from Jeremy Grosser
|
||||
2. sketch_04_1_breathing_light - Chapter 4.1 Blink internal LED
|
||||
3. sketch_04_2_flowing_light_2 - Chapter 4.1 Project Meteor Flowing Light
|
||||
|
||||
Read the full tutorial at [Chapter 4: Analog & PWM](https://pi-ada-tutorial.sourceforge.io/pico_ada_c04_pwm), [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_c04_pwm/)
|
||||
"""
|
||||
|
||||
version = "1.8.0"
|
||||
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_c04_pwm"
|
||||
tags = ["raspberry", "pi", "pico", "rp2040", "tasking", "light-tasking", "ada2022", "embedded"]
|
||||
executables = [
|
||||
"pwm",
|
||||
"sketch_04_1_breathing_light",
|
||||
"sketch_04_2_flowing_light_2"
|
||||
]
|
||||
|
||||
[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.8"
|
||||
light_tasking_rp2040 = "^15.4"
|
||||
|
||||
[configuration.values]
|
||||
light_tasking_rp2040.Board = "rpi_pico"
|
||||
light_tasking_rp2040.Max_CPUs = 2
|
||||
pico_xbsp.Variant = "tasking"
|
||||
rp2040_hal.Interrupts = "bb_runtimes"
|
||||
rp2040_hal.Use_Startup = false
|
||||
|
||||
# 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:7475a1314ae669aeefe9a0d4f5917a6ad051e5960420813cdfd7c04d0b15cf29",
|
||||
"sha512:a98e0cf3b1ab424be02bd5f8b3442e9621bf42346c0c2978ab504a3b17a106e55d8b59e117a02318239dec4850d626c864cbb6af25df2ca3d9290742ee470b53",
|
||||
]
|
||||
url = "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c04_pwm-1.8.0.tgz"
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
name = "pico_ada_c05_rgb"
|
||||
description = "Chapter 5: Controlling an RGB LED with PWM"
|
||||
long-description = """Learn how to drive a common-cathode RGB LED using the RP2040's PWM peripherals.
|
||||
This chapter introduces a reusable Ada package for colour control and demonstrates both random colours and a smooth
|
||||
colour-wheel gradient.
|
||||
|
||||
Extend the simple LED examples to full-colour control with an RGB LED. Create a reusable `Pico.Analog.RGB_LED` package
|
||||
and explore two sketches: random colours (using the embedded runtime) and a smooth colour-wheel transition.
|
||||
|
||||
Contained in Chapter 05 are:
|
||||
|
||||
2. sketch_05_1_random_color_light.adb - Chapter 5.1 Random Color Light
|
||||
3. sketch_05_2_gradient_color_light.adb - Chapter 5.2 Gradient Color Light
|
||||
|
||||
Read the full tutorial at [Chapter 5: Controlling an RGB LED with
|
||||
PWM](https://pi-ada-tutorial.sourceforge.io/pico_ada_c05_rgb), [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_c05_rgb/)
|
||||
"""
|
||||
|
||||
version = "1.8.0"
|
||||
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_c05_rgb"
|
||||
tags = ["raspberry", "pi", "pico", "rp2040", "tasking", "light-tasking", "ada2022", "embedded"]
|
||||
executables = [
|
||||
"sketch_05_1_random_color_light",
|
||||
"sketch_05_2_gradient_color_light"
|
||||
]
|
||||
|
||||
[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.8"
|
||||
embedded_rp2040 = "^15.4"
|
||||
|
||||
[configuration.values]
|
||||
embedded_rp2040.Board = "rpi_pico"
|
||||
embedded_rp2040.Max_CPUs = 2
|
||||
pico_xbsp.Variant = "tasking"
|
||||
rp2040_hal.Interrupts = "bb_runtimes"
|
||||
rp2040_hal.Use_Startup = false
|
||||
|
||||
# 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:d1bdc090172ad819906d2bdd653c43af3635b1137f4c39f9a9d796780afdb419",
|
||||
"sha512:1effc8df15013b91cef36a3c5b5f39b60024a3ba257fbe582179081e3f4419809b6b2aae2e6120ba2fe2c33a9926cd8ca28ac737b00948115453bf442668ae0c",
|
||||
]
|
||||
url = "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c05_rgb-1.8.0.tgz"
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
name = "pico_ada_c06_neopixel"
|
||||
description = "Chapter 6: Controlling 8 NeoPixel RGB LED"
|
||||
long-description = """Learn how to drive WS2812 (NeoPixel) LEDs on the Raspberry Pi Pico using the RP2040
|
||||
PIO in Ada. Includes a square-wave diagnostic, fixes for the official ws2812_demo, and two complete animation sketches.
|
||||
|
||||
From understanding the WS2812 protocol to writing our own PIO code and creating colourful animations - everything you
|
||||
need to make NeoPixels dance with Ada on the Pico.
|
||||
|
||||
Contained in Chapter 06 are:
|
||||
|
||||
1. square_wave-main.adb - Simple Square Wave test using PIO (for timing reference)
|
||||
1. ws2812_demo.adb - Jeremy Grosser's WS2812 demo adapted for the RP2040 and Ada 2022
|
||||
2. sketch_06_1_led_pixel.adb - Chapter 6.1 NeoPixel LED Pixel
|
||||
3. sketch_06_2_rainbow_light.adb - Chapter 6.2 NeoPixel Rainbow Light
|
||||
|
||||
Read the full tutorial at [Chapter 6: Controlling an NeoPixel LED with
|
||||
PWM](https://pi-ada-tutorial.sourceforge.io/pico_ada_c06_neopixel), [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_c06_neopixel/)
|
||||
"""
|
||||
version = "1.8.0"
|
||||
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_c06_neopixel"
|
||||
tags = ["raspberry", "pi", "pico", "rp2040", "tasking", "light-tasking", "ada2022", "embedded"]
|
||||
executables = [
|
||||
"square_wave-main",
|
||||
"ws2812_demo",
|
||||
"sketch_06_1_led_pixel",
|
||||
"sketch_06_2_rainbow_light"
|
||||
]
|
||||
|
||||
[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.8"
|
||||
light_tasking_rp2040 = "^15.4"
|
||||
|
||||
[configuration.values]
|
||||
light_tasking_rp2040.Board = "rpi_pico"
|
||||
light_tasking_rp2040.Max_CPUs = 2
|
||||
pico_xbsp.Variant = "tasking"
|
||||
rp2040_hal.Interrupts = "bb_runtimes"
|
||||
rp2040_hal.Use_Startup = false
|
||||
|
||||
# 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:a366fe30b23bfc67dcf10629f032cb28593cdadda0fef7465f0599a135157f66",
|
||||
"sha512:8fa1997c7bdf3906f4b8ad6a8653bd4f2f281b107d56307dbd3a11d0895bf6d674eb3dbdb8159d053ddbcb69bfbf2e261ace0ac84081546d5276556cadaa1690",
|
||||
]
|
||||
url = "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c06_neopixel-1.8.0.tgz"
|
||||
|
||||
@@ -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.8.0"
|
||||
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.8"
|
||||
embedded_rp2040 = "^15.4"
|
||||
|
||||
[configuration.values]
|
||||
embedded_rp2040.Board = "rpi_pico"
|
||||
embedded_rp2040.Max_CPUs = 2
|
||||
pico_xbsp.Variant = "tasking"
|
||||
rp2040_hal.Interrupts = "bb_runtimes"
|
||||
rp2040_hal.Use_Startup = false
|
||||
|
||||
# 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:59471c77782092b301fd1e8526893cab949d57f4da618b50718b908586f180f5",
|
||||
"sha512:0b2248d3575a9c46f9c21b665076b68c2e05d759f7ecd9a6471c64dbf2729a30124b99aa3a5da80213c4c7805b7e4980fcb2f24c3b0d61294932d4f9410bc8c6",
|
||||
]
|
||||
url = "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c07_buzzer-1.8.0.tgz"
|
||||
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
name = "pico_ada_c08_serial_communication"
|
||||
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_08_1_serial_print.adb - Chapter 8.1 Doorbell with active buzzer
|
||||
2. sketch_08_2_serial_rw.adb - Chapter 8.2 Alert with passive buzzer
|
||||
|
||||
Read the full tutorial at [Chapter 7: Controlling a Buzzer](https://pi-ada-tutorial.sourceforge.io/pico_ada_c08_serial_communication), [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_c08_serial_communication/)
|
||||
"""
|
||||
version = "1.8.0"
|
||||
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_c08_serial_communication"
|
||||
tags = ["raspberry", "pi", "pico", "rp2040", "tasking", "light-tasking", "ada2022", "embedded"]
|
||||
executables = [
|
||||
"sketch_08_1_serial_print",
|
||||
"sketch_08_2_serial_rw"]
|
||||
|
||||
[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]]
|
||||
embedded_rp2040 = "^15.4"
|
||||
pico_bsp = "^2.2"
|
||||
pico_xbsp = "^1.8"
|
||||
rp2040_hal = "^2.7.1"
|
||||
|
||||
[configuration.values]
|
||||
adacl_embedded.Event_Log_Buffer_Size = 0
|
||||
adacl_embedded.Variant = "no_tasking"
|
||||
embedded_rp2040.Board = "rpi_pico"
|
||||
embedded_rp2040.Max_CPUs = 2
|
||||
pico_xbsp.Variant = "tasking"
|
||||
rp2040_hal.Interrupts = "bb_runtimes"
|
||||
rp2040_hal.Use_Startup = false
|
||||
usb_embedded.Event_Log_Buffer_Size = 0
|
||||
usb_embedded.Log_Verbose = false
|
||||
|
||||
|
||||
# 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:149abc1746c734cc7e4024e6358eef2c4730ba9b22333ef5345775250862d263",
|
||||
"sha512:8fcb433e6ee3ff0d55f8bc746d6d7a515f1e476d05523e3a61144fa72de16962181034c421281a6324b2b7f67eb39e348d8ac71dbafc0390fc0421c8ff63cbf0",
|
||||
]
|
||||
url = "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c08_serial_communication-1.8.0.tgz"
|
||||
|
||||
Reference in New Issue
Block a user