Add support for dimensioned register fields (#20)

Signed-off-by: Riccardo Binetti <rbino@gmx.com>
wch-ch32v003
Riccardo Binetti 2 years ago committed by Matt Knight
parent e34f293fec
commit 8ba737656a

@ -1127,9 +1127,14 @@ fn genZigFields(
try writer.print("{s}: u{},\n", .{ std.zig.fmtId(name), field.width }); try writer.print("{s}: u{},\n", .{ std.zig.fmtId(name), field.width });
expected_bit += field.width; expected_bit += field.width;
}, },
.num => { .num => |num| {
std.log.warn("dimensioned register fields not supported yet: {s}", .{field.name}); var i: usize = 0;
assert(false); while (i < num) : (i += 1) {
const idx = try std.fmt.allocPrint(self.arena.allocator(), "{}", .{i});
const name = try std.mem.replaceOwned(u8, self.arena.allocator(), field.name, "%s", idx);
try writer.print("{s}: u{},\n", .{ std.zig.fmtId(name), field.width });
expected_bit += field.width;
}
}, },
} else { } else {
var i: usize = 0; var i: usize = 0;

Loading…
Cancel
Save