pinout.vvzero.com/convert.py

32 lines
604 B
Python
Raw Normal View History

2016-09-14 01:27:55 +08:00
import json
import sys
2015-02-24 17:59:29 +08:00
db = json.load(open('pi-pinout.db'))
2015-11-18 21:52:15 +08:00
2015-02-24 17:59:29 +08:00
def from_phys(phys, mode="bcm"):
2015-11-18 21:52:15 +08:00
pin = db['pins'][str(phys)]
if 'scheme' in pin:
if mode in pin['scheme']:
return int(pin['scheme'][mode])
return None
2015-02-24 17:59:29 +08:00
def to_phys(pin, mode="bcm"):
2015-11-18 21:52:15 +08:00
for pin in db['pins']:
if 'scheme' in db['pins'][pin]:
if mode in db['pins'][pin]['scheme']:
return int(pin)
return None
2015-02-24 17:59:29 +08:00
pin = int(sys.argv[1])
mode = 'bcm'
if len(sys.argv) > 2:
mode = sys.argv[2]
2015-11-18 21:52:15 +08:00
print("Pin {} is {}: {}".format(pin, mode.upper(), from_phys(pin, mode)))