Commit graph

36 commits

Author SHA1 Message Date
9728af3551 new(codegen_register): add multiple custom value fields generator 2025-02-02 04:08:36 +09:00
30279dc2b3 refactor(generator): rename to generate_custom_values_const_enumdef
they are not masks, but consts
2025-02-02 04:07:32 +09:00
39a793462a fix: fix mask type for multiple field register 2025-02-02 03:16:40 +09:00
dbb124ec76 refactor: rename single custom generator & update doc & remove unused fn def 2025-02-02 03:05:00 +09:00
c3effa280a update(doc): note on adding "desc" as doccomments 2025-02-02 02:52:11 +09:00
fdb87a0898 fix: ident was interpolated as string 2025-02-02 02:51:30 +09:00
f96aab4d9d fix: add values pattern to "single" registers, introducing FieldType 2025-02-02 02:50:40 +09:00
49a9698a32 refactor: remove to_shouty_snake_case & inline mask variable in reg_type_def_masked 2025-02-02 02:48:56 +09:00
80ce358aee fix(generator): mask (u32) should be Literal, not Identifier 2025-02-01 20:41:28 +09:00
859d9c0fa3 update: Add validation for get_name which rejects empty string (which is not a valid token) 2025-02-01 20:39:23 +09:00
1ed3843508 finish: impl CodeGen for Register 2025-02-01 20:13:48 +09:00
48215049e8 update: doc on codegen_register 2025-02-01 20:03:59 +09:00
86d26c57cb remove: unnecessary comment from quoted code 2025-02-01 20:03:36 +09:00
a87e81ad5b fix: changed CodeGen sig is not reflected to callers
Note: TokenStream::extend accepts `Result`s, so be careful
2025-02-01 19:54:34 +09:00
e147bc513d refactor: add docs on modules overview to run rustfmt 2025-02-01 19:41:12 +09:00
d104e62bf3 new(generator): implement register codegen (codegen_register) & fix interpolation bug
also added a lot of docs,

since register codegen is quite complex

(This became too large commit...)
2025-02-01 19:33:51 +09:00
eec855c3a1 update(Register): add type field and its completion to converter 2025-02-01 19:30:39 +09:00
8e0761e39e update(converter): add validation for register about mask & field
ref: ea1850e csr commit
2025-01-31 12:02:25 +09:00
6b5b5e0234 new(CodeGen): for Block 2025-01-31 03:26:42 +09:00
dfd28782dd new(generator): top level module 2025-01-31 02:17:48 +09:00
ac72b3638e refactor: removed unnecessary comments 2025-01-31 01:27:42 +09:00
53c8cbd90f new: implement converter (Successfully read current CSR XML) 2025-01-31 00:36:19 +09:00
51a074d2c0 add(parser): FieldFifoInterface and custom bool (YES/Y/NO/N) parser 2025-01-30 19:53:03 +09:00
e7d3e5c90b update: remove modf from Field
ref: https://gitlab.cern.ch/l0muon-endcap/endcap-sl-csr-xml/-/merge_requests/3/diffs?commit_id=30a7195653c7cd971e4d59be31befcc75557a64a
2025-01-30 19:18:02 +09:00
8fee555860 wip(converter): until Block converter (next: Register) 2025-01-30 15:33:05 +09:00
a8071b359d add: derive(PartialEq) to error types 2025-01-30 01:19:41 +09:00
8188b4fef8 new: Module.amod parsing 2025-01-30 01:18:31 +09:00
371068e363 refactor: create mod parse_prefixed_u32 2025-01-29 21:46:41 +09:00
1b93197ef6 rename: crate name 2025-01-29 21:37:18 +09:00
f6d711ad51 refactor: split ParsePrefixedU32 to another mod (parser) 2025-01-29 21:31:22 +09:00
b549445b26 add(converter): until top module, size attr 2025-01-29 21:20:24 +09:00
f2a7a5a28b modify(types): add derive(Debug) 2025-01-29 21:19:44 +09:00
99e98c9320 config: add bin and lib crate configs 2025-01-29 18:50:32 +09:00
202c900aea add types 2025-01-29 18:48:22 +09:00
f64c225ea0 new: just parse with roxmltree 2025-01-29 17:12:15 +09:00
637e96b7c5 init with cargo new 2025-01-29 01:55:23 +09:00