Beispiel #1
0
 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
Beispiel #2
0
    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)
Beispiel #3
0
 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
Beispiel #4
0
    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
Beispiel #6
0
 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)
Beispiel #7
0
 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
Beispiel #8
0
    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()
Beispiel #9
0
	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)
Beispiel #10
0
    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)
Beispiel #11
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)
Beispiel #12
0
 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
Beispiel #13
0
        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
Beispiel #14
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)
Beispiel #15
0
    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!")
Beispiel #16
0
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)