Added absolute group key property to TargetRegisterGroup class

This commit is contained in:
Nav
2024-10-04 21:29:59 +01:00
parent cdcad9dde1
commit 876d402baa
2 changed files with 11 additions and 1 deletions

View File

@@ -335,6 +335,7 @@ class TargetDescriptionFile
$registerGroupInstance->addressSpaceKey, $registerGroupInstance->addressSpaceKey,
$registerGroup, $registerGroup,
$registerGroupInstance->offset ?? 0, $registerGroupInstance->offset ?? 0,
null,
$peripheral->moduleKey, $peripheral->moduleKey,
$registerGroupInstance->key, $registerGroupInstance->key,
$registerGroupInstance->name $registerGroupInstance->name
@@ -349,13 +350,17 @@ class TargetDescriptionFile
string $addressSpaceKey, string $addressSpaceKey,
RegisterGroup $registerGroup, RegisterGroup $registerGroup,
int $addressOffset, int $addressOffset,
?string $parentGroupAbsoluteKey,
string $moduleKey, string $moduleKey,
?string $keyOverride = null, ?string $keyOverride = null,
?string $nameOverride = null ?string $nameOverride = null
): TargetRegisterGroup { ): TargetRegisterGroup {
$addressOffset += $registerGroup->offset ?? 0; $addressOffset += $registerGroup->offset ?? 0;
$groupKey = $keyOverride ?? $registerGroup->key;
$output = new TargetRegisterGroup( $output = new TargetRegisterGroup(
$keyOverride ?? $registerGroup->key, $groupKey,
!empty($parentGroupAbsoluteKey) ? $parentGroupAbsoluteKey . '.' . $groupKey : $groupKey,
$nameOverride ?? $registerGroup->name, $nameOverride ?? $registerGroup->name,
$addressSpaceKey, $addressSpaceKey,
$addressOffset, $addressOffset,
@@ -368,6 +373,7 @@ class TargetDescriptionFile
$addressSpaceKey, $addressSpaceKey,
$subgroup, $subgroup,
$addressOffset, $addressOffset,
$output->absoluteKey,
$moduleKey $moduleKey
); );
} }
@@ -380,6 +386,7 @@ class TargetDescriptionFile
$addressSpaceKey, $addressSpaceKey,
$subgroup, $subgroup,
$addressOffset + $subgroupReference->offset, $addressOffset + $subgroupReference->offset,
$output->absoluteKey,
$moduleKey, $moduleKey,
$subgroupReference->key, $subgroupReference->key,
$subgroupReference->name $subgroupReference->name

View File

@@ -19,6 +19,7 @@ require_once __DIR__ . "/TargetRegister.php";
class TargetRegisterGroup class TargetRegisterGroup
{ {
public ?string $key = null; public ?string $key = null;
public ?string $absoluteKey = null;
public ?string $name = null; public ?string $name = null;
public ?string $addressSpaceKey = null; public ?string $addressSpaceKey = null;
public ?int $baseAddress = null; public ?int $baseAddress = null;
@@ -31,6 +32,7 @@ class TargetRegisterGroup
public function __construct( public function __construct(
?string $key, ?string $key,
?string $absoluteKey,
?string $name, ?string $name,
?string $addressSpaceKey, ?string $addressSpaceKey,
?int $baseAddress, ?int $baseAddress,
@@ -38,6 +40,7 @@ class TargetRegisterGroup
array $registers array $registers
) { ) {
$this->key = $key; $this->key = $key;
$this->absoluteKey = $absoluteKey;
$this->name = $name; $this->name = $name;
$this->addressSpaceKey = $addressSpaceKey; $this->addressSpaceKey = $addressSpaceKey;
$this->baseAddress = $baseAddress; $this->baseAddress = $baseAddress;