From 8e757464d11b2c818188e69928589a95624286d9 Mon Sep 17 00:00:00 2001 From: Tristan McGinnis Date: Thu, 20 Feb 2025 11:41:42 -0600 Subject: [PATCH] Fixed Core Node still trying to use ports in anchor mode --- .../__pycache__/rover_launch.cpython-312.pyc | Bin 1911 -> 0 bytes src/anchor_pkg/anchor_pkg/anchor_node.py | 4 +-- src/arm_pkg/arm_pkg/arm_node.py | 10 ++++---- src/core_pkg/core_pkg/core_node.py | 23 ++++++++++-------- 4 files changed, 20 insertions(+), 17 deletions(-) delete mode 100644 launch/__pycache__/rover_launch.cpython-312.pyc diff --git a/launch/__pycache__/rover_launch.cpython-312.pyc b/launch/__pycache__/rover_launch.cpython-312.pyc deleted file mode 100644 index a7099b21b0a6e223d8191f3ba9d5e378739c4565..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1911 zcmbtV&2Jk;6rc5e+Pik+B<=@p;!T?mEG2FcsgO{MfCeN~V-P_cEQGc3P8>J(?lQZZ zrd1;Oz=8Hadn;$eAt*WXPjGQ*C03(UL~1YGEF3O9@n&~zB|=duF{_<@GxO%Rzc>4P zZ+}atQwZ8mKm6LLY6!hxgF#EgMt=#6$H+t`*FtTs%5lt2v=VK;%D0885RUnl*p{kN zXbUa5tyC4T#qUrxX-d$i?#e~wF9uoUXtr$lR()*=yLHlZyryjx6EwGk>n(%eXzc^i z@Y~q(Xy!A=_}0fC!-mk2qhpcBP1{;+Hhf~l(?Z2Iah;1aq4BUMRvyYKCTr;`d z*uKp($K!1a4OX}L2HF<3cr&s7CPHLwOSml__hlnb9?Y4%DZnL~(iY$38r+_|8~YCs zIdm$9VkY7Ge;6q<0oN%Q%LpPl@QFpH+5SFxEQPat;?$w5c?m8N~~#wXT> z(Q2AHW2HO9-e{WGEa^AbY}>`UZNa_zt`6kpb%r*t!>)Nff-Dt9A~7i0!DQ8D0T_;h zEt4>vQPCky%VPo5ZOg-(9u*)UmrCn**pskhqM`*ac3mbuowZlzOIM=kuK*cLYSEzN z+@)H4DlYbXhv=|Ff!qBM5~PD(s*^u%JXL4^P)kqL($1Zy>N}mKK+AMKI*`@xH-DGU z9VqFC+I?+b8wt)&1$jNly%C%%1QW%b#qPzc-TYgJs+7(g@=7w*8%4>?(D_o3p9*sM z6P>4zI!_1r%Rz49MCY$Lq-8th-YpKLGTrRlljPiidgjr!2R8yO`>=e!ygxD?T$~9C z)4_#FhBdXY<8}4LZs8j6%Z>uSbf&iyqr8nWqmRCN@XgV^vq51dxKKE8@70jNp$M$I znNOc7l>>F8Q|`l2qB`pajeS{GbNXLGcf2M+#`1f@Zd{SJkvFVOTgV&M9giV|ZBHEJ zK_fA+ARDAgr~$&N-@Vy#sQFNc{}r4~V$DJMO`CYt@LOIDl7buzF z>|`*0{ZJOhq|U8F4QUgBGPbXr{aJgaEc8TvQtBgKlY594WikaDD@Bz`k&HuLG!x6) z2!9!F#F&w#4@@f^qfBOz|)PxStCwD=rd{#*E*Vo0{{q{p&t(7r diff --git a/src/anchor_pkg/anchor_pkg/anchor_node.py b/src/anchor_pkg/anchor_pkg/anchor_node.py index 31d8353..ff42ec7 100644 --- a/src/anchor_pkg/anchor_pkg/anchor_node.py +++ b/src/anchor_pkg/anchor_pkg/anchor_node.py @@ -49,7 +49,7 @@ class SerialRelay(Node): # if pong is in response, then we are talking with the MCU if b"pong" in response: self.port = port - self.get_logger.info(f"Found MCU at {self.port}!") + self.get_logger().info(f"Found MCU at {self.port}!") break except: pass @@ -57,7 +57,7 @@ class SerialRelay(Node): break if self.port is None: - self.get_logger.info("Unable to find MCU...") + self.get_logger().info("Unable to find MCU...") time.sleep(1) sys.exit(1) diff --git a/src/arm_pkg/arm_pkg/arm_node.py b/src/arm_pkg/arm_pkg/arm_node.py index 8d70e06..abf82e9 100644 --- a/src/arm_pkg/arm_pkg/arm_node.py +++ b/src/arm_pkg/arm_pkg/arm_node.py @@ -22,8 +22,8 @@ class SerialRelay(Node): # Get launch mode parameter self.declare_parameter('launch_mode', 'arm') - launch_mode = self.get_parameter('launch_mode').value - self.get_logger().info(f"arm launch_mode is: {launch_mode}") + self.launch_mode = self.get_parameter('launch_mode').value + self.get_logger().info(f"arm launch_mode is: {self.launch_mode}") # Create publishers self.debug_pub = self.create_publisher(String, '/arm/feedback/debug', 10) @@ -33,13 +33,13 @@ class SerialRelay(Node): self.man_sub = self.create_subscription(ArmManual, '/arm/control/manual', self.send_manual, 10) # Topics used in anchor mode - if launch_mode == 'anchor': + if self.launch_mode == 'anchor': self.anchor_sub = self.create_subscription(String, '/anchor/arm/feedback', self.anchor_feedback, 10) self.anchor_pub = self.create_publisher(String, '/anchor/relay', 10) # Search for ports IF in 'arm' (standalone) and not 'anchor' mode - if launch_mode == 'arm': + if self.launch_mode == 'arm': # Loop through all serial devices on the computer to check for the MCU self.port = None ports = SerialRelay.list_serial_ports() @@ -150,7 +150,7 @@ class SerialRelay(Node): #print(f"[Arm Wrote] {cmd}", end="") def anchor_feedback(self, msg): - self.get_logger.info(f"[Anchor] {msg.data}", end="") + self.get_logger.info(f"[Arm Anchor] {msg.data}", end="") #self.send_cmd(msg.data) diff --git a/src/core_pkg/core_pkg/core_node.py b/src/core_pkg/core_pkg/core_node.py index b93e764..e2cea5d 100644 --- a/src/core_pkg/core_pkg/core_node.py +++ b/src/core_pkg/core_pkg/core_node.py @@ -25,8 +25,8 @@ class SerialRelay(Node): # Get launch mode parameter self.declare_parameter('launch_mode', 'core') - launch_mode = self.get_parameter('launch_mode').value - self.get_logger().info(f"core launch_mode is: {launch_mode}") + self.launch_mode = self.get_parameter('launch_mode').value + self.get_logger().info(f"core launch_mode is: {self.launch_mode}") # Create publishers self.debug_pub = self.create_publisher(String, '/core/debug', 10) @@ -37,12 +37,12 @@ class SerialRelay(Node): # Create a service server for pinging the rover self.ping_service = self.create_service(Empty, '/astra/core/ping', self.ping_callback) - if launch_mode == 'anchor': + if self.launch_mode == 'anchor': self.anchor_sub = self.create_subscription(String, '/anchor/core/feedback', self.anchor_feedback, 10) self.anchor_pub = self.create_publisher(String, '/anchor/relay', 10) - if launch_mode == 'core': + if self.launch_mode == 'core': # Loop through all serial devices on the computer to check for the MCU self.port = None ports = SerialRelay.list_serial_ports() @@ -65,13 +65,13 @@ class SerialRelay(Node): if self.port is not None: break - if self.port is None: - self.get_logger.info("Unable to find MCU...") - time.sleep(1) - sys.exit(1) + if self.port is None: + self.get_logger.info("Unable to find MCU...") + time.sleep(1) + sys.exit(1) - self.ser = serial.Serial(self.port, 115200) - atexit.register(self.cleanup) + self.ser = serial.Serial(self.port, 115200) + atexit.register(self.cleanup) def run(self): @@ -180,6 +180,9 @@ class SerialRelay(Node): elif self.launch_mode == 'core': self.ser.write(bytes(cmd, "utf8")) + def anchor_feedback(self, msg): + self.get_logger.info(f"[Arm Anchor] {msg.data}", end="") + def ping_callback(self, request, response): return response