diff --git a/build/scripts/TargetDescriptionFiles/BitField.php b/build/scripts/TargetDescriptionFiles/BitField.php new file mode 100644 index 00000000..7609a143 --- /dev/null +++ b/build/scripts/TargetDescriptionFiles/BitField.php @@ -0,0 +1,7 @@ +size = isset($registerAttrs['size']) ? $this->rawValueToInt($registerAttrs['size']) : null; + $bitFieldElements = $registerElement->xpath('bitfield'); + foreach ($bitFieldElements as $bitFieldElement) { + $bitFieldAttrs = $bitFieldElement->attributes(); + $bitField = new BitField(); + + $bitField->name = isset($bitFieldAttrs['name']) ? $bitFieldAttrs['name'] : null; + if (empty($bitField->name)) { + continue; + } + + $register->bitFieldsByName[strtolower($bitField->name)] = $bitField; + } + $registerGroup->registersMappedByName[strtolower($register->name)] = $register; }