From d4b3beda6f2b1921f48654d1b8101a8001b42f15 Mon Sep 17 00:00:00 2001 From: Sam Hos Date: Tue, 17 Sep 2024 16:01:06 +0200 Subject: [PATCH] start kobuki driver --- src/C++/main.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ src/C++/main.o | Bin 0 -> 4352 bytes src/C++/makefile | 18 ++++++++++++++++++ src/C++/progr | Bin 0 -> 17016 bytes 4 files changed, 58 insertions(+) create mode 100644 src/C++/main.cpp create mode 100644 src/C++/main.o create mode 100644 src/C++/makefile create mode 100755 src/C++/progr diff --git a/src/C++/main.cpp b/src/C++/main.cpp new file mode 100644 index 0000000..8567ca7 --- /dev/null +++ b/src/C++/main.cpp @@ -0,0 +1,40 @@ +#include +#include +#include +int main() { + char byte; + bool foundAA = false; + bool capture = false; + char buffer[200]; + std::ifstream f("/dev/ttyUSB0", std::ios::binary); + if (!f.is_open()) { + std::cerr << "Failed to open the file" << std::endl; + return 1; + } + + while (f.read(&byte, 1)) { + unsigned char ubyte = static_cast(byte); + if (foundAA) { + capture = true; + if (ubyte == 0b01010101) { // 0x55 + std::cout << "Found 0xAA followed by 0x55" << std::endl; + memset(buffer, 0, sizeof(buffer)); // Clear the buffer + foundAA = false; // Reset the state + } else { + foundAA = false; // Reset the state if the next byte is not 0x55 + capture = false; // Stop capturing + } + } else if (ubyte == 0b10101010) { // 0xAA + foundAA = true; + } + if (capture) { + std::cout << buffer[200] << std::endl; + } + } + + f.close(); + return 0; +} + + +void \ No newline at end of file diff --git a/src/C++/main.o b/src/C++/main.o new file mode 100644 index 0000000000000000000000000000000000000000..aafde350d40c234d5511f49599db5ae2bc9e697a GIT binary patch literal 4352 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 i-=(5H9iU_jlw+