temperature can be list, average in such case

This commit is contained in:
Martino Russi
2025-11-28 14:38:47 +01:00
parent 30ea470f1c
commit 6dd86b9f43
@@ -52,12 +52,14 @@ def lowstate_to_dict(msg: hg_LowState) -> dict[str, Any]:
"""Convert LowState SDK message to a JSON-serializable dictionary.""" """Convert LowState SDK message to a JSON-serializable dictionary."""
motor_states = [] motor_states = []
for i in range(NUM_MOTORS): for i in range(NUM_MOTORS):
temp = msg.motor_state[i].temperature
avg_temp = float(sum(temp) / len(temp)) if isinstance(temp, list) else float(temp)
motor_states.append( motor_states.append(
{ {
"q": float(msg.motor_state[i].q), "q": float(msg.motor_state[i].q),
"dq": float(msg.motor_state[i].dq), "dq": float(msg.motor_state[i].dq),
"tau_est": float(msg.motor_state[i].tau_est), "tau_est": float(msg.motor_state[i].tau_est),
"temperature": float(msg.motor_state[i].temperature), "temperature": avg_temp,
} }
) )