From 3c0da6a3592c715fa901e100a6d5ad256f19f67f Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sat, 12 Nov 2016 00:09:20 +0300 Subject: [PATCH] examples/hwapi: button_led: Add GPIO pin read example. Requires BUTTON defined in hwconfig, so far tested on DragonBoard 410c. --- examples/hwapi/button_led.py | 9 +++++++++ examples/hwapi/hwconfig_dragonboard410c.py | 7 +++++++ 2 files changed, 16 insertions(+) create mode 100644 examples/hwapi/button_led.py diff --git a/examples/hwapi/button_led.py b/examples/hwapi/button_led.py new file mode 100644 index 000000000..bd6fe0172 --- /dev/null +++ b/examples/hwapi/button_led.py @@ -0,0 +1,9 @@ +import utime +from hwconfig import LED, BUTTON + +# Light LED when (and while) a BUTTON is pressed + +while 1: + LED.value(BUTTON.value()) + # Don't burn CPU + utime.sleep_ms(10) diff --git a/examples/hwapi/hwconfig_dragonboard410c.py b/examples/hwapi/hwconfig_dragonboard410c.py index 00f21a658..32fdb9dd6 100644 --- a/examples/hwapi/hwconfig_dragonboard410c.py +++ b/examples/hwapi/hwconfig_dragonboard410c.py @@ -1,12 +1,19 @@ from machine import Pin # 96Boards/Qualcomm DragonBoard 410c +# # By default, on-board LEDs are controlled by kernel LED driver. # To make corresponding pins be available as normal GPIO, # corresponding driver needs to be unbound first (as root): # echo -n "soc:leds" >/sys/class/leds/apq8016-sbc:green:user1/device/driver/unbind # Note that application also either should be run as root, or # /sys/class/gpio ownership needs to be changed. +# Likewise, onboard buttons are controlled by gpio_keys driver. +# To release corresponding GPIOs: +# echo -n "gpio_keys" >/sys/class/input/input1/device/driver/unbind # User LED 1 on gpio21 LED = Pin(21, Pin.OUT) + +# Button S3 on gpio107 +BUTTON = Pin(107, Pin.IN)