Closed Slesarew closed 1 year ago
Your SVD have several entries in enums with identical values. It is not supported and will not be:
<name>PRSACT</name>
<description>Configure transition action in normal mode</description>
<bitOffset>13</bitOffset>
<bitWidth>3</bitWidth>
<access>read-write</access>
<enumeratedValues>
<enumeratedValue>
<name>NONE</name>
<description>No PRS output generated (if PRSCOUNT == 0), or do not count (if PRSCOUNT == 1).</description>
<value>0</value>
</enumeratedValue>
<enumeratedValue>
<name>PRS0</name>
<description>Pulse generated on LESENSE PRS output 0 (if PRSCOUNT == 0).</description>
<value>1</value>
</enumeratedValue>
<enumeratedValue>
<name>UP</name>
<description>Count Up (if PRSCOUNT == 1).</description>
<value>1</value>
</enumeratedValue>
<enumeratedValue>
<name>PRS1</name>
<description>Pulse generated on LESENSE PRS output 1 (if PRSCOUNT == 0).</description>
<value>2</value>
</enumeratedValue>
<enumeratedValue>
<name>DOWN</name>
<description>Count Down (if PRSCOUNT == 1).</description>
<value>2</value>
</enumeratedValue>
<enumeratedValue>
<name>PRS01</name>
<description>Pulse generated on LESENSE PRS output 0 and 1 (if PRSCOUNT == 0).</description>
<value>3</value>
</enumeratedValue>
<enumeratedValue>
<name>PRS2</name>
<description>Pulse generated on LESENSE PRS output 2. (PRSCOUNT == 0 OR 1).</description>
<value>4</value>
</enumeratedValue>
<enumeratedValue>
<name>PRS02</name>
<description>Pulse generated on LESENSE PRS output 0 and 2 (if PRSCOUNT == 0).</description>
<value>5</value>
</enumeratedValue>
<enumeratedValue>
<name>UPANDPRS2</name>
<description>Count Up and Pulse generated on LESENSE PRS output 2 (if PRSCOUNT == 1).</description>
<value>5</value>
</enumeratedValue>
<enumeratedValue>
<name>PRS12</name>
<description>Pulse generated on LESENSE PRS output 1 and 2 (if PRSCOUNT == 0).</description>
<value>6</value>
</enumeratedValue>
<enumeratedValue>
<name>DOWNANDPRS2</name>
<description>Count Down and Pulse generated on LESENSE PRS output 2 (if PRSCOUNT == 1).</description>
<value>6</value>
</enumeratedValue>
<enumeratedValue>
<name>PRS012</name>
<description>Pulse generated on LESENSE PRS output 0, 1 and 2 (if PRSCOUNT == 0).</description>
<value>7</value>
</enumeratedValue>
</enumeratedValues>
You need to delete those before start svd2rust
.
All listed above issues and PRs are not related to this one.
Thank you, it's on my side indeed! I didn't expect the silabs to be this mean in their definitions. Sorry for confusion. I probably should not be using vendor-made svd files after all.
After running the tool for EFM32PG23B310 devices (like ones used in https://github.com/efm32-rs/efm32pg-pacs/tree/master/svd/EFM32PG23 or those on keil.com, does not matter) I end up with chunks of code like this:
which results in hundreds of collision errors upon build:
I have tried passing
--strict
and all kinds of other underdocumented (sorry I didn't find any clear explanations) config keys in varying combinations and this is still the same. Maybe it is related to #283 or #636 issues. It might be caused by #402Similar issue seems to be present in abovelinked crate.
svd configs for STM32 devices build without issues with my setup.