Merge pull request #72 from lurch/patch-2
Small refactoring of the pin conversion functions
This commit is contained in:
commit
13ffae0695
30
pinout.py
30
pinout.py
@ -24,29 +24,33 @@ def render_html(*args, **kwargs):
|
|||||||
|
|
||||||
|
|
||||||
def bcm_to_physical(pin):
|
def bcm_to_physical(pin):
|
||||||
|
return physical_from(pin, 'bcm')
|
||||||
|
|
||||||
|
|
||||||
|
def wiringpi_to_physical(pin):
|
||||||
|
return physical_from(pin, 'wiringpi')
|
||||||
|
|
||||||
|
|
||||||
|
def physical_from(pin, scheme='bcm'):
|
||||||
|
if scheme in ['bcm', 'wiringpi']:
|
||||||
for idx in pins:
|
for idx in pins:
|
||||||
compare_pin = pins[idx]
|
compare_pin = pins[idx]
|
||||||
if 'scheme' in compare_pin:
|
if 'scheme' in compare_pin:
|
||||||
if 'bcm' in compare_pin['scheme']:
|
if scheme in compare_pin['scheme']:
|
||||||
if compare_pin['scheme']['bcm'] == int(pin):
|
if compare_pin['scheme'][scheme] == int(pin):
|
||||||
#print("Mapping BCM{} to {}".format(pin, str(idx)))
|
#print("Mapping {}{} to {}".format(scheme, pin, str(idx)))
|
||||||
return str(idx)
|
return str(idx)
|
||||||
|
elif scheme == 'physical':
|
||||||
|
return pin
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
def physical_to_bcm(pin):
|
def physical_to_bcm(pin):
|
||||||
pin = pins[pin]
|
return physical_to(pin, 'bcm')
|
||||||
if 'scheme' in pin:
|
|
||||||
if 'bcm' in pin['scheme']:
|
|
||||||
return str(pin['scheme']['bcm'])
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
def physical_to_wiringpi(pin):
|
def physical_to_wiringpi(pin):
|
||||||
pin = pins[pin]
|
return physical_to(pin, 'wiringpi')
|
||||||
if 'scheme' in pin:
|
|
||||||
if 'wiringpi' in pin['scheme']:
|
|
||||||
return str(pin['scheme']['wiringpi'])
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
def physical_to(pin, scheme='bcm'):
|
def physical_to(pin, scheme='bcm'):
|
||||||
|
Loading…
Reference in New Issue
Block a user