Skip to content

State Estimations & Telemetry Updates - #75

Open
ETSells wants to merge 8 commits into
mainfrom
integration/state-estims-telemetry
Open

State Estimations & Telemetry Updates#75
ETSells wants to merge 8 commits into
mainfrom
integration/state-estims-telemetry

Conversation

@ETSells

@ETSells ETSells commented Jul 6, 2026

Copy link
Copy Markdown
Member

@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

@NArmistead NArmistead left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one liner CR and one other concern

Comment thread Parser/telemetry.py
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])

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: magic number

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

boo (willfix)

Comment thread Parser/create_configs.py
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, ""),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should rename these to something like "Attitude Quaternion W" to be a bit more descriptive

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NAT we dont actually use these anywhere iirc. maybe sensor dump?

Comment thread Parser/telemetry.py
bvelo: float
long: float
lat: float
acc_z: float

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CR: if we're looking for the acceleration along the length of the rocket this should be acc_x (sorry lol)

@ETSells ETSells Jul 21, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I forgor to flip it back, oops. Will resolve on dashboard side as well

Comment thread Parser/telemetry.py
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)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The removed dashboard_dump has a check to convert NaN and inf values. Is that handled here too?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm, it might not. we jsonify the output of this regardless, but good for robustness

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sensor/Flash/Telemetry: Support Quaternions

2 participants