In the Renesas RA SVDs, there are some enums like the below, with isDefault and no value.
<field>
<name>MOSEL</name>
<description>Main Clock Oscillator Switching</description>
<lsb>6</lsb>
<msb>7</msb>
<access>read-write</access>
<enumeratedValues>
<enumeratedValue>
<name>01</name>
<description>Resonator</description>
<value>#01</value>
</enumeratedValue>
<enumeratedValue>
<name>11</name>
<description>External clock input mode</description>
<value>#11</value>
</enumeratedValue>
<enumeratedValue>
<name>Others</name>
<description>Port mode</description>
<isDefault>true</isDefault>
</enumeratedValue>
</enumeratedValues>
</field>
This causes chiptool to crash at
|
value: v.value.unwrap() as _, // TODO what are variants without values used for?? |
while svd2rust generates the following enum:
#[doc = "Main Clock Oscillator Switching\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
#[repr(u8)]
pub enum Mosel {
#[doc = "1: Resonator"]
_01 = 1,
#[doc = "3: External clock input mode"]
_11 = 3,
#[doc = "0: Port mode"]
Others = 0,
}
Related issues in svd2rust:
In the Renesas RA SVDs, there are some enums like the below, with
isDefaultand novalue.This causes
chiptoolto crash atchiptool/src/svd2ir.rs
Line 308 in 26983da
while
svd2rustgenerates the following enum:Related issues in
svd2rust:isDefaultis present in anenumeratedValue, map all non-specified reads to that variant rust-embedded/svd2rust#172