/****************************************************\ * Two motor rev down task. * Must predefine the shooter motors in #define statements * or constants. * Called as a task so it won't interrupt other processes. \****************************************************/ #define _SHOOTER_MOTOR_TOP_ motor2_1 #define _SHOOTER_MOTOR_BOTTOM_ motor2_2 task revShooterDown() { while(motor[_SHOOTER_MOTOR_TOP_]!=0||motor[_SHOOTER_MOTOR_BOTTOM_]!=0) { //Top motor //Are not at 0 power? if(motor[_SHOOTER_MOTOR_TOP_]!=0) //Is the power < 10? if(abs(motor[_SHOOTER_MOTOR_TOP_])<10) motor[_SHOOTER_MOTOR_TOP_] = 0; //Is the power negative? else if(motor[_SHOOTER_MOTOR_TOP_]<0) motor[_SHOOTER_MOTOR_TOP_] += 5; //The power is positive, and above 10. else motor[_SHOOTER_MOTOR_TOP_] -= 5; //Bottom motor //Are not at 0 power? if(motor[_SHOOTER_MOTOR_BOTTOM_]!=0) //Is the power < 10? if(abs(motor[_SHOOTER_MOTOR_BOTTOM_])<10) motor[_SHOOTER_MOTOR_BOTTOM_] = 0; //Is the power negative? else if(motor[_SHOOTER_MOTOR_BOTTOM_]<0) motor[_SHOOTER_MOTOR_BOTTOM_] += 5; //The power is positive, and above 10. else motor[_SHOOTER_MOTOR_BOTTOM_] -= 5; wait1Msec(200); } } /****************************************************\ * One motor rev down task. * Must predefine the shooter motor in a #define statement * or constants. * Called as a task so it won't interrupt other processes. \****************************************************/ #define _SHOOTER_MOTOR_ motor2_1 task revShooterDown() { while(motor[_SHOOTER_MOTOR_]!=0||motor[_SHOOTER_MOTOR_BOTTOM_]!=0) { //Top motor //Are not at 0 power? if(motor[_SHOOTER_MOTOR_]!=0) //Is the power < 10? if(abs(motor[_SHOOTER_MOTOR_])<10) motor[_SHOOTER_MOTOR_] = 0; //Is the power negative? else if(motor[_SHOOTER_MOTOR_]<0) motor[_SHOOTER_MOTOR_] += 5; //The power is positive, and above 10. else motor[_SHOOTER_MOTOR_] -= 5; wait1Msec(200); } }