Skip to content

Commit 337fe90

Browse files
committed
WIP
1 parent 514ef84 commit 337fe90

1 file changed

Lines changed: 17 additions & 4 deletions

File tree

‎RDMSharp/RDM/Device/Module/E1.37-7/2019/EndpointsModule.cs‎

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,16 +79,18 @@ private set
7979
}
8080
}
8181

82-
private byte _backgroundQueuedStatusPolicy;
83-
public byte BackgroundQueuedStatusPolicy
82+
private byte? _backgroundQueuedStatusPolicy;
83+
public byte? BackgroundQueuedStatusPolicy
8484
{
8585
get { return _backgroundQueuedStatusPolicy; }
8686
set
8787
{
88+
if (!value.HasValue)
89+
return;
8890
if (_backgroundQueuedStatusPolicy == value)
8991
return;
9092
_backgroundQueuedStatusPolicy = value;
91-
ParentGeneratedDevice.setParameterValue(ERDM_Parameter.BACKGROUND_QUEUED_STATUS_POLICY, new GetBackgroundQueuedStatusPolicyResponse(this._backgroundQueuedStatusPolicy, (byte)this.backgroundQueueStatusPolicyDescriptionDict.Count));
93+
ParentGeneratedDevice.setParameterValue(ERDM_Parameter.BACKGROUND_QUEUED_STATUS_POLICY, new GetBackgroundQueuedStatusPolicyResponse(this._backgroundQueuedStatusPolicy.Value, (byte)this.backgroundQueueStatusPolicyDescriptionDict.Count));
9294
OnPropertyChanged(nameof(BackgroundQueuedStatusPolicy));
9395
}
9496
}
@@ -208,7 +210,8 @@ protected override void OnParentGeneratedDeviceChanged(AbstractGeneratedRDMDevic
208210
ParentGeneratedDevice.setParameterValue(ERDM_Parameter.ENDPOINT_TIMING_DESCRIPTION, timingDescriptionDict);
209211

210212
//ParentGeneratedDevice.setParameterValue(ERDM_Parameter.BINDING_CONTROL_FIELDS, null); // Handled dynamically in handleRequest, because of two identifiers (endpoint and responder UID)
211-
ParentGeneratedDevice.setParameterValue(ERDM_Parameter.BACKGROUND_QUEUED_STATUS_POLICY, new GetBackgroundQueuedStatusPolicyResponse(this._backgroundQueuedStatusPolicy, (byte)this.backgroundQueueStatusPolicyDescriptionDict.Count));
213+
if (this._backgroundQueuedStatusPolicy.HasValue)
214+
ParentGeneratedDevice.setParameterValue(ERDM_Parameter.BACKGROUND_QUEUED_STATUS_POLICY, new GetBackgroundQueuedStatusPolicyResponse(this._backgroundQueuedStatusPolicy.Value, (byte)this.backgroundQueueStatusPolicyDescriptionDict.Count));
212215

213216
ParentGeneratedDevice.setParameterValue(ERDM_Parameter.ENDPOINT_LIST, new GetEndpointListResponse(listChanged, _endpoints.Values.Select(ep => new EndpointDescriptor(ep.EndpointId, ep.Type)).ToArray()));
214217
ParentGeneratedDevice.setParameterValue(ERDM_Parameter.ENDPOINT_LIST_CHANGE, listChanged);
@@ -751,4 +754,14 @@ public async Task<bool> SetTiming(ushort endpointId, byte timing)
751754
}
752755
return false;
753756
}
757+
public async Task<bool> SetBackgroundQueuedStatusPolicy(byte backgroundQueuedStatusPolicy)
758+
{
759+
if (await ParentRemoteDevice.SetParameter(ERDM_Parameter.BACKGROUND_QUEUED_STATUS_POLICY, backgroundQueuedStatusPolicy))
760+
{
761+
this._backgroundQueuedStatusPolicy = backgroundQueuedStatusPolicy;
762+
OnPropertyChanged(nameof(BackgroundQueuedStatusPolicy));
763+
return true;
764+
}
765+
return false;
766+
}
754767
}

0 commit comments

Comments
 (0)