Codestuff

This commit is contained in:
sicarius 2007-02-22 21:22:02 +00:00
parent f544ab7822
commit d8e83400c8
7 changed files with 198 additions and 0 deletions

Binary file not shown.

View file

@ -0,0 +1,11 @@
#include "aktuator.h"
//-----------------------------------------------------------------------------
void Aktuator::Kick()
{
(parent->GetModule<Kicker>(IO_KICKER_MAIN))->SetEnabled(true);//aktivate kicker
(parent->GetModule<Dribbler>(IO_DRIBBLER_MAIN))->SetSpeed(-1);//aktivate dribbler reverse
msleep(10);//wait 100us
(parent->GetModule<Kicker>(IO_KICKER_MAIN))->SetEnabled(false);//deaktivate kicker
(parent->GetModule<Dribbler>(IO_DRIBBLER_MAIN))->SetSpeed(1);//deaktivate dribbler reverse
}

View file

@ -0,0 +1,27 @@
#ifndef _AKTUATOR_H
#define _AKTUATOR_H
#include "../../stdafx.h"
class Aktuator : public IO_Module
{
public:
Aktuator()
{
this->parent = NULL;
this->moduleId = 0;
}
Aktuator(uint32 aktuatorId)
{
this->parent = NULL;
this->moduleId = aktuatorId;
}
protected:
public:
void Kick();
};
#endif

View file

@ -0,0 +1,43 @@
#include "logic.h"
//-----------------------------------------------------------------------------
void Logic::OnBallOwned()
{
Wireless* ourWireless = parent->GetModule<Wireless>(IO_WIRELESS_MAIN);
//ourWireless->Send(WIRELESS_CODE);
//ourWireless->Send();
}
//-----------------------------------------------------------------------------
void Logic::OnBallLost()
{
Wireless* ourWireless = parent->GetModule<Wireless>(IO_WIRELESS_MAIN);
//ourWireless->Send(WIRELESS_CODE);
//ourWireless->Send();
}
//-----------------------------------------------------------------------------
void Logic::Update()
{
// We want to use a navigator
Navigator* ourNavigator = parent->GetModule<Navigator>(IO_NAVIGATOR_MAIN);
// is Keeper?
if(isKeeper) {
// turn around al little bit...
if((status == STATUS_KEEPER_TURN_LEFT && ourNavigator->AngleReached()) ||
(status != STATUS_KEEPER_TURN_LEFT && status != STATUS_KEEPER_TURN_RIGHT)) {
status = STATUS_KEEPER_TURN_RIGHT;
ourNavigator->RotateTo(315,200);
}
else if(status == STATUS_KEEPER_TURN_RIGHT && ourNavigator->AngleReached()) {
status = STATUS_KEEPER_TURN_LEFT;
ourNavigator->RotateTo(45, 200);
}
}
else { // is Player?
}
}

View file

@ -0,0 +1,58 @@
#ifndef _LOGIC_H
#define _LOGIC_H
#include "../../stdafx.h"
#define STATUS_KEEPER_TURN_RIGHT 1
#define STATUS_KEEPER_TURN_LEFT 2
class Logic : public IO_Module
{
public:
Logic()
{
this->parent = NULL;
this->moduleId = 0;
this->isKeeper = false;
this->status = 0;
}
Logic(uint32 logicId)
{
this->parent = NULL;
this->moduleId = logicId;
this->isKeeper = false;
this->status = 0;
}
protected:
bool isKeeper;
uint8 status;
void OnBallOwned();
void OnBallLost();
public:
void Update();
bool IsKeeper()
{
return isKeeper;
}
bool IsAttacker()
{
return !isKeeper;
}
void SetKeeper(bool newStatus) {
this->isKeeper = newStatus;
}
bool HasBall()
{
//fill me!
}
};
#endif

View file

@ -0,0 +1 @@
#include "wireless.h"

View file

@ -0,0 +1,58 @@
#ifndef _WIRELESS_H
#define _WIRELESS_H
#include "../../stdafx.h"
class Wireless : public IO_Module
{
public:
Wireless()
{
this->parent = NULL;
this->moduleId = 0;
}
Wireless(uint32 wirelessId)
{
this->parent = NULL;
this->moduleId = wirelessId;
switch(wirelessId)
{
case IO_WIRELESS_MAIN:
uart_init(51); // 19200 Baud at 16MHz Atmel
break;
default:
break;
}
}
protected:
uint8 transmitPower;
public:
void SetTransmitPower(uint8 newTransmitPower)
{
this->transmitPower = newTransmitPower;
char buffer[12];
ltoa(this->transmitPower-1, buffer, 10);
uart_puts(buffer);
}
void Send(char* message)
{
uart_puts(message);
}
void Send(uint8 message)
{
uart_putc(message);
}
int16 Recieve()
{
return uart_getc();
}
};
#endif