1 import Adafruit_BBIO.GPIO as GPIO
3 # Pins dont exist in CPython so...lets make our own!
17 def __init__(self, pin_name):
23 def __eq__(self, other):
24 return self.id == other
26 def init(self, mode=IN, pull=None):
30 GPIO.setup(self.id, GPIO.IN)
31 elif mode == self.OUT:
33 GPIO.setup(self.id, GPIO.OUT)
35 raise RuntimeError("Invalid mode for pin: %s" % self.id)
37 if self._mode != self.IN:
38 raise RuntimeError("Cannot set pull resistor on output")
39 if pull == self.PULL_UP:
40 GPIO.setup(self.id, GPIO.IN, pull_up_down=GPIO.PUD_UP)
41 elif pull == self.PULL_DOWN:
42 GPIO.setup(self.id, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
44 raise RuntimeError("Invalid pull for pin: %s" % self.id)
46 def value(self, val=None):
50 GPIO.output(self.id, val)
51 elif val == self.HIGH:
53 GPIO.output(self.id, val)
55 raise RuntimeError("Invalid value for pin")
57 return GPIO.input(self.id)
77 # P1_17 = AIN 1.8V REF-
78 # P1_18 = AIN 1.8V REF+
110 # P2_12 = SYS PWR BTN
140 P8_3 = Pin('P8_3') # GPIO_38
141 P8_4 = Pin('P8_4') # GPIO_39
142 P8_5 = Pin('P8_5') # GPIO_34
143 P8_6 = Pin('P8_6') # GPIO_35
144 P8_7 = Pin('P8_7') # GPIO_66
145 P8_8 = Pin('P8_8') # GPIO_67
146 P8_9 = Pin('P8_9') # GPIO_69
147 P8_10 = Pin('P8_10') # GPIO_68
148 P8_11 = Pin('P8_11') # GPIO_45
149 P8_12 = Pin('P8_12') # GPIO_44
150 P8_13 = Pin('P8_13') # GPIO_23
151 P8_14 = Pin('P8_14') # GPIO_26
152 P8_15 = Pin('P8_15') # GPIO_47
153 P8_16 = Pin('P8_16') # GPIO_46
154 P8_17 = Pin('P8_17') # GPIO_27
155 P8_18 = Pin('P8_18') # GPIO_65
156 P8_19 = Pin('P8_19') # GPIO_22
157 P8_20 = Pin('P8_20') # GPIO_63
158 P8_21 = Pin('P8_21') # GPIO_62
159 P8_22 = Pin('P8_22') # GPIO_37
160 P8_23 = Pin('P8_23') # GPIO_36
161 P8_24 = Pin('P8_24') # GPIO_33
162 P8_25 = Pin('P8_25') # GPIO_32
163 P8_26 = Pin('P8_26') # GPIO_61
164 P8_27 = Pin('P8_27') # GPIO_86
165 P8_28 = Pin('P8_28') # GPIO_88
166 P8_29 = Pin('P8_29') # GPIO_87
167 P8_30 = Pin('P8_30') # GPIO_89
168 P8_31 = Pin('P8_31') # GPIO_10
169 P8_32 = Pin('P8_32') # GPIO_11
170 P8_33 = Pin('P8_33') # GPIO_9
171 P8_34 = Pin('P8_34') # GPIO_81
172 P8_35 = Pin('P8_35') # GPIO_8
173 P8_36 = Pin('P8_36') # GPIO_80
174 P8_37 = Pin('P8_37') # GPIO_78
175 P8_38 = Pin('P8_38') # GPIO_79
176 P8_39 = Pin('P8_39') # GPIO_76
177 P8_40 = Pin('P8_40') # GPIO_77
178 P8_41 = Pin('P8_41') # GPIO_74
179 P8_42 = Pin('P8_42') # GPIO_75
180 P8_43 = Pin('P8_43') # GPIO_72
181 P8_44 = Pin('P8_44') # GPIO_73
182 P8_45 = Pin('P8_45') # GPIO_70
183 P8_46 = Pin('P8_46') # GPIO_71
195 P9_11 = Pin('P9_11') # GPIO_30
196 P9_12 = Pin('P9_12') # GPIO_60
197 P9_13 = Pin('P9_13') # GPIO_31
198 P9_14 = Pin('P9_14') # GPIO_40
199 P9_15 = Pin('P9_15') # GPIO_48
200 P9_16 = Pin('P9_16') # GPIO_51
201 P9_17 = Pin('P9_17') # GPIO_4
202 P9_18 = Pin('P9_18') # GPIO_5
203 P9_19 = Pin('P9_19') # I2C2_SCL
204 P9_20 = Pin('P9_20') # I2C2_SDA
205 P9_21 = Pin('P9_21') # GPIO_3
206 P9_22 = Pin('P9_22') # GPIO_2
207 P9_23 = Pin('P9_23') # GPIO_49
208 P9_24 = Pin('P9_24') # GPIO_15
209 P9_25 = Pin('P9_25') # GPIO_117
210 P9_26 = Pin('P9_26') # GPIO_14
211 P9_27 = Pin('P9_27') # GPIO_125
212 P9_28 = Pin('P9_28') # GPIO_123
213 P9_29 = Pin('P9_29') # GPIO_121
214 P9_30 = Pin('P9_30') # GPIO_122
215 P9_31 = Pin('P9_31') # GPIO_120
225 P9_41 = Pin('P9_41') # GPIO_20
226 P9_42 = Pin('P9_42') # GPIO_7
232 # common to all beagles
238 # all special functions (SPI / I2C) are moved to
239 # src/adafruit_blinka/board/beaglebone_black.py
241 # # ordered as spiId, sckId, mosiId, misoId
243 # (0, SCLK, MOSI, MISO),
244 # (1, SCLK_1, MOSI_1, MISO_1)
247 # # ordered as uartId, txId, rxId