From dd404ae3370070d035f05ff8ba6ae1cb722907b0 Mon Sep 17 00:00:00 2001 From: pblivingston <71585805+pblivingston@users.noreply.github.com> Date: Mon, 1 Dec 2025 16:27:17 -0500 Subject: [PATCH] monitoringBus, types - add monitoringBus for convenience for Bus[i].Monitor since only one will be true - cast getters to [int] for type consistency --- lib/option.ps1 | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/lib/option.ps1 b/lib/option.ps1 index cae66f2..cf60f55 100644 --- a/lib/option.ps1 +++ b/lib/option.ps1 @@ -24,7 +24,7 @@ class Option : IRemote { hidden $_sr = $($this | Add-Member ScriptProperty 'sr' ` { - $this.Getter('sr') + [int]$this.Getter('sr') } ` { param([int]$arg) @@ -37,6 +37,28 @@ class Option : IRemote { } } ) + + hidden $_monitoringBus = $($this | Add-Member ScriptProperty 'monitoringBus' ` + { + foreach ($bus in 0..$($this.remote.kind.p_out + $this.remote.kind.v_out - 1)) { + if ($this.remote.Getter("Bus[$bus].Monitor")) { + break + } + } + return $bus + } ` + { + param([int]$arg) + $busMax = $this.remote.kind.p_out + $this.remote.kind.v_out - 1 + if ($arg -ge 0 -and $arg -le $busMax) { + $this._monitoringBus = $this.remote.Setter("Bus[$arg].Monitor", $arg) + } + else { + Write-Warning ("Expected a bus index between 0 and $busMax") + } + } + ) + } class OptionBuffer : IRemote { @@ -48,7 +70,7 @@ class OptionBuffer : IRemote { hidden $_mme = $($this | Add-Member ScriptProperty 'mme' ` { - $this.Getter('mme') + [int]$this.Getter('mme') } ` { param([int]$arg) @@ -64,7 +86,7 @@ class OptionBuffer : IRemote { hidden $_wdm = $($this | Add-Member ScriptProperty 'wdm' ` { - $this.Getter('wdm') + [int]$this.Getter('wdm') } ` { param([int]$arg) @@ -80,7 +102,7 @@ class OptionBuffer : IRemote { hidden $_ks = $($this | Add-Member ScriptProperty 'ks' ` { - $this.Getter('ks') + [int]$this.Getter('ks') } ` { param([int]$arg) @@ -96,7 +118,7 @@ class OptionBuffer : IRemote { hidden $_asio = $($this | Add-Member ScriptProperty 'asio' ` { - $this.Getter('asio') + [int]$this.Getter('asio') } ` { param([int]$arg)