From b773e688abf3efc0a1d4155006733b15ca1f79d3 Mon Sep 17 00:00:00 2001 From: gcohen Date: Tue, 30 Dec 2014 16:14:27 -0800 Subject: refactoring open --- python/examples/futureHouse/open.py | 113 +++++++++++------------------------- 1 file changed, 35 insertions(+), 78 deletions(-) (limited to 'python') diff --git a/python/examples/futureHouse/open.py b/python/examples/futureHouse/open.py index b5518c6..256b73e 100644 --- a/python/examples/futureHouse/open.py +++ b/python/examples/futureHouse/open.py @@ -1,82 +1,42 @@ -#----------------------------------- -# Name: Stepper Motor -# -# Author: matt.hawkins -# -# Created: 11/07/2012 -# Copyright: (c) matt.hawkins 2012 -#----------------------------------- -#!/usr/bin/env python - -# Import required libraries import time import sys import RPi.GPIO as GPIO -# Use BCM GPIO references -# instead of physical pin numbers GPIO.setmode(GPIO.BOARD) - -# Define GPIO signals to use -# Pins 19,22,24,26 -# GPIO10,GPIO25,GPIO8,GPIO7 - -StepPins = [26,24,22,19] -#StepPins = [24,22,26,19] - -# Set all pins as output -for pin in StepPins: - print "Setup pins" - GPIO.setup(pin,GPIO.OUT) - GPIO.output(pin, False) - -# Define some settings -StepCounter = 0 -WaitTime = 0.000001 -#WaitTime = 0.001 - -# Define simple sequence -StepCount1 = 4 -Seq1 = [] -Seq1 = range(0, StepCount1) - -Seq1[0] = [1,0,0,0] -Seq1[1] = [0,1,0,0] -Seq1[2] = [0,0,1,0] -Seq1[3] = [0,0,0,1] - -#Seq1[3] = [1,0,0,0] -#Seq1[2] = [0,1,0,0] -#Seq1[1] = [0,0,1,0] -#Seq1[0] = [0,0,0,1] - -# Define advanced sequence -# as shown in manufacturers datasheet -StepCount2 = 8 -Seq2 = [] -Seq2 = range(0, StepCount2) -Seq2[0] = [1,0,0,0] -Seq2[1] = [1,1,0,0] -Seq2[2] = [0,1,0,0] -Seq2[3] = [0,1,1,0] -Seq2[4] = [0,0,1,0] -Seq2[5] = [0,0,1,1] -Seq2[6] = [0,0,0,1] -Seq2[7] = [1,0,0,1] +stepPins = [26,24,22,19] +waitTime = 0.000001 + +for pin in stepPins: + print "Setup pins" + GPIO.setup(pin,GPIO.OUT) + GPIO.output(pin, False) + +stepCounter = 0 +stepCount = 8 + +Seq = [] +Seq = range(0, stepCount) +Seq[0] = [1,0,0,0] +Seq[1] = [1,1,0,0] +Seq[2] = [0,1,0,0] +Seq[3] = [0,1,1,0] +Seq[4] = [0,0,1,0] +Seq[5] = [0,0,1,1] +Seq[6] = [0,0,0,1] +Seq[7] = [1,0,0,1] # Choose a sequence to use -Seq = Seq2 -StepCount = StepCount2 -GlobalCount = 1600 -Cycles = 0 + +maxSteps = 1600 +completedSteps = 0 # Start main loop while 1==1: for pin in range(0, 4): - xpin = StepPins[pin] + xpin = stepPins[pin] - pinVal = Seq[StepCounter][pin] + pinVal = Seq[stepCounter][pin] if pinVal!=0: #print " Step %i Enable %i" %(StepCounter,xpin) @@ -84,20 +44,17 @@ while 1==1: else: GPIO.output(xpin, False) - StepCounter += 1 - Cycles +=1 + stepCounter += 1 + completedSteps +=1 - print " Stepcounter: %i" %(StepCounter) - # If we reach the end of the sequence - # start again - if (StepCounter==StepCount): - StepCounter = 0 + print " Stepcounter: %i" %(stepCounter) + if (stepCounter==stepCount): + stepCounter = 0 - if (StepCounter<0): - StepCounter = StepCount + if (stepCounter<0): + stepCounter = stepCount - if (GlobalCount == Cycles): + if (maxSteps == completedSteps): sys.exit() - # Wait before moving on - time.sleep(WaitTime) + time.sleep(waitTime) -- cgit v1.2.3