From d8e83400c8780fdd04018cd2f59313a3e4533d71 Mon Sep 17 00:00:00 2001 From: sicarius Date: Thu, 22 Feb 2007 21:22:02 +0000 Subject: Codestuff --- .../Concept/Framework/modules/executor/aktuator.c | 11 ++++ .../Concept/Framework/modules/executor/aktuator.h | 27 ++++++++++ source/Concept/Framework/modules/logic/logic.c | 43 ++++++++++++++++ source/Concept/Framework/modules/logic/logic.h | 58 ++++++++++++++++++++++ source/Concept/Framework/modules/wireless.c | 1 + source/Concept/Framework/modules/wireless.h | 58 ++++++++++++++++++++++ 6 files changed, 198 insertions(+) create mode 100755 source/Concept/Framework/modules/executor/aktuator.c create mode 100755 source/Concept/Framework/modules/executor/aktuator.h create mode 100755 source/Concept/Framework/modules/logic/logic.c create mode 100755 source/Concept/Framework/modules/logic/logic.h create mode 100755 source/Concept/Framework/modules/wireless.c create mode 100755 source/Concept/Framework/modules/wireless.h (limited to 'source/Concept/Framework/modules') diff --git a/source/Concept/Framework/modules/executor/aktuator.c b/source/Concept/Framework/modules/executor/aktuator.c new file mode 100755 index 0000000..51dc331 --- /dev/null +++ b/source/Concept/Framework/modules/executor/aktuator.c @@ -0,0 +1,11 @@ +#include "aktuator.h" + +//----------------------------------------------------------------------------- +void Aktuator::Kick() +{ + (parent->GetModule(IO_KICKER_MAIN))->SetEnabled(true);//aktivate kicker + (parent->GetModule(IO_DRIBBLER_MAIN))->SetSpeed(-1);//aktivate dribbler reverse + msleep(10);//wait 100us + (parent->GetModule(IO_KICKER_MAIN))->SetEnabled(false);//deaktivate kicker + (parent->GetModule(IO_DRIBBLER_MAIN))->SetSpeed(1);//deaktivate dribbler reverse +} diff --git a/source/Concept/Framework/modules/executor/aktuator.h b/source/Concept/Framework/modules/executor/aktuator.h new file mode 100755 index 0000000..9dc8684 --- /dev/null +++ b/source/Concept/Framework/modules/executor/aktuator.h @@ -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 diff --git a/source/Concept/Framework/modules/logic/logic.c b/source/Concept/Framework/modules/logic/logic.c new file mode 100755 index 0000000..00599d8 --- /dev/null +++ b/source/Concept/Framework/modules/logic/logic.c @@ -0,0 +1,43 @@ +#include "logic.h" + +//----------------------------------------------------------------------------- +void Logic::OnBallOwned() +{ + Wireless* ourWireless = parent->GetModule(IO_WIRELESS_MAIN); + + //ourWireless->Send(WIRELESS_CODE); + //ourWireless->Send(); +} + +//----------------------------------------------------------------------------- +void Logic::OnBallLost() +{ + Wireless* ourWireless = parent->GetModule(IO_WIRELESS_MAIN); + + //ourWireless->Send(WIRELESS_CODE); + //ourWireless->Send(); +} + +//----------------------------------------------------------------------------- +void Logic::Update() +{ + // We want to use a navigator + Navigator* ourNavigator = parent->GetModule(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? + + } +} diff --git a/source/Concept/Framework/modules/logic/logic.h b/source/Concept/Framework/modules/logic/logic.h new file mode 100755 index 0000000..296956b --- /dev/null +++ b/source/Concept/Framework/modules/logic/logic.h @@ -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 diff --git a/source/Concept/Framework/modules/wireless.c b/source/Concept/Framework/modules/wireless.c new file mode 100755 index 0000000..0a60e6a --- /dev/null +++ b/source/Concept/Framework/modules/wireless.c @@ -0,0 +1 @@ +#include "wireless.h" diff --git a/source/Concept/Framework/modules/wireless.h b/source/Concept/Framework/modules/wireless.h new file mode 100755 index 0000000..19cc3d1 --- /dev/null +++ b/source/Concept/Framework/modules/wireless.h @@ -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 -- cgit v1.2.3