From 876d402baaa9a70bc608738baf7ad268fa69fba9 Mon Sep 17 00:00:00 2001 From: Nav Date: Fri, 4 Oct 2024 21:29:59 +0100 Subject: [PATCH] Added absolute group key property to `TargetRegisterGroup` class --- .../TargetDescriptionFiles/TargetDescriptionFile.php | 9 ++++++++- build/scripts/Targets/TargetRegisterGroup.php | 3 +++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/build/scripts/Targets/TargetDescriptionFiles/TargetDescriptionFile.php b/build/scripts/Targets/TargetDescriptionFiles/TargetDescriptionFile.php index 8e7a0162..d78bc081 100644 --- a/build/scripts/Targets/TargetDescriptionFiles/TargetDescriptionFile.php +++ b/build/scripts/Targets/TargetDescriptionFiles/TargetDescriptionFile.php @@ -335,6 +335,7 @@ class TargetDescriptionFile $registerGroupInstance->addressSpaceKey, $registerGroup, $registerGroupInstance->offset ?? 0, + null, $peripheral->moduleKey, $registerGroupInstance->key, $registerGroupInstance->name @@ -349,13 +350,17 @@ class TargetDescriptionFile string $addressSpaceKey, RegisterGroup $registerGroup, int $addressOffset, + ?string $parentGroupAbsoluteKey, string $moduleKey, ?string $keyOverride = null, ?string $nameOverride = null ): TargetRegisterGroup { $addressOffset += $registerGroup->offset ?? 0; + $groupKey = $keyOverride ?? $registerGroup->key; + $output = new TargetRegisterGroup( - $keyOverride ?? $registerGroup->key, + $groupKey, + !empty($parentGroupAbsoluteKey) ? $parentGroupAbsoluteKey . '.' . $groupKey : $groupKey, $nameOverride ?? $registerGroup->name, $addressSpaceKey, $addressOffset, @@ -368,6 +373,7 @@ class TargetDescriptionFile $addressSpaceKey, $subgroup, $addressOffset, + $output->absoluteKey, $moduleKey ); } @@ -380,6 +386,7 @@ class TargetDescriptionFile $addressSpaceKey, $subgroup, $addressOffset + $subgroupReference->offset, + $output->absoluteKey, $moduleKey, $subgroupReference->key, $subgroupReference->name diff --git a/build/scripts/Targets/TargetRegisterGroup.php b/build/scripts/Targets/TargetRegisterGroup.php index d8e749c0..b53fd37d 100644 --- a/build/scripts/Targets/TargetRegisterGroup.php +++ b/build/scripts/Targets/TargetRegisterGroup.php @@ -19,6 +19,7 @@ require_once __DIR__ . "/TargetRegister.php"; class TargetRegisterGroup { public ?string $key = null; + public ?string $absoluteKey = null; public ?string $name = null; public ?string $addressSpaceKey = null; public ?int $baseAddress = null; @@ -31,6 +32,7 @@ class TargetRegisterGroup public function __construct( ?string $key, + ?string $absoluteKey, ?string $name, ?string $addressSpaceKey, ?int $baseAddress, @@ -38,6 +40,7 @@ class TargetRegisterGroup array $registers ) { $this->key = $key; + $this->absoluteKey = $absoluteKey; $this->name = $name; $this->addressSpaceKey = $addressSpaceKey; $this->baseAddress = $baseAddress;