ตัวอย่างสมบูรณ์ — สามท่าใน 03_sensor_sample.c
ท่าที่ 1 เทียบ struct สองแบบสมาชิกเหมือนกันแต่เรียงต่างกัน พิมพ์ sizeof/offsetof ให้เห็น padding
ท่าที่ 2 sample_fill() รับ imu_sample_t * เติมค่า ส่วน magnitude_sq() รับ const imu_sample_t *
ท่าที่ 3 struct อยู่ใน stack ของ main, try_to_reset() รับ by value จึงแก้ได้แค่สำเนา
อ่านต่อจากของจริงใน SDK — ฝั่งผู้อ่านของ seqlock ใน radar_dsp.c:
bool radar_dsp_snapshot(ipc_radar_range_t *out)
{
if (out == NULL) { return false; }
uint32_t s1, s2;
do {
s1 = s_snap_seq;
memcpy(out, (const void *)&s_snap, sizeof(*out));
s2 = s_snap_seq;
} while ((s1 != s2) || (s1 & 1u));
return true;
}