State Estimations & Telemetry Updates - #75
Conversation
Telemetry: Add a message received callback
NArmistead
left a comment
There was a problem hiding this comment.
one liner CR and one other concern
| f"LoRaMsgVehicleIdType.parse expects {LORA_PAYLOAD_SIZE} bytes, got {len(data)}" | ||
| ) | ||
| hw, fw, ver, fid = struct.unpack(cls.STRUCT, data[: 6 + FLIGHT_ID_SIZE]) | ||
| uid, hw, fw, ver, fid = struct.unpack(cls.STRUCT, data[: 18 + FLIGHT_ID_SIZE]) |
| BaseSensor("rollRate", "Roll Body Rate", 4, float, "deg/s"), | ||
| BaseSensor("pitchRate", "Pitch Body Rate", 4, float, "deg/s"), | ||
| BaseSensor("yawRate", "Yaw Body Rate", 4, float, "deg/s"), | ||
| BaseSensor("quat_w", "Unit Quaternion W", 4, float, ""), |
There was a problem hiding this comment.
Maybe we should rename these to something like "Attitude Quaternion W" to be a bit more descriptive
There was a problem hiding this comment.
NAT we dont actually use these anywhere iirc. maybe sensor dump?
| bvelo: float | ||
| long: float | ||
| lat: float | ||
| acc_z: float |
There was a problem hiding this comment.
CR: if we're looking for the acceleration along the length of the rocket this should be acc_x (sorry lol)
There was a problem hiding this comment.
I forgor to flip it back, oops. Will resolve on dashboard side as well
| def __put_to_rx_callback(self, msgType: str, timestamp: float, msg: dict[str, Any]): | ||
| if self.msg_rx_callback is None: | ||
| return | ||
| self.msg_rx_callback(msgType, timestamp, msg) |
There was a problem hiding this comment.
The removed dashboard_dump has a check to convert NaN and inf values. Is that handled here too?
There was a problem hiding this comment.
hmm, it might not. we jsonify the output of this regardless, but good for robustness
@NArmistead has review independence for this portion.
Updates sensor dump, dashboard dump, and flash extract internals to support the new schemas for each.
Parent: SunDevilRocketry/Flight-Computer-Firmware#301
Closes: #74