Test ran at 2025-02-22 00:44:08.360322+00:00 SOLUTION: microbit_examples=0.1.0: Examples and tutorials for Ada on the BBC micro:bit Origin: commit a926cc69faf2cb7805f5dff508b587f2ed7fc065 from https://github.com/Fabien-Chouteau/microbit_examples.git Properties: Auto_Gpr_With: auto-gpr-with=false Description: Examples and tutorials for Ada on the BBC micro:bit GPR External: CORTEXM_BUILD_MODE := debug GPR External: CORTEXM_CONTRACTS := enabled GPR External: CORTEXM_RUNTIME_CHECKS := enabled GPR External: MICROBIT_BSP_BUILD_MODE := debug GPR External: MICROBIT_BSP_CONTRACTS := enabled GPR External: MICROBIT_BSP_RUNTIME_CHECKS := enabled GPR External: NRF5X_BUILD_MODE := debug GPR External: NRF5X_CONTRACTS := enabled GPR External: NRF5X_RUNTIME_CHECKS := enabled License: BSD-3-Clause Long_Description: # microbit_examples This crate is a snapshot of the micro:bit examples in [Ada Drivers Library](https://github.com/AdaCore/Ada_Drivers_Library/tree/master/arch/ARM/cortex_m). Any bug report, issue, contribution must be adressed to the [Ada Drivers Library](https://github.com/AdaCore/Ada_Drivers_Library/) repo. The Micro:Bit is a very small ARM Cortex-M0 board designed by the BBC for computer education. It's fitted with a [Nordic nRF51](https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF51822) Bluetooth enabled microcontroller and an embedded programmer. You can get it at: - [Pimoroni (UK/EU)](https://shop.pimoroni.com/collections/micro-bit/products/microbit) - [Kitronik (UK/EU)](https://www.kitronik.co.uk/5613-bbc-microbit-board-only.html) - [ThePiHut (UK/EU)](https://thepihut.com/collections/microbit/products/micro-bit) - [AdaFruit (US)](https://www.adafruit.com/products/3530) # How to setup the Ada development environment for the Micro:Bit GNAT Community now comes with micro:bit and pyOCD support built-in. So you only need to download the ARM ELF and the native package from [here](https://www.adacore.com/download) ## pyOCD programmer The Micro:Bit comes with an embedded programming/debugging probe implementing the [CMSIS-DAP](https://docs.mbed.com/docs/mbed-os-handbook/en/latest/advanced/DAP/) protocol defined by ARM. To use it on Linux, you might need privileges to access the USB ports without which the flash program will say "No connected boards". On Ubuntu, you can do it by creating (as administrator) the file /etc/udev/rules.d/mbed.rules and add the line: ``` SUBSYSTEM=="usb", ATTR{idVendor}=="0d28", ATTR{idProduct}=="0204", MODE="0666" ``` then restarting the service by doing ```shell $ sudo udevadm trigger ``` ## Open one of example projects and build it Start GNAT Programming studio (GPS) with Alire and one micro:bit example project: - `alr edit analog_in/analog_in.gpr` - `alr edit follower/follower.gpr` - `alr edit digital_in/digital_in.gpr` - `alr edit accelerometer/accelerometer.gpr` - `alr edit buttons/buttons.gpr` - `alr edit BLE_beacon/BLE_beacon.gpr` - `alr edit digital_out/digital_out.gpr` - `alr edit servos/servos.gpr` - `alr edit neopixel/neopixel.gpr` - `alr edit text_scrolling/text_scrolling.gpr` - `alr edit analog_out/analog_out.gpr` - `alr edit music/music.gpr` Press F4 and then press Enter to build the project. ## Program the board Plug your micro:bit board with a USB cable, and wait for the system to recognize it. This can take a few seconds In the GPS toolbar, click on the "flash to board" button to program the micro:bit. After a few seconds, you should see a text scrolling on the LED matrix. That's it, you are ready to hack the micro:bit with Ada! Maintainer: chouteau@adacore.com Maintainers_Logins: Fabien-Chouteau Name: microbit_examples Project_File: analog_in/analog_in.gpr Project_File: follower/follower.gpr Project_File: digital_in/digital_in.gpr Project_File: accelerometer/accelerometer.gpr Project_File: buttons/buttons.gpr Project_File: BLE_beacon/BLE_beacon.gpr Project_File: digital_out/digital_out.gpr Project_File: servos/servos.gpr Project_File: neopixel/neopixel.gpr Project_File: text_scrolling/text_scrolling.gpr Project_File: analog_out/analog_out.gpr Project_File: music/music.gpr Tag: embedded Tag: nostd Tag: microbit Tag: nrf51 Version: 0.1.0 Website: https://github.com/AdaCore/Ada_Drivers_Library/ Dependencies (direct): microbit_bsp~0.1.0 Dependencies (solution): adl_middleware=0.1.1 cortex_m=0.2.0 embedded_components=0.1.0 hal=0.1.0 microbit_bsp=0.1.0 nrf5x_hal=0.1.0 Dependencies (missing): gnat_arm_elf^11.2 (indirect,missed:unavailable) Dependencies (graph): adl_middleware=0.1.1 --> hal=0.1.0 (^0.1.0) cortex_m=0.2.0 --> hal=0.1.0 (^0.1.0) embedded_components=0.1.0 --> adl_middleware=0.1.1 (^0.1.0) embedded_components=0.1.0 --> hal=0.1.0 (^0.1.0) microbit_bsp=0.1.0 --> embedded_components=0.1.0 (^0.1.0) microbit_bsp=0.1.0 --> hal=0.1.0 (^0.1.0) microbit_bsp=0.1.0 --> nrf5x_hal=0.1.0 (^0.1.0) microbit_examples=0.1.0 --> microbit_bsp=0.1.0 (~0.1.0) nrf5x_hal=0.1.0 --> cortex_m=0.2.0 (~0.2.0) nrf5x_hal=0.1.0 --> gnat_arm_elf^11.2 nrf5x_hal=0.1.0 --> hal=0.1.0 (~0.1.0) Dependencies cannot be met LOG: