aboutsummaryrefslogtreecommitdiff
path: root/confui
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2022-12-11 16:13:03 +0100
committerlonkaars <loek@pipeframe.xyz>2022-12-11 16:13:03 +0100
commitae3970ad5e1b3495726b70d5653c2424fccfba07 (patch)
tree0db610942b60ef1cf847d1de5107fd1c987ad6d2 /confui
parentc265bc642b33c15f8446ceef318373a2f2bdee1d (diff)
add serial parser from robotrun to project
Diffstat (limited to 'confui')
-rw-r--r--confui/confui.pro11
-rw-r--r--confui/makefile6
-rw-r--r--confui/mesh_connector.cpp8
-rw-r--r--confui/mesh_connector.h6
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 */