IRDemo.c-Dateireferenz

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

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define DIARWD   0x1008
#define DIAFWD   0x1002
#define DIALEFT   0x1004
#define DIARIGHT   0x1006
#define DIASTOP   0x1029
#define DIAPOWER   0x103D
#define TUNERRWD   0x1021
#define TUNERFWD   0x1020
#define TUNERLEFT   0x1011
#define TUNERRIGHT   0x1010
#define TUNERSTOP   0x1025
#define TUNERPOWER   0x100C
#define OFFSET   0x3F
#define STEP   5

Funktionen

void IRFwd (void)
void IRRwd (void)
void IRLeft (void)
void IRRight (void)
void IRStop (void)
int IRDemo (void)

Variablen

int speedLeft
int speedRight


Makro-Dokumentation

#define DIAFWD   0x1002

Definiert in Zeile 40 der Datei IRDemo.c.

#define DIALEFT   0x1004

Definiert in Zeile 41 der Datei IRDemo.c.

#define DIAPOWER   0x103D

Definiert in Zeile 44 der Datei IRDemo.c.

#define DIARIGHT   0x1006

Definiert in Zeile 42 der Datei IRDemo.c.

#define DIARWD   0x1008

/file IRDemo.c /brief Routinen fuer die Dekodierung von RC5-Fernbedienungs-Codes /author Benjamin Benz (bbe@heise.de), m.a.r.v.i.n

/version V001 - 14.08.2003 - Jan Grewe initial build V002 - 22.10.2003 - Jan Grewe angepasst auf asuro.c Ver.2.10 V003 - 11.02.2007 - m.a.r.v.i.n c't-Bot RC5 Code portiert fuer den ASURO

Definiert in Zeile 39 der Datei IRDemo.c.

#define DIASTOP   0x1029

Definiert in Zeile 43 der Datei IRDemo.c.

#define OFFSET   0x3F

Definiert in Zeile 54 der Datei IRDemo.c.

#define STEP   5

Definiert in Zeile 55 der Datei IRDemo.c.

#define TUNERFWD   0x1020

Definiert in Zeile 48 der Datei IRDemo.c.

#define TUNERLEFT   0x1011

Definiert in Zeile 49 der Datei IRDemo.c.

#define TUNERPOWER   0x100C

Definiert in Zeile 52 der Datei IRDemo.c.

#define TUNERRIGHT   0x1010

Definiert in Zeile 50 der Datei IRDemo.c.

#define TUNERRWD   0x1021

Definiert in Zeile 47 der Datei IRDemo.c.

#define TUNERSTOP   0x1025

Definiert in Zeile 51 der Datei IRDemo.c.


Dokumentation der Funktionen

int IRDemo ( void   ) 

Definiert in Zeile 107 der Datei IRDemo.c.

00108 {
00109 
00110   static unsigned int cmd;
00111   unsigned char leftDir = FWD, rightDir = FWD;
00112   char text[7];
00113 
00114   Init();
00115   InitRC5();
00116 
00117   SerPrint("RC5 Test\r\n");
00118   while (1)
00119   {
00120     cmd = ReadRC5();
00121     if (cmd)
00122     {
00123       cmd &= RC5_MASK;
00124       itoa(cmd, text, 16);
00125       SerPrint(text);
00126       SerPrint("\r\n");
00127 
00128       switch (cmd)
00129       {
00130       case TUNERRWD :
00131       case DIARWD :
00132         IRRwd();
00133         break;
00134       case TUNERFWD :
00135       case DIAFWD :
00136         IRFwd();
00137         break;
00138       case TUNERLEFT :
00139       case DIALEFT:
00140         IRLeft();
00141         break;
00142       case TUNERRIGHT :
00143       case DIARIGHT:
00144         IRRight();
00145         break;
00146       case TUNERSTOP :
00147       case DIASTOP :
00148         IRStop();
00149         break;
00150       case TUNERPOWER :
00151       case DIAPOWER :
00152         return 0;
00153         break;
00154       }
00155     }
00156     if (speedLeft > 0 && speedLeft <  OFFSET) speedLeft += OFFSET;
00157     if (speedLeft < 0 && speedLeft > -OFFSET) speedLeft -= OFFSET;
00158     if (speedRight > 0 && speedRight <  OFFSET) speedRight += OFFSET;
00159     if (speedRight < 0 && speedRight > -OFFSET) speedRight -= OFFSET;
00160 
00161     leftDir = rightDir = FWD;
00162     if (speedLeft < 0)  leftDir = RWD;
00163     if (speedRight < 0) rightDir = RWD;
00164 
00165     if (speedLeft >   255) speedLeft  =  255;
00166     if (speedLeft <  -255) speedLeft  = -255;
00167     if (speedRight >  255) speedRight =  255;
00168     if (speedRight < -255) speedRight = -255;
00169 
00170     MotorDir(leftDir,rightDir);
00171     MotorSpeed(abs(speedLeft),abs(speedRight));
00172     Msleep(100);
00173   }
00174   return 0;
00175 }

void IRFwd ( void   ) 

Definiert in Zeile 59 der Datei IRDemo.c.

00060 {
00061   speedRight += STEP;
00062   speedLeft  += STEP;
00063   if (speedLeft < 0 && speedLeft >= -OFFSET) speedLeft = 1;
00064   if (speedRight < 0 && speedRight >= -OFFSET) speedRight = 1;
00065   FrontLED(ON);
00066   BackLED(OFF,OFF);
00067 }

void IRLeft ( void   ) 

Definiert in Zeile 79 der Datei IRDemo.c.

00080 {
00081   speedLeft  -= STEP;
00082   if (speedLeft > 0 && speedLeft <= OFFSET) speedLeft = -1;
00083   speedRight += STEP;
00084   if (speedRight < 0 && speedRight >= -OFFSET) speedRight = 1;
00085   FrontLED(OFF);
00086   BackLED(ON,OFF);
00087 }

void IRRight ( void   ) 

Definiert in Zeile 89 der Datei IRDemo.c.

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

void IRRwd ( void   ) 

Definiert in Zeile 69 der Datei IRDemo.c.

00070 {
00071   speedRight -= STEP;
00072   speedLeft  -= STEP;
00073   if (speedRight > 0 && speedRight <= OFFSET)  speedRight = -1;
00074   if (speedLeft > 0 && speedLeft <= OFFSET)  speedLeft = -1;
00075   FrontLED(OFF);
00076   BackLED(ON,ON);
00077 }

void IRStop ( void   ) 

Definiert in Zeile 100 der Datei IRDemo.c.

00101 {
00102   speedRight = speedLeft = 0;
00103   FrontLED(OFF);
00104   BackLED(OFF,OFF);
00105 }


Variablen-Dokumentation

int speedLeft

Definiert in Zeile 57 der Datei IRDemo.c.

int speedRight

Definiert in Zeile 57 der Datei IRDemo.c.


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