def __init__(self, bus=0, device=0, dc_pin=1, reset_pin=2, buffer_rows=64, buffer_cols=128, rows=32, cols=128): self.cols = cols self.rows = rows self.buffer_rows = buffer_rows self.mem_bytes = self.buffer_rows * self.cols / 8 # total bytes in SSD1306 display ram self.dc_pin = dc_pin self.reset_pin = reset_pin self.spi = spidev.SpiDev() self.spi.open(bus, device) self.spi.max_speed_hz = 500000 self.gpio = wiringpi2.GPIO(wiringpi2.GPIO.WPI_MODE_PINS) self.gpio.pinMode(self.reset_pin, self.gpio.OUTPUT) self.gpio.digitalWrite(self.reset_pin, self.gpio.HIGH) self.gpio.pinMode(self.dc_pin, self.gpio.OUTPUT) self.gpio.digitalWrite(self.dc_pin, self.gpio.LOW) self.font = font5x8.Font5x8 self.col_offset = 0 self.bitmap = self.Bitmap(buffer_cols, buffer_rows) self.flipped = False
def __init__(self, lcd_rows=2, lcd_chars=16, lcd_bits=4, pin_lcd_rs=13, pin_lcd_e=14, pins_lcd_db=[11, 10, 6, 16, 0, 0, 0, 0]): """Initialize lcd and get ip address""" self.rows = lcd_rows self.chars = lcd_chars self.lcd = wiringpi.lcdInit(lcd_rows, lcd_chars, lcd_bits, pin_lcd_rs, pin_lcd_e, *pins_lcd_db) wiringpi.lcdHome(self.lcd) self.screens = { 'splash': ['GitGear.com/xfd', 'eXtremeFeedback!'], 'ip': ['IP Address:', 'Searching...'], 'text': [ 'Comming soon:', 'Customise this', 'text in Jenkins', 'from the extreme', 'feedback plugin' ], } self.lock = threading.Lock() self.io = wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_PINS)
def __init__(self, pin): self.pin = pin self.gpio = wiringpi2.GPIO(wiringpi2.GPIO.WPI_MODE_PINS) self.gpio.pinMode(self.pin, self.gpio.OUTPUT) self.maxCycles = 100 self.repeats = 2 self.threshold = 40
def __init__(self): if gaugette.platform.isRaspberryPi: import wiringpi2 self.gpio = wiringpi2.GPIO(wiringpi2.GPIO.WPI_MODE_PINS) self.setup = self.wiringpi2_setup self.output = self.gpio.digitalWrite self.input = self.gpio.digitalRead self.OUT = self.gpio.OUTPUT self.IN = self.gpio.INPUT self.HIGH = self.gpio.HIGH self.LOW = self.gpio.LOW self.PUD_UP = self.gpio.PUD_UP self.PUD_DOWN = self.gpio.PUD_DOWN self.PUD_OFF = self.gpio.PUD_OFF elif gaugette.platform.isBeagleBoneBlack: import Adafruit_BBIO.GPIO self.gpio = Adafruit_BBIO.GPIO self.setup = self.gpio.setup self.output = self.gpio.output self.input = self.gpio.input self.OUT = self.gpio.OUT self.IN = self.gpio.IN self.HIGH = self.gpio.HIGH self.LOW = self.gpio.LOW self.PUD_UP = self.gpio.PUD_UP self.PUD_DOWN = self.gpio.PUD_DOWN self.PUD_OFF = self.gpio.PUD_OFF else: raise NotImplementedError("Platform is not supported.")
def initGpio(self, gpio, a, b, c, d, e, f): if gpio == None: self.gpio = wiringpi2.GPIO(wiringpi2.GPIO.WPI_MODE_PINS) else: self.gpio = gpio # Setup ShiftReg self.pin_s_clock = 1 self.pin_s_data = 6 self.pin_s_latch = 5 self.sRegBase = 100 self.sRegPins = 6 self.sReg = wiringpi2.sr595Setup(self.sRegBase, self.sRegPins, self.pin_s_data, self.pin_s_clock, self.pin_s_latch) # ShiftReg 3 wire self.gpio.pinMode(self.pin_s_clock, self.gpio.OUTPUT) self.gpio.pinMode(self.pin_s_data, self.gpio.OUTPUT) self.gpio.pinMode(self.pin_s_latch, self.gpio.OUTPUT) # LCD Pins (on the 595 end) self.pin_rs = self.sRegBase + 0 # rs self.pin_e = self.sRegBase + 5 # e self.pin_d4 = self.sRegBase + 1 # d4 self.pin_d5 = self.sRegBase + 2 # d5 self.pin_d6 = self.sRegBase + 3 # d6 self.pin_d7 = self.sRegBase + 4 # d7
def __init__(self, pin, pullUp=True): self.pin = pin self.pullUp = pullUp self.gpio = wiringpi2.GPIO(wiringpi2.GPIO.WPI_MODE_PINS) self.gpio.pinMode(self.pin, self.gpio.INPUT) if self.pullUp: self.gpio.pullUpDnControl(self.pin, self.gpio.PUD_UP) else: self.gpio.pullUpDnControl(self.pin, self.gpio.PUD_DOWN)
def __init__(self): self.gpio = wiringpi2.GPIO(wiringpi2.GPIO.WPI_MODE_PINS) self.setup = self.wiringpi2_setup self.output = self.gpio.digitalWrite self.input = self.gpio.digitalRead self.OUT = self.gpio.OUTPUT self.IN = self.gpio.INPUT self.HIGH = self.gpio.HIGH self.LOW = self.gpio.LOW self.PUD_UP = self.gpio.PUD_UP self.PUD_DOWN = self.gpio.PUD_DOWN self.PUD_OFF = self.gpio.PUD_OFF
def __init__(self, a_pin, b_pin): self.a_pin = a_pin self.b_pin = b_pin self.gpio = wiringpi2.GPIO(wiringpi2.GPIO.WPI_MODE_PINS) self.gpio.pinMode(self.a_pin, self.gpio.INPUT) self.gpio.pullUpDnControl(self.a_pin, self.gpio.PUD_UP) self.gpio.pinMode(self.b_pin, self.gpio.INPUT) self.gpio.pullUpDnControl(self.b_pin, self.gpio.PUD_UP) self.last_delta = 0 self.r_seq = self.rotation_sequence()
def __init__(self, pinmap): try: import wiringpi2 self.gpio = wiringpi2.GPIO(wiringpi2.GPIO.WPI_MODE_GPIO) except: raise IOError("Could not export the GPIO pins. Make sure that you have the wiringpi2 library installed, run as root and are on a Raspberry Pi.") self.pinmap = dict([(key, value if type(value) in [list, tuple] else (value, False, 1)) for key, value in pinmap.iteritems()]) self.reverse_pinmap = dict([(value[0], key) for key, value in self.pinmap.iteritems()]) for name, pin_data in self.pinmap.iteritems(): pin, output, pullup = pin_data setattr(self, 'PIN_%s' % name, pin) self.gpio.pinMode(pin, self.gpio.OUTPUT if output else self.gpio.INPUT) if pullup != 0: wiringpi2.pullUpDnControl(pin, wiringpi2.PUD_UP if pullup > 0 else wiringpi2.PUD_DOWN)
def __init__(self, cePin=2, csnPin=3, channel=1, payload=8): # we use wiringPi pin numbering! self.gpio = wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_PINS) self.cePin = cePin # pin number for CE self.csnPin = csnPin # pin number for CSN self.channel = channel # RF channel to be used self.payload = payload # size of payload in bytes self.gpio.pinMode(self.cePin, self.gpio.OUTPUT) #set ce as output self.gpio.pinMode(self.csnPin, self.gpio.OUTPUT) #set csn as output self.ceLow() self.csnHi() self.spi = spidev.SpiDev() self.spi.open(0, 0)
def __init__(self, display, pinmap): self.display = display try: import wiringpi2 self.gpio = wiringpi2.GPIO(wiringpi2.GPIO.WPI_MODE_GPIO) except: raise IOError( "Could not export the GPIO pins. Make sure that you have the wiringpi2 library installed, run as root and are on a Raspberry Pi." ) self.reverse_pinmap = dict([(value, key) for key, value in pinmap.iteritems()]) for pin, output in pinmap.iteritems(): setattr(self, 'PIN_%s' % pin, output) if pin == 'LED': self.led_pwm = output == 18 self.gpio.pinMode( output, self.gpio.PWM_OUTPUT if pin == 'LED' and self.led_pwm else self.gpio.OUTPUT)
def __init__(self, bus=0, device=0, dc_pin="P9_15", reset_pin="P9_13", rows=128, cols=128): self.cols = cols self.rows = rows self.dc_pin = dc_pin self.reset_pin = reset_pin # SPI self.spi = spidev.SpiDev(bus, device) self.spi.max_speed_hz = 16000000 # 16Mhz # GPIO self.gpio = wiringpi2.GPIO(wiringpi2.GPIO.WPI_MODE_PINS) self.gpio.pinMode(self.reset_pin, self.gpio.OUTPUT) self.gpio.digitalWrite(self.reset_pin, self.gpio.HIGH) self.gpio.pinMode(self.dc_pin, self.gpio.OUTPUT) self.gpio.digitalWrite(self.dc_pin, self.gpio.LOW) # Drawing tools self.im = Image.new("RGB", (cols, rows), 'black') self.draw = ImageDraw.Draw(self.im) # logging self.log = logging.getLogger(self.__class__.__name__) self.log.setLevel(logging.INFO) self.contrast = 15
i2cFD.flush() def turnRight(): setMotors(150, -150) time.sleep(0.1) stop() time.sleep(0.1) LeftTrack = 0 RightTrack = 0 # Configure wiring pi wiringpi.wiringPiSetupPhys() io = wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_GPIO) # Open the i2C connection i2cConnect = wiringpi.wiringPiI2CSetup(I2CAddress) i2cFD = os.fdopen(i2cConnect, "rw", 0) # Configure the GPIO io.pinMode(SR04Trigger, io.OUTPUT) io.pinMode(SR04Echo, io.INPUT) io.digitalWrite(SR04Trigger, False) def getDistance(): start = 0 stop = 0
#!/usr/bin/env python import sys import wiringpi2 io = wiringpi2.GPIO(wiringpi2.GPIO.WPI_MODE_PINS) #io = wiringpi2.GPIO(wiringpi2.GPIO.WPI_MODE_GPIO) PIN = 14 io.pinMode(PIN, io.OUTPUT) count = int(sys.argv[1]) for x in range(count): io.digitalWrite(PIN, io.HIGH) io.digitalWrite(PIN, io.LOW)
io.digitalWrite(SPI_CS_Pin, io.LOW) wpi.wiringPiSPIDataRW(0, chr(addr) + chr(data)) io.digitalWrite(SPI_CS_Pin, io.HIGH) # Display raw data of font lib on MAX7219 def max7219DiplayMxRaw(index): for i in range(1, 9): max7219WriteReg(i, font_en_8x8.data[index][i-1]) # Display char of font lib on MAX7219 def max7219DiplayMxChar(char): for i in range(1, 9): max7219WriteReg(i, font_en_8x8.data[ord(char)-32][i-1]) # Init GPIO to wiringPi pin mode io = wpi.GPIO(wpi.GPIO.WPI_MODE_PINS) # Init CS# io.pinMode(SPI_CS_Pin, io.OUTPUT) io.digitalWrite(SPI_CS_Pin, io.HIGH) time.sleep(0.2) # Init SPI0 for MAX7219 spi = wpi.wiringPiSPISetup(0, 1000000) if spi<0: print("SPI init error!") exit(1) print("SPI init OK!") # Init MAX7219 max7219Init() print("MAX7219 init OK!")
SRNPIN = 4 BTNPIN = 5 # LCD pin mapping, RS, E, D4, D5, D6, D7 LCD_ROWS = 2 LCD_CHARS = 16 LCD_BITS = 4 PIN_LCD_RS = 13 PIN_LCD_E = 14 PINS_LCD_DB = [11, 10, 6, 16, 0, 0, 0, 0] PIN_LCD_BACKLIGHT = 12 # MP3/ Audio output AUDIOPIN = 1 IO = wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_PINS) PWM_COUNT = 100 def fade_up(pin, step): """PWM ramp up to full duty""" logging.debug("Up") for i in range(0, PWM_COUNT, step): wiringpi.softPwmWrite(pin, i) IO.delay(12) IO.digitalWrite(pin, IO.HIGH) def fade_down(pin, step): """PWM ramp down to zero duty""" logging.debug("Down") for i in reversed(range(0, PWM_COUNT, step)): wiringpi.softPwmWrite(pin, i)