Commit 18dd8016 authored by nextime's avatar nextime

Update mossotest.py

parent 1a96aeb1
...@@ -13,7 +13,7 @@ import Adafruit_BBIO.GPIO as GPIO ...@@ -13,7 +13,7 @@ import Adafruit_BBIO.GPIO as GPIO
INPUTS={ INPUTS={
1:'P8_15', 1:'P8_15',
2:'P8_11', 2:'P8_11',
3:'P8_14', 3:'P8_16',
4:'P8_12', 4:'P8_12',
} }
......
#!/usr/bin/env python
"""
OSSO test script.
To run this you need to install devicetree support for
Osso board from https://github.com/unixmedia/Osso
and Adafruit I/O library for beaglebone
from https://github.com/adafruit/adafruit-beaglebone-io-python
(and, of course, python!)
"""
import sys, time
import Adafruit_BBIO.GPIO as GPIO
INPUTS={
1:'P8_15',
2:'P8_11',
3:'P8_14',
4:'P8_12',
}
RELAYS={
1:'P9_12',
2:'P9_15',
3:'P9_23',
4:'P8_9',
}
def printhelp():
print "Usage:", sys.argv[0], "<input|relay>"
print
print "Example:"
print
print sys.argv[0], "input 3"
print
print sys.argv[0], "relay 2"
print
def initialize():
for i in INPUTS.values():
GPIO.setup(i, GPIO.IN)
for i in RELAYS.values():
GPIO.setup(i, GPIO.OUT)
def relay(rel):
GPIO.output(RELAYS[rel], GPIO.HIGH)
print 'RELAY', rel, 'IS NOW ON (ctrl+C to exit, on exit any relay will be switched off)'
while 1: time.sleep(1)
def digitalinp(inp):
print 'INPUT', inp, 'IS', 'open' if GPIO.input(INPUTS[inp]) else 'close'
print
print 'Waiting for a state change... (or ctrl+C to exit)'
GPIO.wait_for_edge(INPUTS[inp], GPIO.BOTH)
time.sleep(.01) # Adafruit library needs a little time to detect right status
print 'INPUT', inp, 'IS NOW', 'open' if GPIO.input(INPUTS[inp]) else 'close'
def custom_excepthook(type, value, traceback):
if type is KeyboardInterrupt:
print 'Exit.'
return # do nothing
else:
sys.__excepthook__(type, value, traceback)
sys.excepthook=custom_excepthook
if __name__=='__main__':
try:
if (len(sys.argv)>=3
and sys.argv[1]=='relay'
and int(sys.argv[2]) in range(1, 9)):
initialize()
relay(int(sys.argv[2]))
sys.exit(0)
elif (len(sys.argv)>=3
and sys.argv[1]=='input'
and int(sys.argv[2]) in range(1, 9)):
initialize()
digitalinp(int(sys.argv[2]))
sys.exit(0)
except KeyboardInterrupt:
sys.exit(0)
printhelp()
sys.exit(1)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment