mirror of
https://gitlab.cern.ch/wotsubo/endcap-sl-software-ri-generator.git
synced 2025-04-29 16:15:57 +09:00
fix(converter): use mask of parent register for virtual field if exists
This commit is contained in:
parent
6ee8239682
commit
3379babe12
1 changed files with 16 additions and 11 deletions
|
@ -517,7 +517,11 @@ impl Field {
|
|||
/// Generate Field from Registers (piracy), guessing a lot of parameters.
|
||||
pub(crate) fn from_xml_register_dom(node: Node) -> Result<Self, DomConversionError> {
|
||||
let name = util::get_name(node)?;
|
||||
let mask = node
|
||||
let mask = match node.attribute("mask") {
|
||||
Some(mask) => mask
|
||||
.parse_prefixed_u32()
|
||||
.map_err(|e| DomConversionError::parse_prefixed_u32_error(e, "mask", node))?,
|
||||
None => node
|
||||
.ancestors()
|
||||
.filter_map(|node| util::get_type(node))
|
||||
.next()
|
||||
|
@ -527,7 +531,8 @@ impl Field {
|
|||
|dtype| match dtype {
|
||||
crate::types::DataType::D32 => Ok(u32::MAX),
|
||||
},
|
||||
)?;
|
||||
)?,
|
||||
};
|
||||
if node.has_attribute("default") {
|
||||
return Err(DomConversionError::other_error(
|
||||
"unsupported structure: register with @default without field",
|
||||
|
|
Loading…
Add table
Reference in a new issue