From 79b2d0020ffb20f0249588af60078fdaeb67fa8b Mon Sep 17 00:00:00 2001 From: David Date: Wed, 15 Apr 2026 23:50:47 -0500 Subject: [PATCH] feat(anchor): add is_main and is_dirty to versioning --- src/anchor_pkg/anchor_pkg/anchor_node.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/anchor_pkg/anchor_pkg/anchor_node.py b/src/anchor_pkg/anchor_pkg/anchor_node.py index 4ff8216..2b3370e 100644 --- a/src/anchor_pkg/anchor_pkg/anchor_node.py +++ b/src/anchor_pkg/anchor_pkg/anchor_node.py @@ -255,6 +255,12 @@ class Anchor(Node): version_msg.build_time = Time( sec=int(time.mktime(self.ASTRA_EPOCH) + msg.data[0]) ) + # is_main and is_dirty is in msg.data[1] + # Out of 1 byte, it looks like [lib_isdirty][lib_ismain][proj_isdirty][proj_ismain] + version_msg.astra_lib_is_dirty = bool(int(msg.data[1]) >> 3 & 0x1) + version_msg.astra_lib_is_main = bool(int(msg.data[1]) >> 2 & 0x1) + version_msg.project_is_dirty = bool(int(msg.data[1]) >> 1 & 0x1) + version_msg.project_is_main = bool(int(msg.data[1]) & 0x1) self.mcu_version_pub_.publish(version_msg)