mirror of
https://gitlab.fdmci.hva.nl/technische-informatica-sm3/ti-projectten/rooziinuubii79.git
synced 2025-08-04 12:24:57 +00:00
made more changes
it compiles now
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -12,3 +12,4 @@ src/C++/Driver/vgcore.42611
|
|||||||
src/Socket/a.out
|
src/Socket/a.out
|
||||||
src/C++/Driver/cmake_install.cmake
|
src/C++/Driver/cmake_install.cmake
|
||||||
src/C++/Socket/a.out
|
src/C++/Socket/a.out
|
||||||
|
src/C++/Driver/Makefile
|
||||||
|
@@ -5,10 +5,10 @@ project(kobuki_control)
|
|||||||
find_package( OpenCV REQUIRED )
|
find_package( OpenCV REQUIRED )
|
||||||
|
|
||||||
set(SOURCE_FILES
|
set(SOURCE_FILES
|
||||||
src/CKobuki.cpp
|
|
||||||
src/CKobuki.h
|
|
||||||
src/KobukiParser.cpp
|
src/KobukiParser.cpp
|
||||||
src/KobukiParser.h
|
src/KobukiParser.h
|
||||||
|
src/CKobuki.cpp
|
||||||
|
src/CKobuki.h
|
||||||
src/main.cpp)
|
src/main.cpp)
|
||||||
|
|
||||||
add_executable(kobuki_control ${SOURCE_FILES})
|
add_executable(kobuki_control ${SOURCE_FILES})
|
||||||
|
@@ -153,6 +153,30 @@ src/CKobuki.cpp.s:
|
|||||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/kobuki_control.dir/build.make CMakeFiles/kobuki_control.dir/src/CKobuki.cpp.s
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/kobuki_control.dir/build.make CMakeFiles/kobuki_control.dir/src/CKobuki.cpp.s
|
||||||
.PHONY : src/CKobuki.cpp.s
|
.PHONY : src/CKobuki.cpp.s
|
||||||
|
|
||||||
|
src/KobukiParser.o: src/KobukiParser.cpp.o
|
||||||
|
.PHONY : src/KobukiParser.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/KobukiParser.cpp.o:
|
||||||
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/kobuki_control.dir/build.make CMakeFiles/kobuki_control.dir/src/KobukiParser.cpp.o
|
||||||
|
.PHONY : src/KobukiParser.cpp.o
|
||||||
|
|
||||||
|
src/KobukiParser.i: src/KobukiParser.cpp.i
|
||||||
|
.PHONY : src/KobukiParser.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/KobukiParser.cpp.i:
|
||||||
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/kobuki_control.dir/build.make CMakeFiles/kobuki_control.dir/src/KobukiParser.cpp.i
|
||||||
|
.PHONY : src/KobukiParser.cpp.i
|
||||||
|
|
||||||
|
src/KobukiParser.s: src/KobukiParser.cpp.s
|
||||||
|
.PHONY : src/KobukiParser.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/KobukiParser.cpp.s:
|
||||||
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/kobuki_control.dir/build.make CMakeFiles/kobuki_control.dir/src/KobukiParser.cpp.s
|
||||||
|
.PHONY : src/KobukiParser.cpp.s
|
||||||
|
|
||||||
src/main.o: src/main.cpp.o
|
src/main.o: src/main.cpp.o
|
||||||
.PHONY : src/main.o
|
.PHONY : src/main.o
|
||||||
|
|
||||||
@@ -189,6 +213,9 @@ help:
|
|||||||
@echo "... src/CKobuki.o"
|
@echo "... src/CKobuki.o"
|
||||||
@echo "... src/CKobuki.i"
|
@echo "... src/CKobuki.i"
|
||||||
@echo "... src/CKobuki.s"
|
@echo "... src/CKobuki.s"
|
||||||
|
@echo "... src/KobukiParser.o"
|
||||||
|
@echo "... src/KobukiParser.i"
|
||||||
|
@echo "... src/KobukiParser.s"
|
||||||
@echo "... src/main.o"
|
@echo "... src/main.o"
|
||||||
@echo "... src/main.i"
|
@echo "... src/main.i"
|
||||||
@echo "... src/main.s"
|
@echo "... src/main.s"
|
||||||
|
@@ -4,13 +4,12 @@
|
|||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
|
||||||
// plot p;
|
// plot p;
|
||||||
static std::vector<float> vectorX;
|
static std::vector<float> vectorX;
|
||||||
static std::vector<float> vectorY;
|
static std::vector<float> vectorY;
|
||||||
static std::vector<float> vectorGyroTheta;
|
static std::vector<float> vectorGyroTheta;
|
||||||
|
|
||||||
KobukiParser parser;
|
|
||||||
|
|
||||||
// obsluha tty pod unixom
|
// obsluha tty pod unixom
|
||||||
int set_interface_attribs2(int fd, int speed, int parity)
|
int set_interface_attribs2(int fd, int speed, int parity)
|
||||||
{
|
{
|
||||||
@@ -267,16 +266,17 @@ void CKobuki::setSound(int noteinHz, int duration)
|
|||||||
pocet = write(HCom, &message, 9);
|
pocet = write(HCom, &message, 9);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CKobuki::startCommunication(char *portname, bool CommandsEnabled,
|
void CKobuki::startCommunication(char *portname, bool CommandsEnabled, void *userDataL)
|
||||||
void *userDataL)
|
|
||||||
{
|
{
|
||||||
connect(portname);
|
connect(portname);
|
||||||
enableCommands(CommandsEnabled);
|
enableCommands(CommandsEnabled);
|
||||||
userData = userDataL;
|
userData = userDataL;
|
||||||
|
|
||||||
int pthread_result;
|
int pthread_result;
|
||||||
pthread_result =
|
pthread_result = pthread_create(&threadHandle, NULL, KobukiProcess, (void *)this);
|
||||||
pthread_create(&threadHandle, NULL, KobukiProcess, (void *)this);
|
if (pthread_result != 0) {
|
||||||
|
std::cerr << "Error creating thread: " << pthread_result << std::endl;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int CKobuki::measure()
|
int CKobuki::measure()
|
||||||
@@ -295,7 +295,7 @@ int CKobuki::measure()
|
|||||||
// citat
|
// citat
|
||||||
if (ok == 0)
|
if (ok == 0)
|
||||||
{
|
{
|
||||||
loop(userData, data);
|
loop(userData, parser.data);
|
||||||
}
|
}
|
||||||
free(message);
|
free(message);
|
||||||
}
|
}
|
||||||
|
@@ -30,12 +30,12 @@
|
|||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
#include "graph.h"
|
|
||||||
#include "KobukiParser.h"
|
#include "KobukiParser.h"
|
||||||
|
#include "graph.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
|
||||||
// typedef struct
|
// typedef struct
|
||||||
// {
|
// {
|
||||||
|
|
||||||
@@ -125,6 +125,7 @@ typedef long(*src_callback_kobuki_data) (void *user_data, TKobukiData &Kobuki_da
|
|||||||
class CKobuki
|
class CKobuki
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
CKobuki() {
|
CKobuki() {
|
||||||
stopVlakno = 0;
|
stopVlakno = 0;
|
||||||
std::cout << "kobuki instantiated" << std::endl;
|
std::cout << "kobuki instantiated" << std::endl;
|
||||||
@@ -159,13 +160,14 @@ public:
|
|||||||
void doRotation(long double th);
|
void doRotation(long double th);
|
||||||
void goToXy(long double xx, long double yy);
|
void goToXy(long double xx, long double yy);
|
||||||
std::ofstream odometry_log;
|
std::ofstream odometry_log;
|
||||||
TKobukiData data;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
KobukiParser parser;
|
||||||
|
|
||||||
int HCom;
|
int HCom;
|
||||||
pthread_t threadHandle; // handle to the thread
|
pthread_t threadHandle; // handle to the thread
|
||||||
int threadID; // thread id
|
int threadID; // thread id
|
||||||
|
@@ -1,7 +1,9 @@
|
|||||||
#include "KobukiParser.h"
|
#include "KobukiParser.h"
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
int KobukiParser::parseKobukiMessage(TKobukiData &output, unsigned char *data) {
|
int KobukiParser::parseKobukiMessage(TKobukiData &output, unsigned char *data) {
|
||||||
//check if the checksum is correct
|
//check if the checksum is correct
|
||||||
|
std::cout << "Parsing message" << std::endl;
|
||||||
int rtrnvalue = checkChecksum(data);
|
int rtrnvalue = checkChecksum(data);
|
||||||
if (rtrnvalue != 0)
|
if (rtrnvalue != 0)
|
||||||
return -2;
|
return -2;
|
||||||
@@ -64,6 +66,7 @@ int KobukiParser::parseKobukiMessage(TKobukiData &output, unsigned char *data) {
|
|||||||
// break;
|
// break;
|
||||||
default:
|
default:
|
||||||
checkedValue += length + 2; // Skip data block if nothing matches
|
checkedValue += length + 2; // Skip data block if nothing matches
|
||||||
|
std::cout << "Unknown header: " << header << std::endl;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -9,6 +9,7 @@ using namespace std;
|
|||||||
CKobuki robot;
|
CKobuki robot;
|
||||||
int movement();
|
int movement();
|
||||||
int checkCenterCliff();
|
int checkCenterCliff();
|
||||||
|
KobukiParser parser;
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
@@ -17,14 +18,14 @@ int main()
|
|||||||
// thread mv(movement);
|
// thread mv(movement);
|
||||||
// mv.join(); //only exit once thread one is done running
|
// mv.join(); //only exit once thread one is done running
|
||||||
|
|
||||||
checkCenterCliff();
|
// checkCenterCliff();
|
||||||
}
|
}
|
||||||
|
|
||||||
int checkCenterCliff()
|
int checkCenterCliff()
|
||||||
{
|
{
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
std::cout << "cliffsensordata:" << parser.data.CliffSensorCenter << std::endl;
|
std::cout << "cliffsensordata:" << parser.data.BumperCenter << std::endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user