{
  "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
      },
      "rp2040_hal": {
        "Interrupts": "bb_runtimes",
        "Use_Startup": false
      }
    }
  },
  "depends-on": [
    {
      "light_tasking_rp2040": "^15.3",
      "pico_bsp": "^2.2",
      "pico_xbsp": "^1.5",
      "rp2040_hal": "^2.7.1"
    }
  ],
  "description": "Chapter 4: Analog LED with PWM",
  "executables": [
    "pwm",
    "sketch_04_1_breathing_light",
    "sketch_04_2_flowing_light_2"
  ],
  "licenses": "GPL-3.0-or-later",
  "long-description": "Building smooth breathing LEDs and flowing light bars with hardware PWM on the\nRaspberry Pi Pico using Ada. From jittery duty cycles to perfect linear dimming - guided by the Voltcraft MSO-5102B\noscilloscope and a deep dive into PWM slice mapping on both Pico 1 and Pico 2.\n\nIn this chapter we create a reusable Pico.Analog package for PWM-based analogue output. We start with a classic\nbreathing light, then move on to a flowing light bar. Along the way the MSO-5102B reveals the real behaviour of our\ncode, and we discover (and fix) a subtle bug in the experimental RP2350 HAL.\n\nContained in Chapter 04 are:\n\n1. Pwm\t\t\t       - Original PWM sample from Jeremy Grosser\n2. sketch_04_1_breathing_light - Chapter 4.1 Blink internal LED\n3. sketch_04_2_flowing_light_2 - Chapter 4.1 Project Meteor Flowing Light\n\nRead the full tutorial at [Chapter 4: Analog & PWM](https://pi-ada-tutorial.sourceforge.io/pico_ada_c04_pwm), [GNATdoc\ndocumentation](https://pi-ada-tutorial.sourceforge.io/gnatdoc/pico_ada_c04_pwm/), [SourceForge\nrepository](https://sourceforge.net/p/pi-ada-tutorial/code/ci/master/tree/pico_ada_c04_pwm/)\n",
  "maintainers": [
    "Martin Krischik <krischik@users.sourceforge.net>"
  ],
  "maintainers-logins": [
    "krischik"
  ],
  "name": "pico_ada_c04_pwm",
  "origin": {
    "hashes": [
      "sha256:1c0dc4e2802f3e9b6ca2735fe42564cd3384a4f0f75a3e73127096c973e5143b",
      "sha512:fe9a0d144338413bf17ebedeb42de80f57e41526184350a18fd8f1a7824cd0ab23d1310a2e03853c6787b3b6d8264d49c1a0809b10136555d0c634ff83546e83"
    ],
    "url": "https://sourceforge.net/projects/pi-ada-tutorial/files/Alire/pico_ada_c04_pwm-1.6.0.tgz"
  },
  "tags": [
    "raspberry",
    "pi",
    "pico",
    "rp2040",
    "tasking",
    "light-tasking",
    "ada2022",
    "embedded"
  ],
  "version": "1.6.0",
  "website": "https://pi-ada-tutorial.sourceforge.io/pico_ada_c04_pwm"
}
