Elbow input works default tip
authorMichael Smith <smithm@netapps.com.au>
Mon Apr 05 12:49:10 2010 +1000 (2010-04-05)
changeset 314ecb9d4f1985
parent 30 8164b60d45bc
Elbow input works
robotarm.c
     1.1 --- a/robotarm.c	Mon Apr 05 12:36:23 2010 +1000
     1.2 +++ b/robotarm.c	Mon Apr 05 12:49:10 2010 +1000
     1.3 @@ -248,20 +248,76 @@
     1.4    voltage = ADCH;
     1.5    switch(current_state)
     1.6    {
     1.7 +    case WRIST_UP:
     1.8 +      if(voltage > 190)
     1.9 +      {
    1.10 +        startState(STATE_STOPPED);
    1.11 +        startState(WRIST_DOWN);
    1.12 +      }
    1.13 +      break;
    1.14 +    case WRIST_DOWN:
    1.15 +      if(voltage < 14)
    1.16 +      {
    1.17 +        startState(STATE_STOPPED);
    1.18 +        startState(WRIST_UP);
    1.19 +      }
    1.20 +      break;
    1.21      case SHOULDER_UP:
    1.22 -      if(voltage > 200)
    1.23 +      if(voltage > 190)
    1.24        {
    1.25          startState(STATE_STOPPED);
    1.26          startState(SHOULDER_DOWN);
    1.27        }
    1.28        break;
    1.29      case SHOULDER_DOWN:
    1.30 -      if(voltage < 12)
    1.31 +      if(voltage < 14)
    1.32        {
    1.33          startState(STATE_STOPPED);
    1.34          startState(SHOULDER_UP);
    1.35        }
    1.36        break;
    1.37 +    case SHOULDER_LEFT:
    1.38 +      if(voltage > 190)
    1.39 +      {
    1.40 +        startState(STATE_STOPPED);
    1.41 +        startState(SHOULDER_RIGHT);
    1.42 +      }
    1.43 +      break;
    1.44 +    case SHOULDER_RIGHT:
    1.45 +      if(voltage < 14)
    1.46 +      {
    1.47 +        startState(STATE_STOPPED);
    1.48 +        startState(SHOULDER_LEFT);
    1.49 +      }
    1.50 +      break;
    1.51 +    case ELBOW_UP:
    1.52 +      if(voltage > 190)
    1.53 +      {
    1.54 +        startState(STATE_STOPPED);
    1.55 +        startState(ELBOW_DOWN);
    1.56 +      }
    1.57 +      break;
    1.58 +    case ELBOW_DOWN:
    1.59 +      if(voltage < 14)
    1.60 +      {
    1.61 +        startState(STATE_STOPPED);
    1.62 +        startState(ELBOW_UP);
    1.63 +      }
    1.64 +      break;
    1.65 +    case GRIP_OPEN:
    1.66 +      if(voltage > 190)
    1.67 +      {
    1.68 +        startState(STATE_STOPPED);
    1.69 +        startState(GRIP_CLOSE);
    1.70 +      }
    1.71 +      break;
    1.72 +    case GRIP_CLOSE:
    1.73 +      if(voltage < 14)
    1.74 +      {
    1.75 +        startState(STATE_STOPPED);
    1.76 +        startState(GRIP_OPEN);
    1.77 +      }
    1.78 +      break;
    1.79    }
    1.80    ADCSRA |= _BV(ADSC);
    1.81  }
    1.82 @@ -310,7 +366,7 @@
    1.83  
    1.84    startState(STATE_STOPPED);
    1.85    
    1.86 -  startState(SHOULDER_UP);
    1.87 +  startState(ELBOW_UP);
    1.88  
    1.89    while(1);
    1.90    return(0);