Advertisement
Guest User

trivial-gpio.py

a guest
Apr 22nd, 2021
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.34 KB | None | 0 0
  1. ##### common for all of these #####
  2.  
  3. from pathlib import Path
  4.  
  5. _gpio_dir = Path('/dev/gpio')
  6.  
  7.  
  8.  
  9. ##### version 1
  10.  
  11. def gpio_get_value( name ):
  12.     return int( (_gpio_dir/name/'value').read_text() )
  13.  
  14. def gpio_set_value( name, value ):
  15.     (_gpio_dir/name/'value').write_text( str(value) )
  16.  
  17. print( gpio_get_value( 'my-input' ) )
  18. print( gpio_get_value( 'my-output' ) )
  19. gpio_set_value( 'my-output', 1 )
  20.  
  21.  
  22.  
  23. ##### version 2
  24.  
  25. class Gpio:
  26.     def __init__( self, name ):
  27.         self.name = name
  28.         self._value_path = _gpio_dir/name/'value'
  29.  
  30.     def get_value( self ):
  31.         return int( self._value_path.read_text() )
  32.  
  33.     def set_value( self, value ):
  34.         self._value_path.write_text( str( value ) )
  35.  
  36. my_input = Gpio('my-input')
  37. my_output = Gpio('my-output')
  38.  
  39. print( my_input.get_value() )
  40. print( my_output.get_value() )
  41. my_output.set_value( 1 )
  42.  
  43.  
  44.  
  45. ##### version 3
  46.  
  47. class Gpio:
  48.     def __init__( self, name ):
  49.         self.name = name
  50.         self._value_path = _gpio_dir/name/'value'
  51.  
  52.     @property
  53.     def value( self ):
  54.         return int( self._value_path.read_text() )
  55.  
  56.     @value.setter
  57.     def value( self, value ):
  58.         self._value_path.write_text( str( value ) )
  59.  
  60. my_input = Gpio('my-input')
  61. my_output = Gpio('my-output')
  62.  
  63. print( my_input.value )
  64. print( my_output.value )
  65. my_output.value = 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement