PROC Print Sequence Print the sequence name Print each sequence item ENDPROC PROC Rotate To WHILE not at desired position Increment/Decrement to next position Set output pins to correct value for step ENDWHILE ENDPROC MAINPROC Initialize define possible sequences for movement Choose Raspberry Pi P1 pins to use (board values) determine if input need to be inverted (using transistors) Initialize GPIO Package Test output pins/lights WHILE User wants to do another test Ask user for which sequence to use (currently fixed as sequence #2) CASE Chosen Selection SELECT Sequence 0 SELECT Sequence 1 SELECT Sequence 2 SELECT Sequence 3 SELECT Sequence 4 ENDCASE Ask user for steps or time (in negative seconds) Ask user for which direction to rotate (which way to setep sequence) WHILE steping remains to be done Set output pins to correct value for step Wait for user or automatically step ENDWHILE Ask user if he wants to do another test ENDWHILE Move back and forth and move to original position using rotateTo Turn off all power to motor ENDMAIN