From 8f60788865987930feb05180e5254a4eef858d4a Mon Sep 17 00:00:00 2001 From: Johnathon Slightham Date: Tue, 10 Mar 2026 14:04:51 -0400 Subject: [PATCH] Fix orientation detection in UI --- src/libcontrol.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/libcontrol.cpp b/src/libcontrol.cpp index 73da65f..fc6703b 100644 --- a/src/libcontrol.cpp +++ b/src/libcontrol.cpp @@ -71,29 +71,39 @@ std::vector RobotController::getConnectio } if (!m_connection_map.contains(conn.to_module_id)) { + spdlog::warn("Could not find to module id in connection map {}", conn.to_module_id); continue; } uint8_t to_socket = 0; bool found_inverse = false; + uint16_t orientation = conn.orientation; for (const auto &reverse_conn : m_connection_map.at(conn.to_module_id)) { if (reverse_conn.to_module_id == conn.from_module_id) { to_socket = reverse_conn.from_socket; found_inverse = true; + if (reverse_conn.orientation != Orientation_Deg0) { + orientation = reverse_conn.orientation; + } break; } } if (!found_inverse) { + spdlog::warn("Found inverse module, could not find inverse connection, {}", + conn.to_module_id); continue; } + spdlog::info("Adding module connection, {} to {}", conn.from_module_id, + conn.to_module_id); + out.push_back( Flatbuffers::ModuleConnectionInstance{.from_module_id = conn.from_module_id, .to_module_id = conn.to_module_id, .from_socket = conn.from_socket, .to_socket = to_socket, - .orientation = conn.orientation}); + .orientation = (Orientation)orientation}); } } return out; @@ -168,7 +178,7 @@ void RobotController::metadata_loop() { std::unique_lock conn_lock(m_connection_lock); std::vector conns; - for (uint8_t i = 1; i < NUM_CHANNELS; i++) { + for (uint8_t i = 0; i < NUM_CHANNELS; i++) { if (metadata->channel_to_module()->Get(i) > 0) { conns.push_back(Flatbuffers::ModuleConnectionInstance{ .from_module_id = metadata->module_id(),