clean up nitpicks

This commit is contained in:
ryleu
2025-10-23 00:52:19 -05:00
parent 87e3f06562
commit c4f60d6814
3 changed files with 37 additions and 43 deletions

2
.gitmodules vendored
View File

@@ -1,6 +1,6 @@
[submodule "src/ros2_interfaces_pkg"] [submodule "src/ros2_interfaces_pkg"]
path = src/ros2_interfaces_pkg path = src/ros2_interfaces_pkg
url = git@github.com:SHC-ASTRA/ros2_interfaces_pkg.git url = ../ros2_interfaces_pkg
[submodule "src/astra_description"] [submodule "src/astra_description"]
path = src/astra_descriptions path = src/astra_descriptions
url = ../astra_descriptions url = ../astra_descriptions

View File

@@ -185,7 +185,7 @@ class SerialRelay(Node):
elif parts[1] not in ["core", "arm", "digit", "citadel", "broadcast"]: elif parts[1] not in ["core", "arm", "digit", "citadel", "broadcast"]:
malformed = True malformed = True
malformed_reason = f"invalid mcu_name '{parts[1]}'" malformed_reason = f"invalid mcu_name '{parts[1]}'"
elif parts[2].isnumeric() is False or int(parts[2]) < 0: elif not(parts[2].isnumeric()) or int(parts[2]) < 0:
malformed = True malformed = True
malformed_reason = f"command_id '{parts[2]}' is not a non-negative integer" malformed_reason = f"command_id '{parts[2]}' is not a non-negative integer"
else: else:

View File

@@ -19,7 +19,7 @@ from math import copysign, pi
from std_msgs.msg import String, Header from std_msgs.msg import String, Header
from sensor_msgs.msg import Imu, NavSatFix, NavSatStatus, JointState from sensor_msgs.msg import Imu, NavSatFix, NavSatStatus, JointState
from geometry_msgs.msg import TwistStamped, Twist from geometry_msgs.msg import TwistStamped, Twist
from ros2_interfaces_pkg.msg import CoreControl, CoreFeedback from ros2_interfaces_pkg.msg import CoreControl, CoreFeedback, RevMotorState
from ros2_interfaces_pkg.msg import VicCAN, NewCoreFeedback, Barometer, CoreCtrlState from ros2_interfaces_pkg.msg import VicCAN, NewCoreFeedback, Barometer, CoreCtrlState
@@ -416,26 +416,23 @@ class SerialRelay(Node):
temp = float(msg.data[1]) / 10.0 temp = float(msg.data[1]) / 10.0
voltage = float(msg.data[2]) / 10.0 voltage = float(msg.data[2]) / 10.0
current = float(msg.data[3]) / 10.0 current = float(msg.data[3]) / 10.0
if motorId == 1: motor: RevMotorState | None = None
self.feedback_new_state.fl_motor.temperature = temp match motorId:
self.feedback_new_state.fl_motor.voltage = voltage case 1:
self.feedback_new_state.fl_motor.current = current motor = self.feedback_new_state.fl_motor
self.feedback_new_state.fl_motor.header.stamp = msg.header.stamp case 2:
elif motorId == 2: motor = self.feedback_new_state.bl_motor
self.feedback_new_state.bl_motor.temperature = temp case 3:
self.feedback_new_state.bl_motor.voltage = voltage motor = self.feedback_new_state.fr_motor
self.feedback_new_state.bl_motor.current = current case 4:
self.feedback_new_state.bl_motor.header.stamp = msg.header.stamp motor = self.feedback_new_state.br_motor
elif motorId == 3:
self.feedback_new_state.fr_motor.temperature = temp if motor:
self.feedback_new_state.fr_motor.voltage = voltage motor.temperature = temp
self.feedback_new_state.fr_motor.current = current motor.voltage = voltage
self.feedback_new_state.fr_motor.header.stamp = msg.header.stamp motor.current = current
elif motorId == 4: motor.header.stamp = msg.header.stamp
self.feedback_new_state.br_motor.temperature = temp
self.feedback_new_state.br_motor.voltage = voltage
self.feedback_new_state.br_motor.current = current
self.feedback_new_state.br_motor.header.stamp = msg.header.stamp
self.feedback_new_pub_.publish(self.feedback_new_state) self.feedback_new_pub_.publish(self.feedback_new_state)
# Board voltage # Board voltage
case 54: # Voltages batt, 12, 5, 3, all * 100 case 54: # Voltages batt, 12, 5, 3, all * 100
@@ -458,26 +455,23 @@ class SerialRelay(Node):
joint_state_msg = JointState() # TODO: not sure if all motors should be in each message or not joint_state_msg = JointState() # TODO: not sure if all motors should be in each message or not
joint_state_msg.position = [position * (2 * pi) / CORE_GEAR_RATIO] # revolutions to radians joint_state_msg.position = [position * (2 * pi) / CORE_GEAR_RATIO] # revolutions to radians
joint_state_msg.velocity = [velocity * (2 * pi / 60.0) / CORE_GEAR_RATIO] # RPM to rad/s joint_state_msg.velocity = [velocity * (2 * pi / 60.0) / CORE_GEAR_RATIO] # RPM to rad/s
if motorId == 1:
self.feedback_new_state.fl_motor.position = position motor: RevMotorState | None = None
self.feedback_new_state.fl_motor.velocity = velocity
self.feedback_new_state.fl_motor.header.stamp = msg.header.stamp match motorId:
joint_state_msg.name = ["fl_motor_joint"] case 1:
elif motorId == 2: motor = self.feedback_new_state.fl_motor
self.feedback_new_state.bl_motor.position = position joint_state_msg.name = ["fl_motor_joint"]
self.feedback_new_state.bl_motor.velocity = velocity case 2:
self.feedback_new_state.bl_motor.header.stamp = msg.header.stamp motor = self.feedback_new_state.bl_motor
joint_state_msg.name = ["bl_motor_joint"] joint_state_msg.name = ["bl_motor_joint"]
elif motorId == 3: case 3:
self.feedback_new_state.fr_motor.position = position motor = self.feedback_new_state.fr_motor
self.feedback_new_state.fr_motor.velocity = velocity joint_state_msg.name = ["fr_motor_joint"]
self.feedback_new_state.fr_motor.header.stamp = msg.header.stamp case 4:
joint_state_msg.name = ["fr_motor_joint"] motor = self.feedback_new_state.br_motor
elif motorId == 4: joint_state_msg.name = ["br_motor_joint"]
self.feedback_new_state.br_motor.position = position
self.feedback_new_state.br_motor.velocity = velocity
self.feedback_new_state.br_motor.header.stamp = msg.header.stamp
joint_state_msg.name = ["br_motor_joint"]
joint_state_msg.header.stamp = msg.header.stamp joint_state_msg.header.stamp = msg.header.stamp
self.joint_state_pub_.publish(joint_state_msg) self.joint_state_pub_.publish(joint_state_msg)
case _: case _: