-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathFTControl.cpp
More file actions
94 lines (80 loc) · 1.7 KB
/
FTControl.cpp
File metadata and controls
94 lines (80 loc) · 1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/*
FTControl.cpp - V1.1 - Library for controlling legacy Fischer Technik computing.
Created by Peter Gabriel, December, 2019.
Released into the public domain.
History: v1.1: changed E1 and E2 to pins 11 resp. 12 due to I2C conflicts
*/
#include "Arduino.h"
#include "FTControl.h"
#define bE1 11
#define bE2 12
#define bE3 4
#define bE4 5
#define bE5 6
#define bE6 7
#define bE7 8
#define bE8 9
#define pEX A0
#define pEY A1
FTControl::FTControl()
{
pinMode(pEX, INPUT);
pinMode(pEY, INPUT);
pinMode(bE1, INPUT_PULLUP);
pinMode(bE2, INPUT_PULLUP);
pinMode(bE3, INPUT_PULLUP);
pinMode(bE4, INPUT_PULLUP);
pinMode(bE5, INPUT_PULLUP);
pinMode(bE6, INPUT_PULLUP);
pinMode(bE7, INPUT_PULLUP);
pinMode(bE8, INPUT_PULLUP);
_AFMS = Adafruit_MotorShield();
}
void FTControl::begin() {
_AFMS.begin();
}
void FTControl::forward(int nr) {
Adafruit_DCMotor *_m = _AFMS.getMotor(nr);
_m->run(FORWARD);
}
void FTControl::backward(int nr) {
Adafruit_DCMotor *_m = _AFMS.getMotor(nr);
_m->run(BACKWARD);
}
void FTControl::stop(int nr) {
Adafruit_DCMotor *_m = _AFMS.getMotor(nr);
_m->run(RELEASE);
}
void FTControl::setSpeed(int nr, int speed) {
Adafruit_DCMotor *_m = _AFMS.getMotor(nr);
_m->setSpeed(speed);
}
int FTControl::checkEX()
{
return analogRead(pEX);
}
int FTControl::checkEY()
{
return analogRead(pEY);
}
uint8_t FTControl::checkE(int num)
{
int pin = bE1;
if (num == 8)
pin = bE8;
else if (num == 8)
pin = bE8;
else if (num == 7)
pin = bE7;
else if (num == 6)
pin = bE6;
else if (num == 5)
pin = bE5;
else if (num == 4)
pin = bE4;
else if (num == 3)
pin = bE3;
else if (num == 2)
pin = bE2;
return digitalRead(pin);
}