| 1 | #include "config.h" |
|---|
| 2 | #include "stdlib.h" |
|---|
| 3 | #include "string.h" |
|---|
| 4 | #include <stdio.h> |
|---|
| 5 | |
|---|
| 6 | #define LEFT_ENGINE 0 |
|---|
| 7 | #define RIGHT_ENGINE 1 |
|---|
| 8 | #define MIN_SPEED 10 |
|---|
| 9 | #define MAX_SPEED 30 |
|---|
| 10 | #define STEP 1 |
|---|
| 11 | |
|---|
| 12 | void Run( ) { |
|---|
| 13 | |
|---|
| 14 | int Left, Center, Right; |
|---|
| 15 | |
|---|
| 16 | Usb_SetActive( 1 ); |
|---|
| 17 | |
|---|
| 18 | System_SetName( "R23"); |
|---|
| 19 | |
|---|
| 20 | Stepper_SetPosition( LEFT_ENGINE, 100000); |
|---|
| 21 | Stepper_SetPosition( RIGHT_ENGINE, 100000); |
|---|
| 22 | while ( true ) { |
|---|
| 23 | Right = AnalogIn_GetValue(0); |
|---|
| 24 | Center = AnalogIn_GetValue(1); |
|---|
| 25 | Left = AnalogIn_GetValue(2); |
|---|
| 26 | |
|---|
| 27 | if ( Left > 1000 && Center < 10 && Right > 1000 ) { |
|---|
| 28 | Stepper_SetSpeed( LEFT_ENGINE, MAX_SPEED ); |
|---|
| 29 | Stepper_Step( LEFT_ENGINE, STEP ); |
|---|
| 30 | Stepper_SetSpeed( RIGHT_ENGINE, MAX_SPEED ); |
|---|
| 31 | Stepper_Step( RIGHT_ENGINE, STEP ); |
|---|
| 32 | |
|---|
| 33 | |
|---|
| 34 | } else if ( Left < 10 && Center > 1000 && Right > 1000 ) { |
|---|
| 35 | Stepper_SetSpeed( LEFT_ENGINE, MIN_SPEED ); |
|---|
| 36 | Stepper_Step( LEFT_ENGINE, STEP ); |
|---|
| 37 | Stepper_SetSpeed( RIGHT_ENGINE, MAX_SPEED ); |
|---|
| 38 | Stepper_Step( RIGHT_ENGINE, STEP ); |
|---|
| 39 | |
|---|
| 40 | } else if ( Left > 1000 && Center > 1000 && Right < 10 ) { |
|---|
| 41 | AppLed_SetState( 0, 0 ); AppLed_SetState( 1, 1 ); AppLed_SetState( 2, 1 ); |
|---|
| 42 | Stepper_SetSpeed( LEFT_ENGINE, MAX_SPEED ); |
|---|
| 43 | Stepper_Step( LEFT_ENGINE, STEP ); |
|---|
| 44 | Stepper_SetSpeed( RIGHT_ENGINE, MIN_SPEED ); |
|---|
| 45 | Stepper_Step( RIGHT_ENGINE, STEP ); |
|---|
| 46 | } else { |
|---|
| 47 | Stepper_SetActive( 0, 0 ); |
|---|
| 48 | Stepper_SetActive( 1, 0 ); |
|---|
| 49 | } |
|---|
| 50 | } |
|---|
| 51 | } |
|---|