mirror of
https://gitlab.fdmci.hva.nl/technische-informatica-sm3/ti-projectten/rooziinuubii79.git
synced 2025-08-04 04:14:58 +00:00
added comments
This commit is contained in:
@@ -5,60 +5,60 @@
|
|||||||
#include <thread>
|
#include <thread>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
CKobuki robot;
|
|
||||||
int command();
|
|
||||||
|
|
||||||
|
// Globale instantie van de CKobuki-klasse
|
||||||
|
CKobuki robot;
|
||||||
|
|
||||||
|
// Functieprototypes
|
||||||
|
int command();
|
||||||
|
int checkCenterCliff();
|
||||||
|
int checkWheelDrop();
|
||||||
|
|
||||||
|
// Constante karakters voor invoeropties
|
||||||
const char FORWARD = '1';
|
const char FORWARD = '1';
|
||||||
const char ROTATE = '2';
|
const char ROTATE = '2';
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
// Start communicatie met de robot
|
||||||
unsigned char *null_ptr(0);
|
unsigned char *null_ptr(0);
|
||||||
robot.startCommunication("/dev/ttyUSB0", true, null_ptr);
|
robot.startCommunication("/dev/ttyUSB0", true, null_ptr);
|
||||||
usleep(1 * 1000 * 1000);
|
usleep(1 * 1000 * 1000);
|
||||||
|
|
||||||
|
// Start een nieuwe thread voor de command-functie
|
||||||
thread mv(command);
|
thread mv(command);
|
||||||
usleep(30 * 1000 * 1000);
|
usleep(30 * 1000 * 1000);
|
||||||
mv.join(); // only exit once thread one is done running
|
mv.join(); // Wacht tot de command-thread klaar is
|
||||||
}
|
|
||||||
|
|
||||||
int checkCenterCliff() {
|
|
||||||
while (true) {
|
|
||||||
std::cout << "cliffsensordata:" << robot.parser.data.CliffSensorCenter
|
|
||||||
<< std::endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int checkWheelDrop() {
|
|
||||||
while (true) {
|
|
||||||
std::cout << "wheeldropdata:" << robot.parser.data.WheelDropLeft
|
|
||||||
<< std::endl;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Functie om commando's van de gebruiker te verwerken
|
||||||
int command() {
|
int command() {
|
||||||
char input;
|
char input;
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
|
// Vraag de gebruiker om een commando
|
||||||
std::cout << "choose between forward = 1 or rotate = 2" << endl;
|
std::cout << "choose between forward = 1 or rotate = 2" << endl;
|
||||||
std::cout << "What must the robot do?";
|
std::cout << "What must the robot do?";
|
||||||
std::cin >> input;
|
std::cin >> input;
|
||||||
|
|
||||||
|
// Verwerk de invoer van de gebruiker
|
||||||
switch (input) {
|
switch (input) {
|
||||||
case FORWARD: {
|
case FORWARD: {
|
||||||
int distance;
|
int distance;
|
||||||
std::cout << "Enter distance to move forward: ";
|
std::cout << "Enter distance to move forward: ";
|
||||||
std::cin >> distance;
|
std::cin >> distance;
|
||||||
robot.goStraight(distance);
|
robot.goStraight(distance); // Beweeg de robot naar voren
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case ROTATE: {
|
case ROTATE: {
|
||||||
int angle;
|
int angle;
|
||||||
std::cout << "Enter angle to rotate in degrees: ";
|
std::cout << "Enter angle to rotate in degrees: ";
|
||||||
std::cin >> angle;
|
std::cin >> angle;
|
||||||
robot.doRotation(angle);
|
robot.doRotation(angle); // Draai de robot
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
cout << "Invalid input" << endl;
|
cout << "Invalid input" << endl; // Ongeldige invoer
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user