summaryrefslogtreecommitdiffstats
path: root/source/Concept/Framework/engine.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/Concept/Framework/engine.h')
-rw-r--r--source/Concept/Framework/engine.h124
1 files changed, 0 insertions, 124 deletions
diff --git a/source/Concept/Framework/engine.h b/source/Concept/Framework/engine.h
deleted file mode 100644
index 8dd284e..0000000
--- a/source/Concept/Framework/engine.h
+++ /dev/null
@@ -1,124 +0,0 @@
-#ifndef _ENGINE_H
-#define _ENGINE_H
-
-#include "stdafx.h"
-
-class Engine : public IO_Module
-{
-public:
- Engine()
- {
- this->enabled = false;
- this->curSpeed = 0;
- this->parent = NULL;
- this->moduleId = 0;
- this->hardwarePort = NULL;
- this->pwmSpeed = NULL;
- this->pinForward = 0;
- this->pinReverse = 0;
- }
-
- Engine(uint32 engineId)
- {
- this->enabled = false;
- this->curSpeed = 0;
- this->parent = NULL;
- this->moduleId = engineId;
-
- switch(engineId)
- {
- case IO_ENGINE_DRIVE_LEFT:
- this->hardwarePort = &PORTB;
- this->pwmSpeed = &OCR1A;
- this->pinForward = (1 << 0);
- this->pinReverse = (1 << 1);
- break;
- case IO_ENGINE_DRIVE_BACK:
- this->hardwarePort = &PORTB;
- this->pwmSpeed = &OCR1B;
- this->pinForward = (1 << 2);
- this->pinReverse = (1 << 3);
- break;
- case IO_ENGINE_DRIVE_RIGHT:
- this->hardwarePort = &PORTD;
- this->pwmSpeed = &OCR3A;
- this->pinForward = (1 << 5);
- this->pinReverse = (1 << 4);
- break;
- default:
- this->hardwarePort = NULL;
- this->pwmSpeed = NULL;
- this->pinForward = 0;
- this->pinReverse = 0;
- break;
- }
-
- *this->pwmSpeed = 0;
- }
-
-protected:
- bool enabled;
- float curSpeed;
-
- //Hardware
- volatile uint8* hardwarePort;
- volatile uint16* pwmSpeed;
- uint8 pinForward;
- uint8 pinReverse;
-
- void UpdateDirection()
- {
- if(enabled)
- {
- if(curSpeed > 0)
- {
- *hardwarePort |= pinForward;
- *hardwarePort &= ~pinReverse;
- }
- else if(curSpeed < 0)
- {
- *hardwarePort |= pinReverse;
- *hardwarePort &= ~pinForward;
- }
- else
- {
- *hardwarePort |= pinForward;
- *hardwarePort |= pinReverse;
- }
- }
- else
- {
- *hardwarePort &= ~pinForward;
- *hardwarePort &= ~pinReverse;
- }
- }
-
-public:
- float GetSpeed()
- {
- return curSpeed;
- }
-
- void SetSpeed(float newSpeed)
- {
- curSpeed = newSpeed;
-
- *pwmSpeed = (abs((int16)(newSpeed / SPEED_PER_PWM)));
-
- UpdateDirection();
- }
-
- bool GetEnabled()
- {
- return enabled;
- }
-
- void SetEnabled(bool newStatus)
- {
- enabled = newStatus;
-
- UpdateDirection();
- }
-};
-
-#endif