mirror of
https://gitlab.cern.ch/wotsubo/endcap-sl-software-ri-generator.git
synced 2025-06-08 05:55:44 +09:00
Compare commits
2 commits
4bbb157228
...
5ef9387d33
Author | SHA1 | Date | |
---|---|---|---|
5ef9387d33 | |||
2baf19a190 |
4 changed files with 9 additions and 9 deletions
|
@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
|
||||
- Improve error message from syn in generator. !15
|
||||
- Removed top level module (register_interface), and now it can have arbitrary name.
|
||||
- Use full path `RegisterSpec`s to avoid unused `use`
|
||||
|
||||
## [0.3.1] - 2025-04-11
|
||||
|
||||
|
|
|
@ -455,7 +455,6 @@ impl CodeGen for Register {
|
|||
use std::marker::PhantomData;
|
||||
|
||||
use crate::axic2c1::spec::AxiC2c1Spec;
|
||||
use crate::register_spec::{DataConversionError, Modifiable, Readable, RegisterSpec, Writable};
|
||||
|
||||
const OFFSET: usize = #addr;
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@ fn reg_type_def_masked(
|
|||
#[derive(Debug, Clone, Copy, Default)]
|
||||
pub struct #upper_camel_name(pub #type_ux);
|
||||
impl TryFrom<#type_ux> for #upper_camel_name {
|
||||
type Error = DataConversionError<#type_ux, Self>;
|
||||
type Error = crate::register_spec::DataConversionError<#type_ux, Self>;
|
||||
|
||||
fn try_from(value: #type_ux) -> Result<Self, Self::Error> {
|
||||
Ok(Self(value & #mask))
|
||||
|
@ -137,7 +137,7 @@ fn reg_type_def_with_field(
|
|||
#(#code_setters)*
|
||||
}
|
||||
impl TryFrom<#type_ux> for #upper_camel_name {
|
||||
type Error = DataConversionError<#type_ux, Self>;
|
||||
type Error = crate::register_spec::DataConversionError<#type_ux, Self>;
|
||||
|
||||
fn try_from(value: #type_ux) -> Result<Self, Self::Error> {
|
||||
Ok(Self { inner: value })
|
||||
|
|
|
@ -11,19 +11,19 @@ pub(super) fn gen_registerspec_impl(
|
|||
) -> TokenStream {
|
||||
let impl_rw = match modf {
|
||||
RwSpecifier::R => quote! {
|
||||
impl<T: AxiC2c1Spec> Readable for #reg_name<'_, T> {}
|
||||
impl<T: AxiC2c1Spec> crate::register_spec::Readable for #reg_name<'_, T> {}
|
||||
},
|
||||
RwSpecifier::W => quote! {
|
||||
impl<T: AxiC2c1Spec> Writable for #reg_name<'_, T> {}
|
||||
impl<T: AxiC2c1Spec> crate::register_spec::Writable for #reg_name<'_, T> {}
|
||||
},
|
||||
RwSpecifier::RW => quote! {
|
||||
impl<T: AxiC2c1Spec> Readable for #reg_name<'_, T> {}
|
||||
impl<T: AxiC2c1Spec> Writable for #reg_name<'_, T> {}
|
||||
impl<T: AxiC2c1Spec> Modifiable for #reg_name<'_, T> {}
|
||||
impl<T: AxiC2c1Spec> crate::register_spec::Readable for #reg_name<'_, T> {}
|
||||
impl<T: AxiC2c1Spec> crate::register_spec::Writable for #reg_name<'_, T> {}
|
||||
impl<T: AxiC2c1Spec> crate::register_spec::Modifiable for #reg_name<'_, T> {}
|
||||
},
|
||||
};
|
||||
quote! {
|
||||
impl<T: AxiC2c1Spec> RegisterSpec for #reg_name<'_, T> {
|
||||
impl<T: AxiC2c1Spec> crate::register_spec::RegisterSpec for #reg_name<'_, T> {
|
||||
type Ux = #type_ux;
|
||||
type T = #type_t;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue