diff options
author | lonkaars <loek@pipeframe.xyz> | 2022-12-11 16:13:03 +0100 |
---|---|---|
committer | lonkaars <loek@pipeframe.xyz> | 2022-12-11 16:13:03 +0100 |
commit | ae3970ad5e1b3495726b70d5653c2424fccfba07 (patch) | |
tree | 0db610942b60ef1cf847d1de5107fd1c987ad6d2 /confui | |
parent | c265bc642b33c15f8446ceef318373a2f2bdee1d (diff) |
add serial parser from robotrun to project
Diffstat (limited to 'confui')
-rw-r--r-- | confui/confui.pro | 11 | ||||
-rw-r--r-- | confui/makefile | 6 | ||||
-rw-r--r-- | confui/mesh_connector.cpp | 8 | ||||
-rw-r--r-- | confui/mesh_connector.h | 6 |
4 files changed, 21 insertions, 10 deletions
diff --git a/confui/confui.pro b/confui/confui.pro index 2992f70..7dcd66c 100644 --- a/confui/confui.pro +++ b/confui/confui.pro @@ -9,7 +9,10 @@ SOURCES += \ ui_node.cpp \ ui_automation.cpp \ ui_scroll_container.cpp \ - serial.cpp + serial.cpp \ + ../shared/bin.c \ + ../shared/protocol.c \ + ../shared/serial_parse.c HEADERS += \ mainwindow.h \ @@ -19,7 +22,11 @@ HEADERS += \ ui_node.h \ ui_automation.h \ ui_scroll_container.h \ - serial.h + serial.h \ + ../shared/bin.h \ + ../shared/protocol.h \ + ../shared/serial_parse.h \ + ../shared/consts.h CONFIG += c++17 CONFIG += force_debug_info diff --git a/confui/makefile b/confui/makefile index 930daed..e1faed6 100644 --- a/confui/makefile +++ b/confui/makefile @@ -7,12 +7,6 @@ endif include confui.mk -OBJECTS += $(patsubst %.c,%.o, $(wildcard ../shared/*.c)) -confui: $(OBJECTS) - -../shared/%.o: ../shared/%.c - $(CC) -c $(CFLAGS) -w $< -o $@ - FMT_FILES := $(DIST) FMT_FILES := $(filter-out .%,$(FMT_FILES)) # filter hidden files FMT_FILES := $(filter-out /%,$(FMT_FILES)) # filter files outside working directory diff --git a/confui/mesh_connector.cpp b/confui/mesh_connector.cpp index 5b65d31..fd9c5fc 100644 --- a/confui/mesh_connector.cpp +++ b/confui/mesh_connector.cpp @@ -185,6 +185,14 @@ string CDMeshConnector::cd_mac_to_string(cd_mac_addr_t mac) { return ret; } +string CDMeshConnector::cd_uuid_to_string(cd_uuid_t uuid) { + char *addr = nullptr; + asprintf(&addr, "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", uuid[15], uuid[14], uuid[13], uuid[12], uuid[11], uuid[10], uuid[9], uuid[8], uuid[7], uuid[6], uuid[5], uuid[4], uuid[3], uuid[2], uuid[1], uuid[0]); + string ret = addr; + free(addr); + return ret; +} + cd_s_automation *CDMeshConnector::get_link(cd_link_t id) { return _links[id]; } cd_s_node *CDMeshConnector::get_node(cd_uid_t id) { return _nodes[id]; } diff --git a/confui/mesh_connector.h b/confui/mesh_connector.h index 176778f..43f78d5 100644 --- a/confui/mesh_connector.h +++ b/confui/mesh_connector.h @@ -5,6 +5,8 @@ #include <string> #include <vector> +#include "../shared/protocol.h" + using std::array; using std::map; using std::size_t; @@ -15,8 +17,6 @@ using std::vector; typedef uint32_t cd_uid_t; /** @brief link/automation id type */ typedef uint32_t cd_link_t; -/** @brief node mac address type */ -typedef uint8_t cd_mac_addr_t[6]; /** @brief automation types/actions */ enum cd_e_automation_type { @@ -157,6 +157,8 @@ public: // conversion functions /** @brief convert `cd_mac_addr_t` to `std::string` for printing/GUI */ static string cd_mac_to_string(cd_mac_addr_t mac); + /** @brief convert `cd_uuid_t` to `std::string` for printing/GUI */ + static string cd_uuid_to_string(cd_uuid_t uuid); }; /** @brief global pointer to mesh connector, initialized in CDMainWindow */ |