def alternateBlinks(): # turn all off allOnorAllOff(True, 10) # turn on and off evens shiftpi.digitalWrite(0, shiftpi.HIGH) shiftpi.digitalWrite(2, shiftpi.HIGH) shiftpi.digitalWrite(4, shiftpi.HIGH) shiftpi.digitalWrite(6, shiftpi.HIGH) shiftpi.delay(300) shiftpi.digitalWrite(0, shiftpi.LOW) shiftpi.digitalWrite(2, shiftpi.LOW) shiftpi.digitalWrite(4, shiftpi.LOW) shiftpi.digitalWrite(6, shiftpi.LOW) # turn on and off odds shiftpi.digitalWrite(1, shiftpi.HIGH) shiftpi.digitalWrite(3, shiftpi.HIGH) shiftpi.digitalWrite(5, shiftpi.HIGH) shiftpi.digitalWrite(7, shiftpi.HIGH) shiftpi.delay(300) shiftpi.digitalWrite(1, shiftpi.LOW) shiftpi.digitalWrite(3, shiftpi.LOW) shiftpi.digitalWrite(5, shiftpi.LOW) shiftpi.digitalWrite(7, shiftpi.LOW)
def allOnorAllOff(turnOff, localDelayTime): if turnOff: shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW) shiftpi.delay(localDelayTime) else: shiftpi.digitalWrite(shiftpi.ALL, shiftpi.HIGH) shiftpi.delay(localDelayTime)
def christmasKnightrider(localDelayTime): for index in range(8): if index > 0: # turn off previous LED shiftpi.digitalWrite(index - 1, shiftpi.LOW) # turn on the current LED shiftpi.digitalWrite(index, shiftpi.HIGH) shiftpi.delay(localDelayTime) for index in range(7, 0, -1): shiftpi.digitalWrite(index, shiftpi.LOW) shiftpi.digitalWrite(index - 1, shiftpi.HIGH) shiftpi.delay(localDelayTime)
from shiftpi import HIGH, LOW, digitalWrite, delay while True: digitalWrite(1, HIGH) delay(1000) digitalWrite(1, LOW) delay(1000)
def delay(self, delay): shiftpi.delay(delay)
#testing shiftpi #this program uses the outputs to a do a binary counter from 0 to the total number of bits from shiftpi import HIGH, LOW, digitalWrite, delay bits = 8 #hard coded to 8 (one chip) for now #loop from 0 to the max value of the bits available for x in range(0, 2 ** bits): temp = x print 'setting binary ' + str(temp) for b in range(bits - 1, -1,-1): if temp >= 2 ** b: y -= 2 ** b digitalWrite((bits-1)- b, HIGH) else: digitalWrite((bits-1)- b, LOW) delay(250)
#testing shiftpi #this program uses the outputs to a do a binary counter from 0 to the total number of bits from shiftpi import HIGH, LOW, digitalWrite, delay bits = 8 #hard coded to 8 (one chip) for now #loop from 0 to the max value of the bits available for x in range(0, 2**bits): temp = x print 'setting binary ' + str(temp) for b in range(bits - 1, -1, -1): if temp >= 2**b: y -= 2**b digitalWrite((bits - 1) - b, HIGH) else: digitalWrite((bits - 1) - b, LOW) delay(250)
def blink_red(): print("Red LED blinking") digitalWrite(_LED_Red, HIGH) delay(1000) digitalWrite(_LED_Red, LOW) delay(1000) digitalWrite(_LED_Red, HIGH) delay(1000) digitalWrite(_LED_Red, LOW) delay(1000) digitalWrite(_LED_Red, HIGH) delay(1000) digitalWrite(_LED_Red, LOW) delay(1000)
from shiftpi import (HIGH, LOW, ALL, digitalWrite, startupMode, delay, shiftRegisters) shiftRegisters(1) startupMode(LOW) up = 3 down = 4 try: while True: print('up') digitalWrite(up, HIGH) delay(500) digitalWrite(up, LOW) delay(6000) print('down') digitalWrite(down, HIGH) delay(500) digitalWrite(down, LOW) delay(6000) except KeyboardInterrupt: digitalWrite(ALL, LOW)
def turnAllOn(): # turns all shift register pins to HIGH shiftpi.digitalWrite(shiftpi.ALL, shiftpi.HIGH) shiftpi.delay(1000)
turnAllOn() #shiftpi.pinsSetup({"ser": SER_PIN, "rclk": RCLK_PIN, "srclk": SRCLK_PIN}) # that's itturnSegOn(0) #turnSegOn(1) #shiftpi.delay(2000) #turnSegOn(2) #turnSegOn(3) #turnSegOn(4) #turnSegOn(5) #turnSegOn(6) #turnAllOn() #turnAllOff() #turnAllOn() turnAllOff() digitZero() shiftpi.delay(DELAY) turnAllOff() digitOne() shiftpi.delay(DELAY) turnAllOff() digitTwo() shiftpi.delay(DELAY) turnAllOff() digitThree() shiftpi.delay(DELAY) turnAllOff() digitFour() shiftpi.delay(DELAY) turnAllOff() digitFive() shiftpi.delay(DELAY)
def ButtonB_Action(): all_pins = 16 for pin in range(all_pins - 1, -1, -1): shiftpi.digitalWrite(pin, shiftpi.HIGH) shiftpi.delay(300) shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
def _test_all_LEDs(): all_pins = 16 for pin in range(all_pins - 1, -1, -1): shiftpi.digitalWrite(pin, shiftpi.HIGH) shiftpi.delay(300) shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
def ButtonA_Action(): res = '{' shiftpi.pinSsetupInputStart() pinList = [ shiftpi._DB_1, shiftpi._DB_2, shiftpi._DB_3, shiftpi._DB_4, shiftpi._DB_5, shiftpi._DB_6, shiftpi._DB_7, shiftpi._DB_8, shiftpi._DB_9 ] shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW) rotate_pins = 8 for pin in range(0, rotate_pins, 1): shiftpi.digitalWrite(8, shiftpi.LOW) shiftpi.delay(100) shiftpi.digitalWrite(8, shiftpi.HIGH) print('Checking RJ45 pin ' + str(pin + 1)) res = res + '[' + str(pin + 1) + ',"' shiftpi.digitalWrite(pin, shiftpi.HIGH) shiftpi.delay(100) #Test all inputs and return result for pinNum in range(0, 9, 1): # print(' ... checking connection to Sub D pin ' + str(pinNum+1)) if shiftpi.readPin(shiftpi.subD[pinNum]) == 1: res = res + str(pinNum + 1) + '_' # 1f pin == 9 : # shiftpi.digitalWrite(15, shiftpi.HIGH) # shiftpi.digitalWrite(8, shiftpi.HIGH) # else: # shiftpi.digitalWrite(15-pin, shiftpi.HIGH) # shiftpi.delay(300) # if pin == 9 : # shiftpi.digitalWrite(15, shiftpi.LOW) # shiftpi.digitalWrite(8, shiftpi.LOW) # else: # shiftpi.digitalWrite(15-pin, shiftpi.LOW) shiftpi.digitalWrite(pin, shiftpi.LOW) if pin < 7: res = res + '"],' else: res = res + '"]}' shiftpi.digitalWrite(8, shiftpi.LOW) shiftpi.delay(100) shiftpi.digitalWrite(8, shiftpi.HIGH) #Qualify the result # Blue RJ45 <-> RJ45 + STD SUB D (First is when black mark pointing towards SUB D & second is when black mark pointing towards RJ45) if res == '{[1,"3_"],[2,"4_"],[3,"6_"],[4,"1_"],[5,"2_"],[6,"5_"],[7,"8_"],[8,"7_"]}' or res == '{[1,"2_"],[2,"1_"],[3,"6_"],[4,"3_"],[5,"7_"],[6,"8_"],[7,"4_"],[8,"5_"]}': shiftpi.digitalWrite(9, shiftpi.HIGH) # Red (CROSS OVER) Male RJ45 <-> Male RJ45 (Symetrical) + STD SUB D # Red (CROSS OVER) Female RJ45 <-> Male Rj45 + STD SUB D if res == '{[1,"6_"],[2,"3_"],[3,"8_"],[4,"2_"],[5,"1_"],[6,"7_"],[7,"5_"],[8,"4_"]}': shiftpi.digitalWrite(10, shiftpi.HIGH) # if res == '{[1,"6_"],[2,"3_"],[3,"8_"],[4,"2_"],[5,"1_"],[6,"7_"],[7,"5_"],[8,"4_"]}': # shiftpi.digitalWrite(12, shiftpi.HIGH) # Blue Female RJ45 <-> Male Rj45 (ROLLOVER) + STD SUB D if res == '{[1,"1_"],[2,"2_"],[3,"3_"],[4,"4_"],[5,"5_"],[6,"6_"],[7,"7_"],[8,"8_"]}': shiftpi.digitalWrite(11, shiftpi.HIGH) # Straight or Standard Sub D cable: Female RJ 45 -> Male Sub D if res == '{[1,"8_"],[2,"7_"],[3,"6_"],[4,"5_"],[5,"4_"],[6,"3_"],[7,"2_"],[8,"1_"]}': shiftpi.digitalWrite(12, shiftpi.HIGH) # Black Female RJ 45 -> Female Sub D if res == '{[1,"3_"],[2,"5_"],[3,"2_"],[4,"7_"],[5,"4_"],[6,"5_"],[7,"8_"],[8,"1_6_"]}': shiftpi.digitalWrite(14, shiftpi.HIGH) # Grey (HP) Female RJ 45 -> Female Sub D if res == '{[1,"7_"],[2,"4_"],[3,"3_"],[4,"5_"],[5,"5_"],[6,"2_"],[7,"6_"],[8,"8_"]}': shiftpi.digitalWrite(15, shiftpi.HIGH) shiftpi.pinSsetupInputStop() print(res)
shiftpi.delay(300) shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW) @atexit.register def goodbye(): print("You are now leaving the Python sector.") shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW) ''' Main Loop ''' shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW) shiftpi.digitalWrite(8, shiftpi.HIGH) shiftpi.delay(200) shiftpi.digitalWrite(9, shiftpi.HIGH) shiftpi.delay(200) shiftpi.digitalWrite(10, shiftpi.HIGH) shiftpi.delay(200) shiftpi.digitalWrite(11, shiftpi.HIGH) shiftpi.delay(200) shiftpi.digitalWrite(12, shiftpi.HIGH) shiftpi.delay(200) shiftpi.digitalWrite(13, shiftpi.HIGH) shiftpi.delay(200) shiftpi.digitalWrite(14, shiftpi.HIGH) shiftpi.delay(200) shiftpi.digitalWrite(15, shiftpi.HIGH) shiftpi.delay(200) shiftpi.digitalWrite(8, shiftpi.LOW)
def turnSegOn(pinid): shiftpi.digitalWrite(pinid, shiftpi.HIGH) shiftpi.delay(500) shiftpi.digitalWrite(pinid, shiftpi.LOW) shiftpi.delay(500)
import shiftpi #shiftpi.pinsSetup({"ser": 16, "rclk": 20, "srclk": 21}) #shiftpi.startupMode({1: shiftpi.HIGH, 4: shiftpi.HIGH, 6: shiftpi.HIGH}, True) shiftpi.delay(1000) shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW) shiftpi.delay(1000) for x in range(0, 9): shiftpi.digitalWrite(0, shiftpi.HIGH) shiftpi.delay(500) # turns shift register's pin 1 to LOW shiftpi.digitalWrite(0, shiftpi.LOW) shiftpi.delay(500) shiftpi.digitalWrite(1, shiftpi.HIGH) shiftpi.delay(500) # turns shift register's pin 1 to LOW shiftpi.digitalWrite(1, shiftpi.LOW) shiftpi.delay(500) shiftpi.digitalWrite(2, shiftpi.HIGH) shiftpi.delay(500) # turns shift register's pin 1 to LOW shiftpi.digitalWrite(2, shiftpi.LOW) shiftpi.delay(500) shiftpi.digitalWrite(3, shiftpi.HIGH) shiftpi.delay(500) # turns shift register's pin 1 to LOW shiftpi.digitalWrite(3, shiftpi.LOW) shiftpi.delay(500) shiftpi.digitalWrite(4, shiftpi.HIGH) shiftpi.delay(500)
from shiftpi import HIGH, LOW, ALL, digitalWrite, delay, startupMode startupMode(LOW,True) digitalWrite(0, HIGH) delay(1000) digitalWrite(0, LOW) delay(1000) digitalWrite(ALL, HIGH) delay(1000) digitalWrite(ALL, LOW) while True: for x in range(0, 8): digitalWrite(x, HIGH) delay(100) digitalWrite(x, LOW)
import shiftpi #shiftpi.pinsSetup({"ser": 16, "rclk": 20, "srclk": 21}) #shiftpi.startupMode({1: shiftpi.HIGH, 4: shiftpi.HIGH, 6: shiftpi.HIGH}, True) shiftpi.delay(1000) shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW) shiftpi.delay(1000) for x in range(0, 9): shiftpi.digitalWrite(0, shiftpi.HIGH) shiftpi.delay(500) # turns shift register's pin 1 to LOW shiftpi.digitalWrite(0, shiftpi.LOW) shiftpi.delay(500) shiftpi.digitalWrite(1, shiftpi.HIGH) shiftpi.delay(500) # turns shift register's pin 1 to LOW shiftpi.digitalWrite(1, shiftpi.LOW) shiftpi.delay(500) shiftpi.digitalWrite(2, shiftpi.HIGH) shiftpi.delay(500) # turns shift register's pin 1 to LOW shiftpi.digitalWrite(2, shiftpi.LOW) shiftpi.delay(500) shiftpi.digitalWrite(3, shiftpi.HIGH) shiftpi.delay(500) # turns shift register's pin 1 to LOW shiftpi.digitalWrite(3, shiftpi.LOW) shiftpi.delay(500) shiftpi.digitalWrite(4, shiftpi.HIGH) shiftpi.delay(500) # turns shift register's pin 1 to LOW