Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- class Gpio:
- def __init__( self, gpio, rw=None ):
- if type(gpio) is int:
- # gpio number
- self.path = '/sys/class/gpio/gpio' + str(gpio)
- else:
- # gpio name or path
- self.path = os.path.join( '/dev/gpio', gpio )
- if rw is not None and type(rw) is not bool:
- raise TypeError()
- if rw:
- self._f = open( self.path + '/value', 'r+b', buffering=0 )
- else:
- self._f = open( self.path + '/value', 'rb', buffering=0 )
- self.rw = rw
- @property
- def value( self ):
- return (b'0',b'1').index( os.pread( self._f.fileno(), 1, 0 ) )
- @value.setter
- def value( self, value ):
- if self.rw is None:
- self._f = open( self.path + '/value', 'r+b', buffering=0 )
- self.rw = True
- self._f.write( (b'0',b'1')[ value ] )
- ## example:
- my_input = Gpio('P9_92')
- my_output = Gpio('P9_42')
- print( my_input.value )
- print( my_output.value )
- my_output.value = 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement