From 5840f22d87bb8fdfb851bf4156c0bd4d6751d314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominic=20H=C3=B6glinger?= Date: Sun, 18 May 2025 21:34:39 +0200 Subject: [PATCH] st.c: Send time delta packet before actual value This commit fixes the order between timestamp deltas and value packets. Before the timestamp is updated after a value packet, which falsifies the timing. --- st.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/st.c b/st.c index e2c37a0..0f2848c 100644 --- a/st.c +++ b/st.c @@ -197,12 +197,6 @@ size_t render_macropacket_payload(char buffer[], const size_t buffer_size, size_ while ((s_tracebuffer_full || (s_tracebuffer_tail != s_tracebuffer_head)) && (i < n) && ((buffer_pos + max_render_size) < buffer_size)) { - payload_size = pack_frame(payload_buffer, &s_tracebuffer[s_tracebuffer_tail]); - encode_size = cobs_encode(&buffer[buffer_pos], buffer_size - buffer_pos, payload_buffer, payload_size, delimimter); - buffer_pos += encode_size; - buffer[buffer_pos] = delimimter; - buffer_pos++; - if (populate_time_delta_packet(s_tracebuffer[s_tracebuffer_tail].m_timestamp, ×tamp_pack)) { @@ -214,6 +208,12 @@ size_t render_macropacket_payload(char buffer[], const size_t buffer_size, size_ buffer_pos++; } + payload_size = pack_frame(payload_buffer, &s_tracebuffer[s_tracebuffer_tail]); + encode_size = cobs_encode(&buffer[buffer_pos], buffer_size - buffer_pos, payload_buffer, payload_size, delimimter); + buffer_pos += encode_size; + buffer[buffer_pos] = delimimter; + buffer_pos++; + s_tracebuffer_tail = (s_tracebuffer_tail + 1) % s_tracebuffer_size; s_tracebuffer_full = false; s_tracebuffer_items = (s_tracebuffer_items > 0) ? (s_tracebuffer_items - 1) : 0;