From 918a64df8167968c4d273179bf5b3a1ff858dd76 Mon Sep 17 00:00:00 2001 From: Ondrej Mikle Date: Sun, 29 Apr 2018 19:40:22 +0200 Subject: [PATCH] Link to wiringpi<->BCM GPIO numbering scheme --- gpio_vs_wiringpi_numbering_scheme.png | Bin 0 -> 54437 bytes unlocker.py | 6 ++++-- 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 gpio_vs_wiringpi_numbering_scheme.png diff --git a/gpio_vs_wiringpi_numbering_scheme.png b/gpio_vs_wiringpi_numbering_scheme.png new file mode 100644 index 0000000000000000000000000000000000000000..eb3736e03e06aafcd79520ba0037f1513f4a0672 GIT binary patch literal 54437 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≫uNP=VIbdR*q*~onu)0xEI4yf7;am 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 literal 0 HcmV?d00001 diff --git a/unlocker.py b/unlocker.py index d06b319..1a6890f 100644 --- a/unlocker.py +++ b/unlocker.py @@ -36,9 +36,11 @@ class UnlockerWiringPi(Unlocker): def __init__(self, config): import wiringpi Unlocker.__init__(self, config) - wiringpi.wiringPiSetupGpio() # pin numbers follow P1 GPIO header + # PIN numbers follow P1 header BCM GPIO numbering, see https://projects.drogon.net/raspberry-pi/wiringpi/pins/ + # Local copy of the P1 in repo mapping see gpio_vs_wiringpi_numbering_scheme.png. + wiringpi.wiringPiSetupGpio() self.lockPin = self.config.getint("UnlockerWiringPi", "lock_pin") - wiringpi.pinMode(self.lockPin, 1) #output + wiringpi.pinMode(self.lockPin, wiringpi.OUTPUT) #output def unlock(self): """Unlocks lock at configured pin by pulling it high.