PCDemo.c-Dateireferenz

#include "asuro.h"
#include <stdlib.h>

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define OFFSET   0x3F
#define STEP   5
#define RWD_KEY   '2'
#define FWD_KEY   '8'
#define LEFT_KEY   '4'
#define RIGHT_KEY   '6'
#define STOP_KEY   '5'
#define ESC_KEY   0x1B

Funktionen

void PCFwd (void)
void PCRwd (void)
void PCLeft (void)
void PCRight (void)
void PCStop (void)
void PCDemo (void)

Variablen

int speedLeft
int speedRight


Makro-Dokumentation

#define ESC_KEY   0x1B

Definiert in Zeile 33 der Datei PCDemo.c.

#define FWD_KEY   '8'

Definiert in Zeile 29 der Datei PCDemo.c.

#define LEFT_KEY   '4'

Definiert in Zeile 30 der Datei PCDemo.c.

#define OFFSET   0x3F

Definiert in Zeile 25 der Datei PCDemo.c.

#define RIGHT_KEY   '6'

Definiert in Zeile 31 der Datei PCDemo.c.

#define RWD_KEY   '2'

Definiert in Zeile 28 der Datei PCDemo.c.

#define STEP   5

Definiert in Zeile 26 der Datei PCDemo.c.

#define STOP_KEY   '5'

Definiert in Zeile 32 der Datei PCDemo.c.


Dokumentation der Funktionen

void PCDemo ( void   ) 

Definiert in Zeile 115 der Datei PCDemo.c.

00116 {
00117   unsigned char cmd;
00118   unsigned char leftDir = FWD, rightDir = FWD;
00119 
00120   Init();
00121   SerPrint("PCDemo\r\n");
00122   StartSwitch();
00123   sei();
00124   for (;;)
00125   {
00126     cmd = 0;
00127     SerRead(&cmd,1,0xFFFE);
00128     switch (cmd)
00129     {
00130     case RWD_KEY :
00131       PCRwd();
00132       break;
00133     case FWD_KEY :
00134       PCFwd();
00135       break;
00136     case LEFT_KEY :
00137       PCLeft();
00138       break;
00139     case RIGHT_KEY :
00140       PCRight();
00141       break;
00142     case STOP_KEY :
00143       PCStop();
00144       break;
00145     case ESC_KEY :
00146       return;
00147       break;
00148     }
00149     if (speedLeft > 0 && speedLeft <  OFFSET) speedLeft += OFFSET;
00150     if (speedLeft < 0 && speedLeft > -OFFSET) speedLeft -= OFFSET;
00151     if (speedRight > 0 && speedRight <  OFFSET) speedRight += OFFSET;
00152     if (speedRight < 0 && speedRight > -OFFSET) speedRight -= OFFSET;
00153 
00154     if (switched)
00155     {
00156       speedLeft  = 0;
00157       speedRight = 0;
00158       switched = FALSE;
00159   // und ab gehts --- fahr zurück
00160       MotorDir(RWD,RWD);
00161       MotorSpeed(200,200);
00162       FrontLED(ON);
00163       BackLED(ON,ON);
00164       Msleep(1000);
00165     }
00166 
00167     leftDir = rightDir = FWD;
00168     if (speedLeft < 0)  leftDir = RWD;
00169     if (speedRight < 0) rightDir = RWD;
00170 
00171     if (speedLeft >   255) speedLeft  =  255;
00172     if (speedLeft <  -255) speedLeft  = -255;
00173     if (speedRight >  255) speedRight =  255;
00174     if (speedRight < -255) speedRight = -255;
00175 
00176     MotorDir(leftDir,rightDir);
00177     MotorSpeed(abs(speedLeft),abs(speedRight));
00178   }
00179 }

void PCFwd ( void   ) 

Definiert in Zeile 66 der Datei PCDemo.c.

00067 {
00068   speedRight += STEP;
00069   speedLeft  += STEP;
00070   if (speedLeft < 0 && speedLeft >= -OFFSET) speedLeft = 1;
00071   if (speedRight < 0 && speedRight >= -OFFSET) speedRight = 1;
00072   FrontLED(ON);
00073   BackLED(OFF,OFF);
00074 }

void PCLeft ( void   ) 

Definiert in Zeile 86 der Datei PCDemo.c.

00087 {
00088   speedLeft  -= STEP;
00089   if (speedLeft > 0 && speedLeft <= OFFSET) speedLeft = -1;
00090   speedRight += STEP;
00091   if (speedRight < 0 && speedRight >= -OFFSET) speedRight = 1;
00092   FrontLED(OFF);
00093   BackLED(ON,OFF);
00094 }

void PCRight ( void   ) 

Definiert in Zeile 96 der Datei PCDemo.c.

00097 {
00098   speedLeft  += STEP;
00099   if (speedLeft < 0 && speedLeft >= -OFFSET) speedLeft = 1;
00100   speedRight -= STEP;
00101   if (speedRight > 0 && speedRight <= OFFSET) speedRight = -1;
00102   FrontLED(OFF);
00103   BackLED(OFF,ON);
00104 }

void PCRwd ( void   ) 

Definiert in Zeile 76 der Datei PCDemo.c.

00077 {
00078   speedRight -= STEP;
00079   speedLeft  -= STEP;
00080   if (speedRight > 0 && speedRight <= OFFSET)  speedRight = -1;
00081   if (speedLeft > 0 && speedLeft <= OFFSET)  speedLeft = -1;
00082   FrontLED(OFF);
00083   BackLED(ON,ON);
00084 }

void PCStop ( void   ) 

Definiert in Zeile 107 der Datei PCDemo.c.

00108 {
00109   speedRight = speedLeft = 0;
00110   FrontLED(OFF);
00111   BackLED(OFF,OFF);
00112 }


Variablen-Dokumentation

int speedLeft

Definiert in Zeile 38 der Datei PCDemo.c.

int speedRight

Definiert in Zeile 38 der Datei PCDemo.c.


Erzeugt am Mon Apr 9 13:28:40 2007 für ASURO Library von  doxygen 1.5.1-p1