diff --git a/CMakeLists.txt b/CMakeLists.txt index 48a2a0db..6ff58dc4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -271,6 +271,10 @@ if(ENABLE_LUAJIT AND NOT ANDROID) add_subdirectory(third_party/libuv) target_link_libraries(AlberCore PRIVATE uv_a) + + include_directories(third_party/open-bp-cpp/include) + add_subdirectory(third_party/open-bp-cpp) + target_link_libraries(AlberCore PRIVATE buttplugCpp) endif() if(ENABLE_QT_GUI) diff --git a/src/panda_sdl/main.cpp b/src/panda_sdl/main.cpp index ef354c61..3e9ef3eb 100644 --- a/src/panda_sdl/main.cpp +++ b/src/panda_sdl/main.cpp @@ -1,7 +1,41 @@ #include "panda_sdl/frontend_sdl.hpp" +#include +#include +#include +#include +#include "buttplugclient.h" + +void callbackFunction(const mhl::Messages msg) { + switch (msg.messageType) { + case mhl::MessageTypes::DeviceList: printf("Device List callback\n"); break; + case mhl::MessageTypes::DeviceAdded: printf("Device List callback\n"); break; + case mhl::MessageTypes::ServerInfo: printf("Server info callback\n"); break; + case mhl::MessageTypes::DeviceRemoved: printf("Device Removed callback\n"); break; + case mhl::MessageTypes::SensorReading: printf("Sensor reading callback\n"); break; + default: printf("Unknown message") + } +} + int main(int argc, char *argv[]) { FrontendSDL app; + std::string url = "ws://127.0.0.1"; + Client client(url, 12345, "test.txt"); + client.connect(callbackFunction); + client.requestDeviceList(); + + while (1) { + client.startScan(); + + std::vector myDevices = client.getDevices(); + if (myDevices.size() > 0) { + client.sendScalar(myDevices[0], 0.5); + } + + std::this_thread::sleep_for(std::chrono::milliseconds(2000)); + client.stopScan(); + break; + } if (argc > 1) { auto romPath = std::filesystem::current_path() / argv[1]; diff --git a/third_party/open-bp-cpp/CMakeLists.txt b/third_party/open-bp-cpp/CMakeLists.txt index 066092c0..598976d6 100644 --- a/third_party/open-bp-cpp/CMakeLists.txt +++ b/third_party/open-bp-cpp/CMakeLists.txt @@ -22,6 +22,7 @@ file(GLOB SRC_FILES add_library(buttplugCpp STATIC ${SRC_FILES}) set(USE_ZLIB FALSE) +target_include_directories(buttplugCpp PUBLIC third_party/IXWebSocket/ixwebsocket) add_subdirectory(third_party/IXWebSocket) find_package(Threads REQUIRED)