From df583d5819fc3358b663b2c000ff29f797e9c495 Mon Sep 17 00:00:00 2001 From: Joel Savitz Date: Wed, 17 Jun 2020 00:03:56 -0400 Subject: [PATCH] Integrate a number of existing RPi.GPIO API examples and much more changes in this patch: .coveragerc: - report coverage information on RPi/core.py instead of RPi/_GPIO.py due to file name change Makefile: - %s/unit-cov/test-cov/g - removed an extraneous comment RPi/GPIO/__init__.py: RPi/GPIO_DEVEL/__init__.py: - Added header docstrings - formatted and sorted API imports RPi/_GPIO.py -> RPi/core.py: - File renamed to clarify purpose - convert header to docstring format - sort and organize functions and constants - fix documentation errors and gramatical mistakes - add automatic invokation of cleanup() at interpreter exit - add RPi.GPIO.{RPI_INFO, RPI_REVISION, VERSION} constants - fix various cases of mishandling of iterable channel and value lists - fix pwm thread never releasing lock if thread dies due to exception when the main thread revokes access, however I suspect that this actually be a surface fix for another bug, will look into further (#29) - small tweaks to improve modularity - add support for single value and iterable lists of values for RPi.GPIO.cleanup() - allow PwM to successfully start without explicitly setting up a channel as an output because this library has a more relaxed attitude about those things - add warn on invalid call to PWM.start() - fix board numbering mode being actually pretty broken due to inconsistent mishandling of channel inputs of various forms - fix line_get_value being actually very broken and not retuning anything and therefore always returning None - fix gpio_function() being actually entirely broken so it returns the current function representing what is going on on a GPIO channel as RPi.GPIO would, but this requires further testing (#30) - fix RPi.GPIO.PWM.start() not returning the truth of whether a PwM thread has been successfully started or not examples/callback2.py: - add shabang examples/flash18.py: - remove debuginfo output toggle examples/input_examples.py: examples/output_examples.py: examples/pwm2.py: examples/pwm_usage.py: examples/random_usage.py: examples/try_import.py: - copy example code from Ben Croston's RPi.GPIO wiki on sourceforge - see the files for the sources - ensure that the code works with this library. I found quite a few bugs integrating these files - fix a few mistakes in the code - fix style examples/morse.py: - update morse code to current API version - add basic input validation - fix style examples/pwm.py: - renamed to pwm1.py for consistency examples/pwm1.py: - possible issue: takes two Ctl+C's to stop - this may be revelvant to (#29) examples/pwm3.py: examples/pwm4.py: - Copy example code from some forum - see the files for the sources non_root_permission.sh: - expand note on lack of persistence of effects post reboot spec/spec.tex: - fix some typos - tweak style and title - add entry for channel_valid_or_die - update some of the technical spec spec/sources.bib: - replace \url with \texttt spec/spec.pdf: - regenerate document with 1 inch margins test-style.sh: - scan RPi/core.py instead of RPi/_GPIO.py due to name change - add scan of examples/morese.py since it is again working tests/test_gpio.py: - style tweaks - fix test_gpio_function by making it actually test for the feature that now is possibly implemented correctly - modify test_setdebug info to turn it off before the next call to Reset to avoid printing a lot of text to the terminal - extend test_cleanup to validate the new features of cleanup() tests/test_pwm.py: - more thoroughly test PWM.start() Signed-off-by: Joel Savitz --- .coveragerc | 2 +- Makefile | 9 +- RPi/GPIO/__init__.py | 56 ++- RPi/GPIO_DEVEL/__init__.py | 24 +- RPi/{_GPIO.py => core.py} | 866 +++++++++++++++++++---------------- examples/callback2.py | 1 + examples/flash18.py | 2 - examples/input_examples.py | 75 +++ examples/morse.py | 271 ++++++----- examples/output_examples.py | 46 ++ examples/{pwm.py => pwm1.py} | 2 - examples/pwm2.py | 25 + examples/pwm3.py | 42 ++ examples/pwm4.py | 42 ++ examples/pwm_usage.py | 31 ++ examples/random_usage.py | 53 +++ examples/try_import.py | 17 + non_root_permission.sh | 4 + spec/sources.bib | 6 +- spec/spec.pdf | Bin 157754 -> 160597 bytes spec/spec.tex | 82 +++- test-style.sh | 4 +- tests/test_gpio.py | 32 +- tests/test_pwm.py | 20 +- 24 files changed, 1162 insertions(+), 550 deletions(-) rename RPi/{_GPIO.py => core.py} (84%) create mode 100755 examples/input_examples.py create mode 100755 examples/output_examples.py rename examples/{pwm.py => pwm1.py} (80%) create mode 100755 examples/pwm2.py create mode 100755 examples/pwm3.py create mode 100755 examples/pwm4.py create mode 100755 examples/pwm_usage.py create mode 100755 examples/random_usage.py create mode 100755 examples/try_import.py diff --git a/.coveragerc b/.coveragerc index 7006680..c05a228 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,2 +1,2 @@ [report] -include = RPi/_GPIO.py +include = RPi/core.py diff --git a/Makefile b/Makefile index d6975b4..de60ce8 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,12 @@ +# Makefile to automate common testing procedures for python3-libgpiod-rpi +# By Joel Savitz +# This is free software, see LICENSE for details + all: test -test: unit-cov style -#@echo "MAKE TEST PASS" +test: test-cov style -unit-cov: +test-cov: @bash test-cov.sh -m && echo "FUNTIONAL PASS" || echo "FAILURE IN UNIT TEST" style: diff --git a/RPi/GPIO/__init__.py b/RPi/GPIO/__init__.py index 6e0178e..2383935 100644 --- a/RPi/GPIO/__init__.py +++ b/RPi/GPIO/__init__.py @@ -1,7 +1,49 @@ -# The extended RPi.GPIO API -from RPi._GPIO import setup, cleanup, output, input, setmode, getmode, add_event_detect, remove_event_detect, event_detected, \ - add_event_callback, wait_for_edge, gpio_function, setwarnings, \ - getbias, setbias, getdirection, setdirection, getactive_state, setactive_state, \ - channel_valid_or_die, \ - BCM, BOARD, UNKNOWN, IN, OUT, RISING, FALLING, BOTH, PUD_UP, PUD_DOWN, PUD_OFF, PUD_DISABLE, \ - HIGH, LOW, PWM, I2C, SPI, HARD_PWM, SERIAL +""" +The RPi.GPIO API +Originally created by Ben Croston +Reimplemented and extended by Joel Savitz and Fabrizio D'Angelo +This is free software, see LICENSE for details +""" + +from RPi.core import\ + BCM,\ + BOARD,\ + BOTH,\ + FALLING,\ + HARD_PWM,\ + HIGH,\ + I2C,\ + IN,\ + LOW,\ + OUT,\ + PUD_DISABLE,\ + PUD_DOWN,\ + PUD_OFF,\ + PUD_UP,\ + PWM,\ + RISING,\ + RPI_INFO,\ + RPI_REVISION,\ + SPI,\ + UNKNOWN,\ + VERSION,\ + add_event_callback,\ + add_event_detect,\ + channel_valid_or_die,\ + cleanup,\ + event_detected, \ + getactive_state,\ + getbias,\ + getdirection,\ + getmode,\ + gpio_function,\ + input,\ + output,\ + remove_event_detect,\ + setactive_state,\ + setbias,\ + setdirection,\ + setmode,\ + setup,\ + setwarnings,\ + wait_for_edge diff --git a/RPi/GPIO_DEVEL/__init__.py b/RPi/GPIO_DEVEL/__init__.py index 6df1e84..3455730 100644 --- a/RPi/GPIO_DEVEL/__init__.py +++ b/RPi/GPIO_DEVEL/__init__.py @@ -1,3 +1,21 @@ -# Development functions, not needed for normal use -from RPi._GPIO import Reset, State_Access, setdebuginfo, is_all_ints, is_all_bools_or_directions,\ - is_iterable, line_get_mode, line_set_mode, _line_mode_none, _line_mode_out, _line_mode_in +""" +The new RPi.GPIO_DEVEL development and debug API +By Joel Savitz and Fabrizio D'Angelo +This is free software, see LICENSE for details +""" + +# We have added functions and constants to this list as we have seen +# necesary but we are open to adding more if there is any interest + +from RPi.core import\ + is_all_bools_or_directions,\ + is_all_ints,\ + is_iterable,\ + Reset,\ + setdebuginfo,\ + State_Access,\ + line_get_mode,\ + line_set_mode,\ + _line_mode_in,\ + _line_mode_none,\ + _line_mode_out diff --git a/RPi/_GPIO.py b/RPi/core.py similarity index 84% rename from RPi/_GPIO.py rename to RPi/core.py index 9405f3a..3137b74 100644 --- a/RPi/_GPIO.py +++ b/RPi/core.py @@ -1,16 +1,18 @@ -# -# Core implementation of python3-libgpiod-rpi -# By Joel Savitz and Fabrizio D'Angelo -# This is free software, see LICENSE for details -# +""" +Core implementation of python3-libgpiod-rpi +By Joel Savitz and Fabrizio D'Angelo +This is free software, see LICENSE for details +""" + import gpiod from warnings import warn import os import sys import time from threading import Thread, Event, Lock +import atexit -# BCM to Board mode conversion table +# BCM to Board mode conversion table for Raspbery Pi 3 Model B pin_to_gpio_rev3 = [ -1, -1, -1, 2, -1, 3, -1, 4, 14, -1, # NOQA 15, 17, 18, 27, -1, 22, 23, -1, 24, 10, # NOQA @@ -18,23 +20,42 @@ -1, 6, 12, 13, -1, 19, 16, 26, 20, -1, 21 # NOQA ] + # === User Facing Data === # Exact values for constants taken from RPi.GPIO source code # file: source/common.h +# [API] RPi.GPIO API version (not python3-libgpiod-rpi version) +# NOTE: we currently only officially support the Raspbery Pi 3 Model B +# but we soon plan to implement support for the Raspbery Pi 4 Model B +# We are limited by the hardware available to the developers +VERSION = "0.7.0" + +# [API] Hardware information +RPI_INFO = { + "P1_REVISION": 3, + "REVISION": "a22082", + "TYPE": "Pi 3 Model B", + "MANUFACTURER": "Embest" + "PROCESSOR" "BCM2837", + "RAM": "1G", +} +# [API] Depcrecated source of hardware information +RPI_REVISION = RPI_INFO["P1_REVISION"] + # [API] Pin numbering modes UNKNOWN = -1 BCM = 11 BOARD = 10 -# [API] Random constants +# [API] Random constants defined but unused in the latest RPi.GPIO release SERIAL = 40 SPI = 41 I2C = 42 HARD_PWM = 43 -# Output modes +# [API] Output modes LOW = gpiod.Line.ACTIVE_LOW HIGH = gpiod.Line.ACTIVE_HIGH @@ -49,13 +70,13 @@ def active_flag(const): return _LINE_ACTIVE_STATE_COSNT_TO_FLAG[const] +# [API] Software pull up/pull down resistor modes # We map RPi.GPIO PUD modes to libgpiod PUD constants PUD_OFF = gpiod.Line.BIAS_AS_IS PUD_UP = gpiod.Line.BIAS_PULL_UP PUD_DOWN = gpiod.Line.BIAS_PULL_DOWN -# We extend RPi.GPIO with the ability to explicitly disable pull up/down -# behavior +# We extend RPi.GPIO with the ability to explicitly disable pull up/down behavior PUD_DISABLE = gpiod.Line.BIAS_DISABLE # libgpiod uses distinct flag values for each line bias constant returned by @@ -74,7 +95,7 @@ def bias_flag(const): return _LINE_BIAS_CONST_TO_FLAG[const] -# internal line modes +# Internal line modes _line_mode_none = 0 _line_mode_in = gpiod.LINE_REQ_DIR_IN _line_mode_out = gpiod.LINE_REQ_DIR_OUT @@ -86,7 +107,7 @@ def bias_flag(const): _line_mode_as_is = gpiod.LINE_REQ_DIR_AS_IS -# [API] Request types +# [API] Line event types FALLING = _line_mode_falling RISING = _line_mode_rising BOTH = _line_mode_both @@ -132,9 +153,9 @@ def __init__(self, channel, target_type, args): def kill(self): self.killswitch.set() - end_critical_section(self.channel, msg="drop lock and join poll thread") + end_critical_section(self.channel, msg="drop lock and join line thread") self.join() - begin_critical_section(self.channel, msg="poll thread dead so get lock") + begin_critical_section(self.channel, msg="line thread dead so get lock") class _Line: @@ -220,11 +241,6 @@ def DCprint(channel, *msgargs): Dprint("[{}]".format(channel), *msgargs) -# Mess with the internal state for development or recreational purposes -def State_Access(): - return _State - - # Reset internal state to default def Reset(): Dprint("Reset begins") @@ -246,23 +262,29 @@ def Reset(): Dprint("Reset commplete") -def is_all_ints(data): +def State_Access(): + # The purpose of this funtion is to allow the user to mess with the + # internal state of the library for development or recreational purposes + return _State + + +def is_all_bools_or_directions(data): if not is_iterable(data): data = [data] if len(data) < 1: return False - return all([isinstance(elem, int) for elem in data]) \ - if not isinstance(data, int)\ + return all([(isinstance(elem, bool) or elem in [HIGH, LOW]) for elem in data]) \ + if not (isinstance(data, bool) or data in [HIGH, LOW])\ else True -def is_all_bools_or_directions(data): +def is_all_ints(data): if not is_iterable(data): data = [data] if len(data) < 1: return False - return all([(isinstance(elem, bool) or elem in [HIGH, LOW]) for elem in data]) \ - if not (isinstance(data, bool) or data in [HIGH, LOW])\ + return all([isinstance(elem, int) for elem in data]) \ + if not isinstance(data, int)\ else True @@ -275,8 +297,29 @@ def is_iterable(data): return True +def setdebuginfo(value): + """Enable or disable debug messages""" + if not value: + Dprint("debuginfo output set to", _State.debuginfo) + _State.debuginfo = bool(value) + if value: + Dprint("debuginfo output set to", _State.debuginfo) + + +def wait_for_edge_validation(edge, bouncetime, timeout): + if edge not in [RISING, FALLING, BOTH]: + raise ValueError("The edge must be set to RISING, FALLING or BOTH") + + if bouncetime is not None and bouncetime <= 0: + raise ValueError("Bouncetime must be greater than 0") + + if timeout and timeout < 0: + # error semantics differ from RPi.GPIO + raise ValueError("Timeout must be greater than or equal to 0") + + def channel_fix_and_validate_bcm(channel): - if channel < 0 or channel > _State.chip.num_lines() - 1: + if channel < 0 or channel > chip_get_num_lines() - 1: raise ValueError("The channel sent is invalid on a Raspberry Pi") else: return channel @@ -312,16 +355,6 @@ def channel_fix_and_validate(channel_raw): return channel_fix_and_validate_board(channel_raw) -def channel_valid_or_die(channel): - """ - Validate a channel/pin number - Returns the pin number on success otherwise throws a ValueError - - channel - an integer to be validated as a channel - """ - channel_fix_and_validate(channel) - - def validate_gpio_dev_exists(): # This function only ever needs to be run once if validate_gpio_dev_exists.found: @@ -349,7 +382,7 @@ def chip_init(): try: _State.chip = gpiod.Chip("gpiochip0") except PermissionError: - print("Script or interpreter must be run as root") + print("Unable to access /dev/gpiochip0. Are you sure you have permission?") sys.exit() Dprint("state chip has value:", _State.chip) @@ -359,6 +392,10 @@ def chip_close(): _State.chip = None +def chip_is_open(): + return _State.chip is not None + + def chip_init_if_needed(): if _State.chip is None: chip_init() @@ -424,6 +461,10 @@ def line_get_active_state(channel): return _State.lines[channel].line.active_state() +def line_get_direction(channel): + return _LINE_MODE_TO_DIR_CONST[line_get_mode(channel)] + + def line_get_bias(channel): return _State.lines[channel].line.bias() @@ -476,20 +517,24 @@ def line_pwm_start(channel, dutycycle): if not line_is_pwm(channel) and \ line_pwm_get_frequency(channel) != -1: begin_critical_section(channel, msg="pwm start") + + # If you forgot to setup this channel as an output, we've got you + line_set_mode(channel, _line_mode_out) + line_pwm_set_dutycycle(channel, dutycycle) _State.lines[channel].thread_start(_line_thread_pwm, args=(channel,)) + end_critical_section(channel, msg="pwm start") return line_is_pwm(channel) + else: + warn("invalid call to pwm_start(). Did you call PWM.__init__() on this channel?") + return False + # If the line is already running a PwM thread # return True, but if there is no thread running # and the user tried to call PWM.start() before # calling PWM.__init__() somewhow, then # return False and tell them to call init. - if line_is_pwm(channel): - return True - else: - warn("invalid call to pwm_start(). Did you call PWM.__init__() on this channel?") - return False def line_pwm_stop(channel): @@ -550,220 +595,239 @@ def line_set_value(channel, value): def line_get_value(channel): - _State.lines[channel].line.get_value() + return _State.lines[channel].line.get_value() -# === Interface Functions === +def line_event_wait_lock(channel, bouncetime, timeout): + begin_critical_section(channel, msg="event wait") + ret = line_event_wait(channel, bouncetime, timeout) + end_critical_section(channel, msg="event wait") + return ret -def setmode(mode): - """ - Set up numbering mode to use for channels. - BOARD - Use Raspberry Pi board numbers - BCM - Use Broadcom GPIO 00..nn numbers - """ - if _State.mode != UNKNOWN: - raise ValueError("A different mode has already been set!") - if mode != BCM and mode != BOARD: - raise ValueError("An invalid mode was passed to setmode()") +# requires lock +def line_event_wait(channel, bouncetime, timeout): + # Split up timeout into appropriate parts + timeout_sec = int(int(timeout) / 1000) + timeout_nsec = (int(timeout) % 1000) * 1000 - _State.mode = mode + ret = None - chip_init_if_needed() + # We only care about bouncetime if it is explicitly speficied in the call to this function or if + # this is not the first call to wait_for_edge on the specified pin + if bouncetime and _State.lines[channel].timestamp and \ + time.time() - _State.lines[channel].timestamp < bouncetime: + pass + elif _State.lines[channel].line.event_wait(sec=timeout_sec, nsec=timeout_nsec): + _State.lines[channel].timestamp = time.time() + if channel not in _State.event_ls: + # Ensure no double appends. FIXME: should this be done outside of a poll thread? + _State.event_ls.append(channel) + event = _State.lines[channel].line.event_read() - Dprint("mode set to", _State.mode) + # A hack to clear the event buffer by reading a bunch of bytes + # from the underlying file representing the GPIO line + eventfd = _State.lines[channel].line.event_get_fd() + os.read(eventfd, 10000) + if event: + ret = channel + return ret -def setwarnings(value): - """Enable or disable warning messages""" - _State.warnings = bool(value) - Dprint("warning output set to", _State.warnings) +def line_add_callback(channel, callback): + begin_critical_section(channel, "add callback") + _State.lines[channel].callbacks.append(callback) + end_critical_section(channel, "add callback") -def setdebuginfo(value): - """Enable or disable debug messages""" - _State.debuginfo = bool(value) - Dprint("debuginfo output set to", _State.debuginfo) +def line_thread_should_die(channel): + return _State.lines[channel].thread.killswitch.is_set() -def setup(channel, direction, pull_up_down=PUD_OFF, initial=None): - """ - Set up a GPIO channel or list of channels with a direction and (optional) pull/up down control - channel - either board pin number or BCM number depending on which mode is set. - direction - IN or OUT - [pull_up_down] - PUD_OFF (default), PUD_UP or PUD_DOWN - [initial] - Initial value for an output channel - """ - # Channel must contain only integral data - if not is_all_ints(channel): - raise ValueError("Channel must be an integer or list/tuple of integers") +TEN_MILLISECONDS_IN_SECONDS = 0.0010 - # Direction must be valid - if direction != IN and direction != OUT: - raise ValueError("An invalid direction was passed to setup()") - if direction == OUT and pull_up_down != PUD_OFF: - raise ValueError("pull_up_down parameter is not valid for outputs") +def line_do_poll(channel, bouncetime, timeout): - if direction == IN and initial: - raise ValueError("initial parameter is not valid for inputs") + while True: + begin_critical_section(channel, msg="do poll") + if line_thread_should_die(channel): + end_critical_section(channel, msg="do poll exit") + break + if line_event_wait(channel, bouncetime, timeout): + callbacks = _State.lines[channel].callbacks + for fn in callbacks(): + fn() + end_critical_section(channel, msg="do poll") + time.sleep(TEN_MILLISECONDS_IN_SECONDS) - if pull_up_down not in [PUD_OFF, PUD_UP, PUD_DOWN, PUD_DISABLE]: - raise ValueError("Invalid value for pull_up_down - should be either PUD_OFF, PUD_UP, PUD_DOWN, or PUD_DISABLE") - # Make the channel data iterable by force - if not is_iterable(channel): - channel = [channel] +def poll_thread(channel, edge, callback, bouncetime): - # This implements BOARD mode - for pin in channel: - pin = channel_fix_and_validate(pin) + # FIXME: this is arbitrary + timeout = 10 # milliseconds + wait_for_edge_validation(edge, bouncetime, timeout) - request_flags = 0 - request_flags |= bias_flag(pull_up_down) + DCprint(channel, "launch poll thread") + line_do_poll(channel, bouncetime, timeout) + DCprint(channel, "terminate poll thread") - for pin in channel: - try: - line_set_mode(pin, direction, request_flags) - if initial is not None: - line_set_value(pin, initial) - except OSError: - warn("This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.\n \ - Further attemps to use channel {} will fail unless setup() is run again sucessfully".format(pin)) +# NOTE: RPi.GPIO specifies: +# Default to 1 kHz frequency 0.0% dutycycle +# but interface functions require explicit arguments +def pwm_thread(channel): + DCprint(channel, "begin PwM thread with dutycycle {}% and frequency {} Hz".format(_State.lines[channel].dutycycle, + _State.lines[channel].frequency)) + + # We wrap the loop with a try except so we can drop the lock and exit if + # access to the channel is suddenly revoked by the main thread + try: + while True: + begin_critical_section(channel, msg="do pwm") + if line_thread_should_die(channel): + end_critical_section(channel, msg="do pwm exit") + break + if _State.lines[channel].dutycycle > 0: + line_set_value(channel, True) + DCprint(channel, "PwM: ON") + # PwM calculation for high voltage part of period: + time.sleep(1 / _State.lines[channel].frequency * (_State.lines[channel].dutycycle / 100.0)) + if _State.lines[channel].dutycycle < 100: + line_set_value(channel, False) + DCprint(channel, "PwM: OFF") + # PwM calculation for low voltage part of period: + time.sleep(1 / _State.lines[channel].frequency * (1.0 - _State.lines[channel].dutycycle / 100.0)) + end_critical_section(channel, msg="do pwm") + time.sleep(TEN_MILLISECONDS_IN_SECONDS) + # arbitrary time to sleep without lock + # TODO: may interfere with overall timing of PwM but it's rough anyway + except (ValueError, PermissionError): + # If this thread suddenly fails to access a channel, exit gracefully + end_critical_section(channel, msg="do pwm sudden exit") + + +# === RPi.GPIO API entry points === -def output(channel, value): - """ - Output to a GPIO channel or list of channel - channel - either board pin number or BCM number depending on which mode is set. - value - 0/1 or False/True or LOW/HIGH - {compat} channel and value parameters may be lists or tuples of equal length +def add_event_callback(channel, callback): """ - if not is_all_ints(channel): - raise ValueError("Channel must be an integer or list/tuple of integers") + Add a callback for an event already defined using add_event_detect() + channel - either board pin number or BCM number depending on which mode is set. + callback - a callback function" - if not is_iterable(channel): - channel = [channel] + {compat} we do not require that the channel be setup as an input + """ # This implements BOARD mode - for chan in channel: - chan = channel_fix_and_validate(chan) - - if (not is_all_ints(value)) and (not is_all_bools_or_directions(value)): - raise ValueError("Value must be an integer/boolean or a list/tuple of integers/booleans") - - if not is_iterable(value): - value = [value] + channel = channel_fix_and_validate(channel) - # Normalize the value argument - for i in range(len(value)): - if value[i] == HIGH: - value[i] = True - if value[i] == LOW: - value[i] = False + if not line_is_poll(channel): + raise RuntimeError("Add event detection using add_event_detect first before adding a callback") - if len(channel) != len(value): - raise RuntimeError("Number of channel != number of value") + if not callable(callback): + raise TypeError("Parameter must be callable") - for chan, val in zip(channel, value): - if line_get_mode(chan) != _line_mode_out: - warn("The GPIO channel has not been set up as an OUTPUT\n\tSkipping channel {}".format(chan)) - else: - try: - line_set_value(chan, bool(val)) - except PermissionError: - warn("Unable to set value of channel {}, did you forget to run setup()? Or did setup() fail?".format(chan)) + line_add_callback(channel, callback) -def input(channel): +def add_event_detect(channel, edge, callback=None, bouncetime=None): """ - Input from a GPIO channel. Returns HIGH=1=True or LOW=0=False - # channel - either board pin number or BCM number depending on which mode is set. + Enable edge detection events for a particular GPIO channel. + channel - either board pin number or BCM number depending on which mode is set. + edge - RISING, FALLING or BOTH + [callback] - A callback function for the event (optional) + [bouncetime] - Switch bounce timeout in ms for callback + + {compat} we do not require that the channel be setup as an input as a prerequiste to running this function, + however the initial value on the channel is undefined """ # This implements BOARD mode channel = channel_fix_and_validate(channel) - # this does't really make sense but it matches rpi gpio source code logic - if getdirection(channel) not in [IN, OUT]: - raise RuntimeError("You must setup() the GPIO channel first") + valid_edges = [RISING, FALLING, BOTH] + if edge not in valid_edges: + raise ValueError("The edge must be set to RISING, FALLING or BOTH") - # TODO I feel like we should do more validation + if callback and not callable(callback): + raise TypeError("Parameter must be callable") - return line_get_value(channel) + if bouncetime and bouncetime <= 0: + raise ValueError("Bouncetime must be greater than 0") + line_set_mode(channel, edge) + line_poll_start(channel, edge, callback, bouncetime) -def getmode(): - """ - Get numbering mode used for channel numbers. - Returns BOARD, BCM or None - """ - return _State.mode if _State.mode else None - - -def getbias(channel): - """ - Get bias mode of an active channel - Returns PUD_OFF, PUD_DOWN, PUD_UP, or PUD disabled if the channel is - active or just PUD_OFF if the channel is not active. +def channel_valid_or_die(channel): """ + Validate a channel/pin number + Returns the pin number on success otherwise throws a ValueError - channel = channel_fix_and_validate(channel) - - if line_is_active(channel): - return line_get_bias(channel) - else: - return PUD_OFF + channel - an integer to be validated as a channel + """ + channel_fix_and_validate(channel) -def setbias(channel, bias): +def cleanup(channels=None): """ - Set bias of an active channel + Clean up by resetting all GPIO channels that have been used by this program to INPUT with no pullup/pulldown and no event detection + [channel] - individual channel or list/tuple of channels to clean up. + Default - clean every channel that has been used. + + {compat} Cleanup is mostly handled by libgpiod and the kernel, but we use this opportunity to kill any running callback poll threads + as well as close any open file descriptors """ - channel = channel_fix_and_validate(channel) + if not chip_is_open(): + chip_init_if_needed() + _State.lines = [_Line(channel) for channel in range(chip_get_num_lines())] - if bias not in [PUD_OFF, PUD_UP, PUD_DOWN, PUD_DISABLE]: - raise ValueError("An invalid bias was passed to setbias()") + destroy = False + if channels is None: + destroy = True + channels = [i for i in range(chip_get_num_lines())] - current = getbias(channel) - if bias != current: - flags = line_get_flags(channel) - flags &= ~bias_flag(getbias(channel)) - flags |= bias_flag(bias) - line_set_flags(channel, flags) + if not is_all_ints(channels): + raise ValueError("Channel must be an integer or list/tuple of integers") + elif isinstance(channels, tuple): + # Convert tuples to lists to make them writable for normalization of values + channels = [c for c in channels] + if not destroy: + Dprint("NOT DESTROY: iterable=", is_iterable(channels)) + if not is_iterable(channels): + channels = [channels] + for i in range(len(channels)): + # This implements BOARD mode + channels[i] = channel_fix_and_validate(channels[i]) -def getdirection(channel): - """ - Get direction of an active channel - Returns OUT if the channel is in an output mode, IN if the channel is in an input mode, - and -1 otherwise - """ + Dprint("cleanup {} lines".format(len(channels))) + if not destroy: + Dprint("channels:", channels) + for chan in channels: + line_set_mode(chan, _line_mode_none) - channel = channel_fix_and_validate(channel) - return _LINE_MODE_TO_DIR_CONST[line_get_mode(channel)] + if destroy: + chip_destroy() -def setdirection(channel, direction): +def event_detected(channel): """ - Set direction of an active channel + Returns True if an edge has occurred on a given GPIO. You need to enable edge detection using add_event_detect() first. + channel - either board pin number or BCM number depending on which mode is set." """ + # This implements BOARD mode channel = channel_fix_and_validate(channel) - if direction != IN and direction != OUT: - raise ValueError("An invalid direction was passed to setdirection()") - - current = getdirection(channel) - if current != -1: - if current == IN and direction == OUT: - line_set_mode(channel, _line_mode_out) - elif current == OUT and direction == IN: - line_set_mode(channel, _line_mode_in) + if channel in _State.event_ls: + _State.event_ls.remove(channel) + return True + else: + return False def getactive_state(channel): @@ -780,285 +844,312 @@ def getactive_state(channel): return -1 -def setactive_state(channel, active_state): +def getbias(channel): """ - Set the active_state of an active channel + Get bias mode of an active channel + Returns PUD_OFF, PUD_DOWN, PUD_UP, or PUD disabled if the channel is + active or just PUD_OFF if the channel is not active. """ channel = channel_fix_and_validate(channel) - if active_state not in [HIGH, LOW]: - raise ValueError("An active state was passed to setactive_state()") + if line_is_active(channel): + return line_get_bias(channel) + else: + return PUD_OFF - current = getactive_state(channel) - if active_state != current: - flags = line_get_flags(channel) - flags &= ~active_flag(getactive_state(channel)) - flags |= active_flag(active_state) - line_set_flags(channel, flags) +def getdirection(channel): + """ + Get direction of an active channel + Returns OUT if the channel is in an output mode, IN if the channel is in an input mode, + and -1 otherwise + """ -def wait_for_edge_validation(edge, bouncetime, timeout): - if edge not in [RISING, FALLING, BOTH]: - raise ValueError("The edge must be set to RISING, FALLING or BOTH") + channel = channel_fix_and_validate(channel) + return line_get_direction(channel) - if bouncetime is not None and bouncetime <= 0: - raise ValueError("Bouncetime must be greater than 0") - if timeout and timeout < 0: - # error semantics differ from RPi.GPIO - raise ValueError("Timeout must be greater than or equal to 0") +def getmode(): + """ + Get numbering mode used for channel numbers. + Returns BOARD, BCM or None + """ + return _State.mode if _State.mode else None -def wait_for_edge(channel, edge, bouncetime=None, timeout=0): - """ - Wait for an edge. Returns the channel number or None on timeout. - channel - either board pin number or BCM number depending on which mode is set. - edge - RISING, FALLING or BOTH - [bouncetime] - time allowed between calls to allow for switchbounce - [timeout] - timeout in ms - {compat} bouncetime units are in seconds. this is subject to change +def gpio_function(channel): """ + Return the current GPIO function (IN, OUT, PWM, SERIAL, I2C, SPI) + channel - either board pin number or BCM number depending on which mode is set. - # Running this function before setup is allowed but the initial pin value is undefined - # RPi.GPIO requires one to setup a pin as input before using it for event detection, - # while libgpiod provides an interface that keeps the two mutually exclusive. We get around - # this by not requiring it, though to maintain the same semantics as RPi.GPIO, we attempt - # to release the channel's handle as a an input value, and acquire a new handle for an - # event value. + {compat} This is a stateless function that will return a constant value for every pin + """ # This implements BOARD mode channel = channel_fix_and_validate(channel) - wait_for_edge_validation(edge, bouncetime, timeout) - - # ensure the line is in the right mode - # FIXME does this break input mode? - try: - line_set_mode(channel, edge) - except OSError: - raise RuntimeError("Channel is currently in use (Device or Resource Busy)") - - return line_event_wait_lock(channel, bouncetime, timeout) - + mode = line_get_mode(channel) -def line_event_wait_lock(channel, bouncetime, timeout): - begin_critical_section(channel, msg="event wait") - ret = line_event_wait(channel, bouncetime, timeout) - end_critical_section(channel, msg="event wait") - return ret + if mode == _line_mode_out: + return OUT + elif mode == _line_mode_in: + return IN + else: + return UNKNOWN + # We will provide support for other potential values of gpio_function + # when the underlying functions (SPI, SERIAL, I2C, HARD_PWM) are implemented. -# requires lock -def line_event_wait(channel, bouncetime, timeout): - # Split up timeout into appropriate parts - timeout_sec = int(int(timeout) / 1000) - timeout_nsec = (int(timeout) % 1000) * 1000 - # We only care about bouncetime if it is explicitly speficied in the call to this function or if - # this is not the first call to wait_for_edge on the specified pin - if bouncetime and _State.lines[channel].timestamp and \ - time.time() - _State.lines[channel].timestamp < bouncetime: - ret = None - elif _State.lines[channel].line.event_wait(sec=timeout_sec, nsec=timeout_nsec): - _State.lines[channel].timestamp = time.time() - if channel not in _State.event_ls: - # Ensure no double appends. FIXME: should this be done outside of a poll thread? - _State.event_ls.append(channel) - event = _State.lines[channel].line.event_read() +def input(channel): + """ + Input from a GPIO channel. Returns HIGH=1=True or LOW=0=False + # channel - either board pin number or BCM number depending on which mode is set. + """ - # A hack to clear the event buffer by reading a bunch of bytes - # from the underlying file representing the GPIO line - eventfd = _State.lines[channel].line.event_get_fd() - os.read(eventfd, 10000) - ret = event - else: - ret = None + # This implements BOARD mode + channel = channel_fix_and_validate(channel) - return ret + # this does't really make sense but it matches rpi gpio source code logic + if getdirection(channel) not in [IN, OUT]: + raise RuntimeError("You must setup() the GPIO channel first") + # TODO I feel like we should do more validation -def line_thread_should_die(channel): - return _State.lines[channel].thread.killswitch.is_set() + return line_get_value(channel) -TEN_MILLISECONDS_IN_SECONDS = 0.0010 +def output(channel, value): + """ + Output to a GPIO channel or list of channel + channel - either board pin number or BCM number depending on which mode is set. + value - 0/1 or False/True or LOW/HIGH + {compat} channel and value parameters may be lists or tuples of equal length + """ + if not is_all_ints(channel): + raise ValueError("Channel must be an integer or list/tuple of integers") -def line_do_poll(channel, bouncetime, timeout): + if not is_iterable(channel): + channel = [channel] - while True: - begin_critical_section(channel, msg="do poll") - if line_thread_should_die(channel): - end_critical_section(channel, msg="do poll exit") - break - if line_event_wait(channel, bouncetime, timeout): - callbacks = _State.lines[channel].callbacks - for fn in callbacks(): - fn() - end_critical_section(channel, msg="do poll") - time.sleep(TEN_MILLISECONDS_IN_SECONDS) + if (not is_all_ints(value)) and (not is_all_bools_or_directions(value)): + raise ValueError("Value must be an integer/boolean or a list/tuple of integers/booleans") + # Convert tuples to lists to make them writable for normalization of values + if isinstance(value, tuple): + value = [v for v in value] -def poll_thread(channel, edge, callback, bouncetime): + # If there is a single value provided, we set each channel to that value + if not is_iterable(value): + value = [value for i in range(len(channel))] - # FIXME: this is arbitrary - timeout = 10 # milliseconds - wait_for_edge_validation(edge, bouncetime, timeout) + # This implements BOARD mode for all input cases + for i in range(len(channel)): + channel[i] = channel_fix_and_validate(channel[i]) - DCprint(channel, "launch poll thread") - line_do_poll(channel, bouncetime, timeout) - DCprint(channel, "terminate poll thread") + # Normalize the value argument + for i in range(len(value)): + if value[i] == HIGH: + value[i] = True + if value[i] == LOW: + value[i] = False + Dprint("channel", channel, "value", value) + if len(channel) != len(value): + raise RuntimeError("Number of channel != number of value") -# NOTE: RPi.GPIO specifies: -# Default to 1 kHz frequency 0.0% dutycycle -# but interface functions require explicit arguments -def pwm_thread(channel): - DCprint(channel, "begin PwM thread with dutycycle {}% and frequency {} Hz".format(_State.lines[channel].dutycycle, - _State.lines[channel].frequency)) - while True: - begin_critical_section(channel, msg="do pwm") - if line_thread_should_die(channel): - end_critical_section(channel, msg="do pwm exit") - break - if _State.lines[channel].dutycycle > 0: - line_set_value(channel, True) - DCprint(channel, "PwM: ON") - # PwM calculation for high voltage part of period: - time.sleep(1 / _State.lines[channel].frequency * (_State.lines[channel].dutycycle / 100.0)) - if _State.lines[channel].dutycycle < 100: - line_set_value(channel, False) - DCprint(channel, "PwM: OFF") - # PwM calculation for low voltage part of period: - time.sleep(1 / _State.lines[channel].frequency * (1.0 - _State.lines[channel].dutycycle / 100.0)) - end_critical_section(channel, msg="do pwm") - time.sleep(TEN_MILLISECONDS_IN_SECONDS) - # arbitrary time to sleep without lock, TODO: may interfere with overall timing of PwM but it's rough anyway + for chan, val in zip(channel, value): + if line_get_mode(chan) != _line_mode_out: + warn("The GPIO channel has not been set up as an OUTPUT\n\tSkipping channel {}".format(chan)) + else: + try: + line_set_value(chan, bool(val)) + except PermissionError: + warn("Unable to set value of channel {}, did you forget to run setup()? Or did setup() fail?".format(chan)) -def add_event_detect(channel, edge, callback=None, bouncetime=None): +def remove_event_detect(channel): """ - Enable edge detection events for a particular GPIO channel. - channel - either board pin number or BCM number depending on which mode is set. - edge - RISING, FALLING or BOTH - [callback] - A callback function for the event (optional) - [bouncetime] - Switch bounce timeout in ms for callback - - {compat} we do not require that the channel be setup as an input as a prerequiste to running this function, - however the initial value on the channel is undefined + Remove edge detection for a particular GPIO channel + channel - either board pin number or BCM number depending on which mode is set. """ # This implements BOARD mode channel = channel_fix_and_validate(channel) - valid_edges = [RISING, FALLING, BOTH] - if edge not in valid_edges: - raise ValueError("The edge must be set to RISING, FALLING or BOTH") + if line_is_poll(channel): + line_kill_poll_lock(channel) + else: + raise ValueError("event detection not setup on channel {}".format(channel)) - if callback and not callable(callback): - raise TypeError("Parameter must be callable") - if bouncetime and bouncetime <= 0: - raise ValueError("Bouncetime must be greater than 0") +def setactive_state(channel, active_state): + """ + Set the active_state of an active channel + """ - line_set_mode(channel, edge) - line_poll_start(channel, edge, callback, bouncetime) + channel = channel_fix_and_validate(channel) + if active_state not in [HIGH, LOW]: + raise ValueError("An active state was passed to setactive_state()") -def add_event_callback(channel, callback): - """ - Add a callback for an event already defined using add_event_detect() - channel - either board pin number or BCM number depending on which mode is set. - callback - a callback function" + current = getactive_state(channel) + if active_state != current: + flags = line_get_flags(channel) + flags &= ~active_flag(getactive_state(channel)) + flags |= active_flag(active_state) + line_set_flags(channel, flags) - {compat} we do not require that the channel be setup as an input + +def setbias(channel, bias): + """ + Set bias of an active channel """ - # This implements BOARD mode channel = channel_fix_and_validate(channel) - if not line_is_poll(channel): - raise RuntimeError("Add event detection using add_event_detect first before adding a callback") + if bias not in [PUD_OFF, PUD_UP, PUD_DOWN, PUD_DISABLE]: + raise ValueError("An invalid bias was passed to setbias()") - if not callable(callback): - raise TypeError("Parameter must be callable") + current = getbias(channel) + if bias != current: + flags = line_get_flags(channel) + flags &= ~bias_flag(getbias(channel)) + flags |= bias_flag(bias) + line_set_flags(channel, flags) - line_add_callback(channel, callback) +def setdirection(channel, direction): + """ + Set direction of an active channel + """ -def line_add_callback(channel, callback): - begin_critical_section(channel, "add callback") - _State.lines[channel].callbacks.append(callback) - end_critical_section(channel, "add callback") + channel = channel_fix_and_validate(channel) + + if direction != IN and direction != OUT: + raise ValueError("An invalid direction was passed to setdirection()") + current = line_get_direction(channel) + if current != -1: + if current == IN and direction == OUT: + line_set_mode(channel, _line_mode_out) + elif current == OUT and direction == IN: + line_set_mode(channel, _line_mode_in) -def remove_event_detect(channel): + +def setmode(mode): """ - Remove edge detection for a particular GPIO channel - channel - either board pin number or BCM number depending on which mode is set. + Set up numbering mode to use for channels. + BOARD - Use Raspberry Pi board numbers + BCM - Use Broadcom GPIO 00..nn numbers """ + if _State.mode != UNKNOWN: + raise ValueError("A different mode has already been set!") - # This implements BOARD mode - channel = channel_fix_and_validate(channel) + if mode != BCM and mode != BOARD: + raise ValueError("An invalid mode was passed to setmode()") - if line_is_poll(channel): - line_kill_poll_lock(channel) - else: - raise ValueError("event detection not setup on channel {}".format(channel)) + _State.mode = mode + chip_init_if_needed() -def event_detected(channel): + Dprint("mode set to", _State.mode) + + +def setup(channel, direction, pull_up_down=PUD_OFF, initial=None): """ - Returns True if an edge has occurred on a given GPIO. You need to enable edge detection using add_event_detect() first. - channel - either board pin number or BCM number depending on which mode is set." + Set up a GPIO channel or list of channels with a direction and (optional) pull/up down control + channel - either board pin number or BCM number depending on which mode is set. + direction - IN or OUT + [pull_up_down] - PUD_OFF (default), PUD_UP or PUD_DOWN + [initial] - Initial value for an output channel """ - # This implements BOARD mode - channel = channel_fix_and_validate(channel) + # Channel must contain only integral data + if not is_all_ints(channel): + raise ValueError("Channel must be an integer or list/tuple of integers") - if channel in _State.event_ls: - _State.event_ls.remove(channel) - return True - else: - return False + # Direction must be valid + if direction != IN and direction != OUT: + raise ValueError("An invalid direction was passed to setup()") + + if direction == OUT and pull_up_down != PUD_OFF: + raise ValueError("pull_up_down parameter is not valid for outputs") + if direction == IN and initial: + raise ValueError("initial parameter is not valid for inputs") -def cleanup(): - """ - Clean up by resetting all GPIO channels that have been used by this program to INPUT with no pullup/pulldown and no event detection - [channel] - individual channel or list/tuple of channels to clean up. - Default - clean every channel that has been used. + if pull_up_down not in [PUD_OFF, PUD_UP, PUD_DOWN, PUD_DISABLE]: + raise ValueError("Invalid value for pull_up_down - should be either PUD_OFF, PUD_UP, PUD_DOWN, or PUD_DISABLE") - {compat} Cleanup is mostly handled by libgpiod and the kernel, but we use this opportunity to kill any running callback poll threads - as well as close any open file descriptors - """ + # Convert tuples to lists to make them writable for validations of channels + if isinstance(channel, tuple): + channel = [c for c in channel] + + # Make the channel data iterable by force + if not is_iterable(channel): + channel = [channel] - Dprint("cleanup {} lines".format(len(_State.lines))) - for channel in range(len(_State.lines)): - line_set_mode(channel, _line_mode_none) + # This implements BOARD mode + for i in range(len(channel)): + channel[i] = channel_fix_and_validate(channel[i]) - chip_destroy() + request_flags = 0 + request_flags |= bias_flag(pull_up_down) + for pin in channel: + try: + line_set_mode(pin, direction, request_flags) + if initial is not None: + line_set_value(pin, initial) + except OSError: + warn("This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.\n \ + Further attemps to use channel {} will fail unless setup() is run again sucessfully".format(pin)) -def get_gpio_number(channel): - return channel_fix_and_validate(channel) +def setwarnings(value): + """Enable or disable warning messages""" + _State.warnings = bool(value) + Dprint("warning output set to", _State.warnings) -def gpio_function(channel): + +def wait_for_edge(channel, edge, bouncetime=None, timeout=0): """ - Return the current GPIO function (IN, OUT, PWM, SERIAL, I2C, SPI) - channel - either board pin number or BCM number depending on which mode is set. + Wait for an edge. Returns the channel number or None on timeout. + channel - either board pin number or BCM number depending on which mode is set. + edge - RISING, FALLING or BOTH + [bouncetime] - time allowed between calls to allow for switchbounce + [timeout] - timeout in ms - {compat} This is a stateless function that will return a constant value for every pin + {compat} bouncetime units are in seconds. this is subject to change """ + # Running this function before setup is allowed but the initial pin value is undefined + # RPi.GPIO requires one to setup a pin as input before using it for event detection, + # while libgpiod provides an interface that keeps the two mutually exclusive. We get around + # this by not requiring it, though to maintain the same semantics as RPi.GPIO, we attempt + # to release the channel's handle as a an input value, and acquire a new handle for an + # event value. + # This implements BOARD mode channel = channel_fix_and_validate(channel) - # error handling is done in the called function - return get_gpio_number(channel) + wait_for_edge_validation(edge, bouncetime, timeout) + + # ensure the line is in the right mode + # FIXME does this break input mode? + try: + line_set_mode(channel, edge) + except OSError: + raise RuntimeError("Channel is currently in use (Device or Resource Busy)") + + return line_event_wait_lock(channel, bouncetime, timeout) + + +# === RPi.GPIO Pulse-width Modulation (PwM) class === class PWM: @@ -1085,7 +1176,7 @@ def start(self, dutycycle): if dutycycle < 0.0 or dutycycle > 100.0: raise ValueError("dutycycle must have a value from 0.0 to 100.0") - line_pwm_start(self.channel, dutycycle) + return line_pwm_start(self.channel, dutycycle) def stop(self): """ @@ -1115,11 +1206,18 @@ def ChangeFrequency(self, frequency): line_pwm_set_frequency(self.channel, frequency) +# === Library initialization === + + # Initialize the library with a reset Reset() + # line thead type to callable entry point mapping _LINE_THREAD_TYPE_TO_TARGET = { _line_thread_poll: poll_thread, _line_thread_pwm: pwm_thread, } + +# Run cleanup() when an interpreter using this module terminates +atexit.register(cleanup) diff --git a/examples/callback2.py b/examples/callback2.py index e7cc204..c46fd73 100755 --- a/examples/callback2.py +++ b/examples/callback2.py @@ -1,3 +1,4 @@ +#!/bin/python3 # Daniel's example (reproduced bug 6 until it was fixed) import RPi.GPIO as GPIO import time diff --git a/examples/flash18.py b/examples/flash18.py index 23baef6..25677e8 100755 --- a/examples/flash18.py +++ b/examples/flash18.py @@ -1,10 +1,8 @@ #!/bin/python3 import RPi.GPIO as GPIO -import RPi.GPIO_DEVEL as GPIO_DEVEL import time GPIO.setmode(GPIO.BCM) -GPIO_DEVEL.setdebuginfo(True) GPIO.setup(18, GPIO.OUT) for i in range(5): diff --git a/examples/input_examples.py b/examples/input_examples.py new file mode 100755 index 0000000..c79de9e --- /dev/null +++ b/examples/input_examples.py @@ -0,0 +1,75 @@ +#!/bin/python3 +# Input examples from Ben Croston +# source: https://sourceforge.net/p/raspberry-gpio-python/wiki/Inputs/ + +import RPi.GPIO as GPIO +import time + +GPIO.setmode(GPIO.BCM) + +channel = 18 + +GPIO.setup(channel, GPIO.IN, pull_up_down=GPIO.PUD_UP) +# or +GPIO.setup(channel, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) + +if GPIO.input(channel): + print('Input was HIGH') +else: + print('Input was LOW') + +# wait for button (real example doensn't have the "or False" at the end) +while GPIO.input(channel) == GPIO.LOW or False: + time.sleep(0.01) # wait 10 ms to give CPU chance to do other things + + +GPIO.wait_for_edge(channel, GPIO.RISING) + +# wait for up to 5 seconds for a rising edge (timeout is in milliseconds) +channel = GPIO.wait_for_edge(channel, GPIO.RISING, timeout=5000) +if channel is None: + print('Timeout occurred') +else: + print('Edge detected on channel', channel) + + +def do_something(): + print("running do_something()") + + +channel = 18 +GPIO.add_event_detect(channel, GPIO.RISING) # add rising edge detection on a channel +do_something() +if GPIO.event_detected(channel): + print('Button pressed') + + +def my_callback(channel): + print('This is a edge event callback function!') + print('Edge detected on channel %s' % channel) + print('This is run in a different thread to your main program') + + +GPIO.add_event_detect(channel, GPIO.RISING, callback=my_callback) # add rising edge detection on a channel +# ...the rest of your program... + + +def my_callback_one(channel): + print('Callback one') + + +def my_callback_two(channel): + print('Callback two') + + +GPIO.add_event_detect(channel, GPIO.RISING) +GPIO.add_event_callback(channel, my_callback_one) +GPIO.add_event_callback(channel, my_callback_two) + +# add rising edge detection on a channel, ignoring further edges for 200ms for switch bounce handling +GPIO.add_event_detect(channel, GPIO.RISING, callback=my_callback, bouncetime=200) + +# This example is on the linked webpage but it is wrong, I checked the RPi.GPIO source code +# GPIO.add_event_callback(channel, my_callback, bouncetime=200) + +GPIO.remove_event_detect(channel) diff --git a/examples/morse.py b/examples/morse.py index 384fcd3..5b425aa 100755 --- a/examples/morse.py +++ b/examples/morse.py @@ -1,121 +1,152 @@ #!/bin/env python3 -#import wrap as GPIO -#import sys -#from time import sleep -## Python program to implement Morse Code Translator - -# NOTE: this is broken - -#''' -#VARIABLE KEY -#'cipher' -> 'stores the morse translated form of the english string' -#'decipher' -> 'stores the english translated form of the morse string' -#'citext' -> 'stores morse code of a single character' -#'i' -> 'keeps count of the spaces between morse characters' -#'message' -> 'stores the string to be encoded or decoded' -#''' - -#pin=GPIO.Pin(25,GPIO.OUT) -#pin.value = 0 -## Dictionary representing the morse code chart -#MORSE_CODE_DICT = { -# 'A':'.-', 'B':'-...', -# 'C':'-.-.', 'D':'-..', 'E':'.', -# 'F':'..-.', 'G':'--.', 'H':'....', -# 'I':'..', 'J':'.---', 'K':'-.-', -# 'L':'.-..', 'M':'--', 'N':'-.', -# 'O':'---', 'P':'.--.', 'Q':'--.-', -# 'R':'.-.', 'S':'...', 'T':'-', -# 'U':'..-', 'V':'...-', 'W':'.--', -# 'X':'-..-', 'Y':'-.--', 'Z':'--..', -# '1':'.----', '2':'..---', '3':'...--', -# '4':'....-', '5':'.....', '6':'-....', -# '7':'--...', '8':'---..', '9':'----.', -# '0':'-----', ', ':'--..--', '.':'.-.-.-', -# '?':'..--..', '/':'-..-.', '-':'-....-', -# '(':'-.--.', ')':'-.--.-' -# } - -## Function to encrypt the string -## according to the morse code chart -#def encrypt(message): -# cipher = '' -# for letter in message: -# if letter != ' ': - -# # Looks up the dictionary and adds the -# # correspponding morse code -# # along with a space to separate -# # morse codes for different characters -# cipher += MORSE_CODE_DICT[letter] + ' ' -# else: -# # 1 space indicates different characters -# # and 2 indicates different words -# cipher += ' ' - -# return cipher - -## Function to decrypt the string -## from morse to english -#def decrypt(message): - -# # extra space added at the end to access the -# # last morse code -# message += ' ' - -# decipher = '' -# citext = '' -# for letter in message: - -# # checks for space -# if (letter != ' '): -# # counter to keep track of space -# i = 0 -# # storing morse code of a single character -# citext += letter -# # in case of space -# else: -# # if i = 1 that indicates a new character -# i += 1 -# # if i = 2 that indicates a new word -# if i == 2: -# # adding space to separate words -# decipher += ' ' -# else: -# # accessing the keys using their values (reverse of encryption) -# decipher += list(MORSE_CODE_DICT.keys())[list(MORSE_CODE_DICT -# .values()).index(citext)] -# citext = '' - -# return decipher - -## Hard-coded driver function to run the program -#def long(): -# pin.toggle() -# sleep(.4) -# pin.toggle() - -#def short(): -# pin.toggle() -# sleep(.2) -# pin.toggle() -#def main(): -# msg = sys.argv[1] -# result = encrypt(msg.upper()) -# for i in result: -# if i == "-": -# long() -# elif i == "." -# short() -# else: -# sleep(.5) -# sleep(.1) -# #print (result) - -# #message = "--. . . -.- ... -....- ..-. --- .-. -....- --. . . -.- ... " -# #result = decrypt(message) -# #print (result) - -## Executes the main function -#if __name__ == '__main__': -# main() +import RPi.GPIO as GPIO +import sys +from time import sleep + +# Python program to implement Morse Code Translator +# Modifed to interface with the RPi.GPIO API +# source: https://www.geeksforgeeks.org/morse-code-translator-python/ + +channel = 12 + +''' +VARIABLE KEY +'cipher' -> 'stores the morse translated form of the english string' +'decipher' -> 'stores the english translated form of the morse string' +'citext' -> 'stores morse code of a single character' +'i' -> 'keeps count of the spaces between morse characters' +'message' -> 'stores the string to be encoded or decoded' +''' + +# Dictionary representing the morse code chart +MORSE_CODE_DICT = { + 'A': '.-', + 'B': '-...', + 'C': '-.-.', + 'D': '-..', + 'E': '.', + 'F': '..-.', + 'G': '--.', + 'H': '....', + 'I': '..', + 'J': '.---', + 'K': '-.-', + 'L': '.-..', + 'M': '--', + 'N': '-.', + 'O': '---', + 'P': '.--.', + 'Q': '--.-', + 'R': '.-.', + 'S': '...', + 'T': '-', + 'U': '..-', + 'V': '...-', + 'W': '.--', + 'X': '-..-', + 'Y': '-.--', + 'Z': '--..', + '1': '.----', + '2': '..---', + '3': '...--', + '4': '....-', + '5': '.....', + '6': '-....', + '7': '--...', + '8': '---..', + '9': '----.', + '0': '-----', + ',': '--..--', + '.': '.-.-.-', + '?': '..--..', + '/': '-..-.', + '-': '-....-', + '(': '-.--.', + ')': '-.--.-', +} + + +# Function to encrypt the string according to the morse code chart +def encrypt(message): + cipher = '' + for letter in message: + if letter != ' ': + + # Looks up the dictionary and adds the correspponding morse code + # along with a space to separate morse codes for different characters + cipher += MORSE_CODE_DICT[letter] + ' ' + else: + # 1 space indicates different character and 2 indicates different words + cipher += ' ' + + return cipher + + +# Function to decrypt the string from morse to english +def decrypt(message): + + # extra space added at the end to access the last morse code + message += ' ' + + decipher = '' + citext = '' + for letter in message: + + # checks for space + if (letter != ' '): + # counter to keep track of space + i = 0 + # storing morse code of a single character + citext += letter + # in case of space + else: + # if i = 1 that indicates a new character + i += 1 + # if i = 2 that indicates a new word + if i == 2: + # adding space to separate words + decipher += ' ' + else: + # accessing the keys using their values (reverse of encryption) + decipher += list(MORSE_CODE_DICT.keys())[list(MORSE_CODE_DICT.values()).index(citext)] + citext = '' + + return decipher + + +def long_pulse(): + GPIO.output(channel, GPIO.HIGH) + sleep(.4) + GPIO.output(channel, GPIO.LOW) + + +def short_pulse(): + GPIO.output(channel, GPIO.HIGH) + sleep(.2) + GPIO.output(channel, GPIO.LOW) + + +def main(): + GPIO.setmode(GPIO.BOARD) + GPIO.setup(channel, GPIO.OUT) + + if len(sys.argv) > 1: + msg = sys.argv[1] + else: + msg = "hello world" + result = encrypt(msg.upper()) + + for i in result: + if i == "-": + long_pulse() + elif i == ".": + short_pulse() + else: + sleep(.5) + sleep(.1) + GPIO.cleanup() + + +# Executes the main function +if __name__ == '__main__': + main() diff --git a/examples/output_examples.py b/examples/output_examples.py new file mode 100755 index 0000000..e1d83c3 --- /dev/null +++ b/examples/output_examples.py @@ -0,0 +1,46 @@ +#!/bin/python3 +# Output and gpio_function examples from Ben Croston +# source: https://sourceforge.net/p/raspberry-gpio-python/wiki/Outputs/ +# source: https://sourceforge.net/p/raspberry-gpio-python/wiki/Checking%20function%20of%20GPIO%20channels/ + +import RPi.GPIO as GPIO + +GPIO.setmode(GPIO.BOARD) +GPIO.setup((11, 12), GPIO.OUT) + +GPIO.output(12, GPIO.HIGH) +# or +GPIO.output(12, 1) +# or +GPIO.output(12, True) + +GPIO.output(12, GPIO.LOW) +# or +GPIO.output(12, 0) +# or +GPIO.output(12, False) + + +chan_list = (11, 12) +GPIO.output(chan_list, GPIO.LOW) # all LOW +GPIO.output(chan_list, (GPIO.HIGH, GPIO.LOW)) # first LOW, second HIGH + +GPIO.setup(11, GPIO.IN) +GPIO.output(12, not GPIO.input(11)) + +GPIO.cleanup(12) + +func = GPIO.gpio_function(12) +print("is channel 12 GPIO.UNKNOWN?", func == GPIO.UNKNOWN) + +print("is channel 12 GPIO.OUT?:", func == GPIO.OUT) + +print("setting up channel 12 as output...") +GPIO.setup(12, GPIO.OUT) + +func = GPIO.gpio_function(12) +print("is channel 12 GPIO.UNKNOWN?", func == GPIO.UNKNOWN) + +print("is channel 12 GPIO.OUT?:", func == GPIO.OUT) + +GPIO.cleanup() diff --git a/examples/pwm.py b/examples/pwm1.py similarity index 80% rename from examples/pwm.py rename to examples/pwm1.py index 060c556..676bbab 100755 --- a/examples/pwm.py +++ b/examples/pwm1.py @@ -1,10 +1,8 @@ #!/bin/python3 import RPi.GPIO as GPIO -import RPi.GPIO_DEVEL as GPIO_DEVEL import time GPIO.setmode(GPIO.BCM) -# GPIO_DEVEL.setdebuginfo(True) GPIO.setup(18, GPIO.OUT) pwm = GPIO.PWM(18, 0.5) pwm.start(50) diff --git a/examples/pwm2.py b/examples/pwm2.py new file mode 100755 index 0000000..b870289 --- /dev/null +++ b/examples/pwm2.py @@ -0,0 +1,25 @@ +#!/bin/python3 +# PWM demo from Ben Croston +# source: https://sourceforge.net/p/raspberry-gpio-python/wiki/PWM/ + +# It works out of the box with no changes! + +import time +import RPi.GPIO as GPIO +GPIO.setmode(GPIO.BOARD) +GPIO.setup(12, GPIO.OUT) + +p = GPIO.PWM(12, 50) # channel=12 frequency=50Hz +p.start(0) +try: + while 1: + for dc in range(0, 101, 5): + p.ChangeDutyCycle(dc) + time.sleep(0.1) + for dc in range(100, -1, -5): + p.ChangeDutyCycle(dc) + time.sleep(0.1) +except KeyboardInterrupt: + pass +p.stop() +GPIO.cleanup() diff --git a/examples/pwm3.py b/examples/pwm3.py new file mode 100755 index 0000000..a72e52f --- /dev/null +++ b/examples/pwm3.py @@ -0,0 +1,42 @@ +#!/bin/python3 +# Another example of PwM usage using the RPi.GPIO API +# By "alex" +# source: https://raspi.tv/2013/rpi-gpio-0-5-2a-now-has-software-pwm-how-to-use-it + +# Don't try to run this as a script or it will all be over very quickly +# it won't do any harm though. +# these are all the elements you need to control PWM on 'normal' GPIO ports +# with RPi.GPIO - requires RPi.GPIO 0.5.2a or higher + +# always needed with RPi.GPIO +import RPi.GPIO as GPIO + + +# choose BCM or BOARD numbering schemes. I use BCM +GPIO.setmode(GPIO.BCM) + +# set GPIO 25 as an output. You can use any GPIO port +GPIO.setup(25, GPIO.OUT) + +# create an object p for PWM on port 25 at 50 Hertz +# you can have more than one of these, but they need +# different names for each port +# e.g. p1, p2, motor, servo1 etc. +p = GPIO.PWM(25, 50) + +# start the PWM on 50 percent duty cycle +# duty cycle value can be 0.0 to 100.0%, floats are OK +p.start(50) + +# change the duty cycle to 90% +p.ChangeDutyCycle(90) + +# change the frequency to 100 Hz (floats also work) +# e.g. 100.5, 5.2 +p.ChangeFrequency(100) + +# stop the PWM output +p.stop() + +# when your program exits, tidy up after yourself +GPIO.cleanup() diff --git a/examples/pwm4.py b/examples/pwm4.py new file mode 100755 index 0000000..8667a50 --- /dev/null +++ b/examples/pwm4.py @@ -0,0 +1,42 @@ +#!/bin/python3 +# A random PwM script pulled from a comment section +# by "Nick" and improved by "AndrewS" (@lurch on GitHub) +# source: https://raspi.tv/2013/rpi-gpio-0-5-2a-now-has-software-pwm-how-to-use-it#comment-29887 +# source: https://raspi.tv/2013/rpi-gpio-0-5-2a-now-has-software-pwm-how-to-use-it#comment-30520 + +import RPi.GPIO as GPIO +import time + +# PWM frequency +HZ = 100 +FADESPEED = 0.002 + +GPIO.setmode(GPIO.BCM) + +gpioPinsList = [["r1", 18], ["g1", 23], ["b1", 25], ["r2", 17], ["g2", 22], ["b2", 24]] +gpioPinsObjs = [] + +# setup GPIO pins as outputs and create PWM objects for each +for i in range(len(gpioPinsList)): + GPIO.setup(gpioPinsList[i][1], GPIO.OUT) + gpioPinsObjs.append(GPIO.PWM(gpioPinsList[i][1], HZ)) + +try: + for pinObj in gpioPinsObjs: + pinObj.start(100) + time.sleep(FADESPEED) + while True: + #fade in + for i in range(101): + for pinObj in gpioPinsObjs: + pinObj.ChangeDutyCycle(0 + i) + time.sleep(FADESPEED) + + #fade out + for i in range(101): + for pinObj in gpioPinsObjs: + pinObj.ChangeDutyCycle(100 - i) + time.sleep(FADESPEED) +except KeyboardInterrupt: + GPIO.cleanup() + pass diff --git a/examples/pwm_usage.py b/examples/pwm_usage.py new file mode 100755 index 0000000..8a1f257 --- /dev/null +++ b/examples/pwm_usage.py @@ -0,0 +1,31 @@ +#!/bin/python3 +# PWM examples from Ben Croston +# source: https://sourceforge.net/p/raspberry-gpio-python/wiki/PWM/ +import RPi.GPIO as GPIO + +GPIO.setmode(GPIO.BOARD) +channel = 11 +frequency = 10 +freq = 100 +dc = 20 + +GPIO.setup(11, GPIO.OUT) + +p = GPIO.PWM(channel, frequency) + +p.start(dc) # where dc is the duty cycle (0.0 <= dc <= 100.0) + +p.ChangeFrequency(freq) # where freq is the new frequency in Hz + +dc = 30 +p.ChangeDutyCycle(dc) # where 0.0 <= dc <= 100.0 + +p.stop() + +GPIO.setup(12, GPIO.OUT) + +p = GPIO.PWM(12, 0.5) +p.start(1) +input('Press return to stop:') # use raw_input for Python 2 +p.stop() +GPIO.cleanup() diff --git a/examples/random_usage.py b/examples/random_usage.py new file mode 100755 index 0000000..a1a2ca3 --- /dev/null +++ b/examples/random_usage.py @@ -0,0 +1,53 @@ +#!/bin/python3 +# Random examples from Ben Croston +# source: https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/ +import RPi.GPIO as GPIO +import RPi.GPIO_DEVEL as GPIO_DEVEL + +GPIO.setmode(GPIO.BOARD) + +GPIO_DEVEL.Reset() + +GPIO.setmode(GPIO.BCM) + +mode = GPIO.getmode() + +print("Is mode BCM:", mode == GPIO.BCM) + +GPIO.setwarnings(False) + +channel = 18 +GPIO.setup(channel, GPIO.IN) +GPIO.setup(channel, GPIO.OUT) +GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH) + +# add as many channels as you want! +# you can tuples instead i.e.: +# chan_list = (11,12) +chan_list = [11, 12] +GPIO.setup(chan_list, GPIO.OUT) + +GPIO.setup(18, GPIO.OUT) + +GPIO.input(channel) + +chan_list = [11, 12] # also works with tuples +GPIO.output(chan_list, GPIO.LOW) # sets all to GPIO.LOW +GPIO.output(chan_list, (GPIO.HIGH, GPIO.LOW)) # sets first HIGH and second LOW + +GPIO.cleanup() + +channel = 18 +channel1 = 19 +channel2 = 21 + +GPIO.cleanup(channel) +GPIO.cleanup((channel1, channel2)) +GPIO.cleanup([channel1, channel2]) + +print("Some useful information:") +print("RPi.GPIO_INFO:", GPIO.RPI_INFO) +print("RPi.GPIO_INFO['P1_REVISION]':", GPIO.RPI_INFO['P1_REVISION']) +print("GPIO.RPI_REVISION", GPIO.RPI_REVISION) # (deprecated) + +print("RPi.GPIO.VERSION:", GPIO.VERSION) diff --git a/examples/try_import.py b/examples/try_import.py new file mode 100755 index 0000000..5894f8c --- /dev/null +++ b/examples/try_import.py @@ -0,0 +1,17 @@ +#!/bin/python3 +# An example of how one may import this library +# by Ben Croston +# Source: https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/ + +try: + import RPi.GPIO as GPIO +except RuntimeError: + print("Error importing RPi.GPIO! \ + This is probably because you need superuser privileges. \ + You can achieve this by using 'sudo' to run your script") + + +# Note that one may use this library as a non-superuser +# by setting the Linux file group to a group such as gpi +# and adding a user to that group with a command +# like: `sudo usermod -aG gpio ` diff --git a/non_root_permission.sh b/non_root_permission.sh index 1c5d6fb..d34ba49 100755 --- a/non_root_permission.sh +++ b/non_root_permission.sh @@ -3,6 +3,10 @@ # Inspiration: https://forum.armbian.com/topic/8714-gpio-not-working-for-non-root/?do=findComment&comment=86295 # Run this script to enable all users in Linux user group gpio to access the gpio pins +# NOTE: the changes made by this script do _not_ persist after reboot. +# Until we provide an automated solution, we suggest that one +# place this snippet of code in a script that runs at system startup. + if [ "$UID" != "0" ] then echo "Script must be run as root! quitting..." diff --git a/spec/sources.bib b/spec/sources.bib index d68aff0..a61593c 100644 --- a/spec/sources.bib +++ b/spec/sources.bib @@ -1,17 +1,17 @@ @misc{rpigpio, title = {RPi.GPIO PyPi project page}, - howpublished = {\url{https://pypi.org/project/RPi.GPIO/}}, + howpublished = {\texttt{https://pypi.org/project/RPi.GPIO/}}, note = {Accessed: 2020-05-14} } @misc{libgpiod, title = {libgpiod mainline repository}, - howpublished = {\url{https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/}}, + howpublished = {\texttt{https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/}}, note = {Accessed: 2020-05-14} } @misc{gpiozero, title = {gpiozero mainline repository}, - howpublished = {\url{https://github.com/gpiozero/gpiozero}}, + howpublished = {\texttt{https://github.com/gpiozero/gpiozero}}, note = {Accessed: 2020-05-19} } diff --git a/spec/spec.pdf b/spec/spec.pdf index 46424d7a15c3d117ab2d8022b733ef9247dd37dd..02a18a5e000ee2ed6b8cc9fcaa93188425054366 100644 GIT binary patch delta 109942 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