summaryrefslogtreecommitdiffstats
path: root/source/Concept/Framework/modules
diff options
context:
space:
mode:
authorsicarius <devnull@localhost>2007-02-22 22:22:02 +0100
committersicarius <devnull@localhost>2007-02-22 22:22:02 +0100
commitd8e83400c8780fdd04018cd2f59313a3e4533d71 (patch)
treeef4f81bc5b8286b9ef759b2063de60abefdaa1f9 /source/Concept/Framework/modules
parentf544ab78229d3a4d54b910135ba61bb816009589 (diff)
downloadrc2007-soccer-d8e83400c8780fdd04018cd2f59313a3e4533d71.tar
rc2007-soccer-d8e83400c8780fdd04018cd2f59313a3e4533d71.zip
Codestuff
Diffstat (limited to 'source/Concept/Framework/modules')
-rwxr-xr-xsource/Concept/Framework/modules/executor/aktuator.c11
-rwxr-xr-xsource/Concept/Framework/modules/executor/aktuator.h27
-rwxr-xr-xsource/Concept/Framework/modules/logic/logic.c43
-rwxr-xr-xsource/Concept/Framework/modules/logic/logic.h58
-rwxr-xr-xsource/Concept/Framework/modules/wireless.c1
-rwxr-xr-xsource/Concept/Framework/modules/wireless.h58
6 files changed, 198 insertions, 0 deletions
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<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
+}
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<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?
+
+ }
+}
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