Compare commits

..

No commits in common. "f714b42249c170302291c9ac974462eb10926cbf" and "3fc6bd14feccac5e815fd14ca4cbbf9b398400cd" have entirely different histories.

6 changed files with 18 additions and 34 deletions

View file

@ -5,18 +5,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased] ## [0.1.0]
### Fixed
- Loosen Cargo.toml dependencies
- Separate bin crate as optional feature to reduce dependency
## [0.1.0] - 2025-02-07
### Added ### Added
- Implemented basic code generation covering current CSR XML. - Implemented basic code generation covering current CSR XML.
[unreleased]: https://gitlab.cern.ch/wotsubo/endcap-sl-software-ri-generator/-/compare/v0.1.0...main
[0.1.0]: https://gitlab.cern.ch/wotsubo/endcap-sl-software-ri-generator/~/tags/v0.1.0 [0.1.0]: https://gitlab.cern.ch/wotsubo/endcap-sl-software-ri-generator/~/tags/v0.1.0

1
Cargo.lock generated
View file

@ -370,6 +370,7 @@ dependencies = [
"sha2", "sha2",
"syn", "syn",
"thiserror", "thiserror",
"typenum",
"vergen-gitcl", "vergen-gitcl",
] ]

View file

@ -10,31 +10,28 @@ build = "build.rs"
[[bin]] [[bin]]
name = "endcap-sl-software-ri-generator" name = "endcap-sl-software-ri-generator"
path = "src/main.rs" path = "src/main.rs"
required-features = ["bin"]
[lib] [lib]
name = "endcap_sl_software_ri_generator" name = "endcap_sl_software_ri_generator"
path = "src/lib.rs" path = "src/lib.rs"
[dependencies] [dependencies]
anyhow = { version = "1.0", optional = true } anyhow = "1.0.95"
chrono = "0.4" chrono = "0.4.39"
clap = { version = "4.5", features = ["derive"] } clap = { version = "4.5.28", features = ["derive"] }
env_logger = { version = "0.11", optional = true } env_logger = "0.11.6"
heck = "0.5" heck = "0.5"
hex = "0.4" hex = "0.4.3"
itertools = "0.14" itertools = "0.14"
log = "0.4" log = "0.4"
prettyplease = "0.2" prettyplease = "0.2"
proc-macro2 = "1.0" proc-macro2 = "1.0.93"
quote = "1.0" quote = "1.0"
roxmltree = "0.20" roxmltree = "0.20"
sha2 = "0.10" sha2 = "0.10"
syn = "2.0" syn = "2.0.96"
thiserror = "2.0" thiserror = "2.0"
typenum = "1.17.0"
[build-dependencies] [build-dependencies]
vergen-gitcl = { version = "1.0", features = ["build", "cargo", "rustc", "si"] } vergen-gitcl = { version = "1.0.0", features = ["build", "cargo", "rustc", "si"] }
[features]
bin = ["anyhow", "env_logger"]

View file

@ -1,8 +1,5 @@
# Endcap SL Software RI Generator # Endcap SL Software RI Generator
[![pipeline status](https://gitlab.cern.ch/wotsubo/endcap-sl-software-ri-generator/badges/main/pipeline.svg)](https://gitlab.cern.ch/wotsubo/endcap-sl-software-ri-generator/-/commits/main)
[![Latest Release](https://gitlab.cern.ch/wotsubo/endcap-sl-software-ri-generator/-/badges/release.svg)](https://gitlab.cern.ch/wotsubo/endcap-sl-software-ri-generator/-/releases)
これはXMLのレジスタマップからMPSoCソフトで使う用のコードを生成するソフトです。 これはXMLのレジスタマップからMPSoCソフトで使う用のコードを生成するソフトです。
XMLおよびそのスキーマは[L0 Muon Endcap/Endcap Sl CSR XML](https://gitlab.cern.ch/l0muon-endcap/endcap-sl-csr-xml)にあります。 XMLおよびそのスキーマは[L0 Muon Endcap/Endcap Sl CSR XML](https://gitlab.cern.ch/l0muon-endcap/endcap-sl-csr-xml)にあります。

View file

@ -1,8 +1,5 @@
# Endcap SL Software RI Generator # Endcap SL Software RI Generator
[![pipeline status](https://gitlab.cern.ch/wotsubo/endcap-sl-software-ri-generator/badges/main/pipeline.svg)](https://gitlab.cern.ch/wotsubo/endcap-sl-software-ri-generator/-/commits/main)
[![Latest Release](https://gitlab.cern.ch/wotsubo/endcap-sl-software-ri-generator/-/badges/release.svg)](https://gitlab.cern.ch/wotsubo/endcap-sl-software-ri-generator/-/releases)
[日本語版](README-ja.md) [日本語版](README-ja.md)
Generates register interface for mpsoc software from register map in xml format. Generates register interface for mpsoc software from register map in xml format.

View file

@ -12,21 +12,21 @@
//! ```no_run //! ```no_run
//! use endcap_sl_software_ri_generator::types; //! use endcap_sl_software_ri_generator::types;
//! //!
//! let xmlfile = std::fs::read_to_string("./csr.xml").expect("failed to open file"); //! let xmlfile = std::fs::read_to_string("./csr.xml")?;
//! let doc = roxmltree::Document::parse_with_options( //! let doc = roxmltree::Document::parse_with_options(
//! &xmlfile, //! &xmlfile,
//! roxmltree::ParsingOptions { //! roxmltree::ParsingOptions {
//! allow_dtd: true, //! allow_dtd: true,
//! nodes_limit: u32::MAX, //! nodes_limit: u32::MAX,
//! }, //! },
//! ) //! )?;
//! .expect("failed to parse");
//! //!
//! let register_map = types::Module::from_xml_dom(doc.root_element()).expect("failed to convert"); //! let register_map = types::Module::from_xml_dom(doc.root_element())?;
//! //!
//! let files = register_map.generate_code().expect("failed to generate code"); //! let files = register_map.generate_code()?;
//! endcap_sl_software_ri_generator::write_to_files(files, //! endcap_sl_software_ri_generator::write_to_files(files, &std::path::PathBuf::from("out"))?;
//! &std::path::PathBuf::from("out")).expect("failed to write"); //!
//! # Ok::<(), anyhow::Error>(())
//! ``` //! ```
//! //!
//! # Overview //! # Overview