From fdd5c2ab537c48aceffeb62d193cb75feb8ba629 Mon Sep 17 00:00:00 2001 From: aaumar25 Date: Mon, 2 Nov 2026 10:09:44 +0900 Subject: [PATCH] fix: `axis_count` after implement axis as struct --- src/Message.zig | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Message.zig b/src/Message.zig index 1812f69..7f4f827 100644 --- a/src/Message.zig +++ b/src/Message.zig @@ -439,12 +439,14 @@ pub const Request = union(Kind) { pub const StartLog = extern struct { pub fn fromLogConfig(log: Log) StartLog { - // Header, then per logged item of each axis a 4-byte tag and its - // f32 samples, then ETX and BCC. The sample count is truncated - // like SHDrv's `(int)(m_Sec * 15000)`. const config_count = @popCount(@as(u32, @bitCast(log.config))); const axis_names = @typeInfo(Log.Axes).@"struct".field_names; - const axis_count: u32 = axis_names.len; + var axis_count: u32 = 0; + inline for (axis_names) |axis_name| { + if (@field(log.axes, axis_name)) { + axis_count += 1; + } + } const sample_count: u32 = @trunc(@as(f32, @floatFromInt(Log.FREQUENCY)) * log.duration); const response_size: u32 = @sizeOf(Header) +