diff options
Diffstat (limited to 'System_Python/test_Encoder.py')
-rw-r--r-- | System_Python/test_Encoder.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/System_Python/test_Encoder.py b/System_Python/test_Encoder.py new file mode 100644 index 0000000..875b5be --- /dev/null +++ b/System_Python/test_Encoder.py @@ -0,0 +1,55 @@ +import time +import RPi.GPIO as GPIO + +GPIO.setmode(GPIO.BCM) + +PIN_CLK = 3 #2 +PIN_DAT = 2 #3 +PIN_CS = 4 +delay = 0.0000005 + +# pin setup done here +try: + GPIO.setup(PIN_CLK,GPIO.OUT) + GPIO.setup(PIN_DATA,GPIO.IN) + GPIO.setup(PIN_CS,GPIO.OUT) + GPIO.output(PIN_CS,1) + GPIO.output(PIN_CLK,1) +except: + print "ERROR. Unable to setup the configuration requested" + +#wait some time to start +time.sleep(0.5) + +print "GPIO configuration enabled" + +def clockup(): + GPIO.output(PIN_CLK,1) +def clockdown(): + GPIO.output(PIN_CLK,0) + +def readpos(): + GPIO.output(PIN_CS,0) #pulls low to start + + time.sleep(delay*2) + data = [0] + clockdown() + + for i in range(0,10); #bitcount): + clockup() #375 ns between each + data[i]<<=1 + data[i]|=GPIO.input(PIN_DATA) + clockdown() + + GPIO.output(PIN_CS,1) #pull high after finish + return data + +try: + while(1): + print readpos() + time.sleep(0.001) + #break + +finally: + print "cleaning up GPIO" + GPIO.cleanup()
\ No newline at end of file |