Skip to content

Commit

Permalink
add InsertContainmentTreeEntryForSequenceId (Draegerwerk#91)
Browse files Browse the repository at this point in the history
Add manipulation InsertContainmentTreeEntryForSequenceId

# Checklist

The following aspects have been respected by the author of this pull
request, confirmed by both pull request assignee **and** reviewer:

* Changelog update (necessity checked and entry added or not added
respectively)
  * [x] Pull Request Assignee
  * [ ] Reviewer
* README update (necessity checked and entry added or not added
respectively)
  * [x] Pull Request Assignee
  * [ ] Reviewer
  • Loading branch information
antipovi-draeger authored Sep 19, 2024
1 parent 50ac8af commit 3d5d385
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- manipulation SetSystemContextActivationStateAndContextAssociation for combined settings
- manipulation SetMdsUiLanguage for devices
- manipulation GetMdsUiSupportedLanguages for devices
- manipulation InsertContainmentTreeEntryForSequenceId for devices

## [4.1.0] - 2024-02-22

Expand Down
10 changes: 10 additions & 0 deletions src/t2iapi/device/device_requests.proto
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,13 @@ message ProvideInformationAboutNextCalibrationRequest {
CalibrationState calibration_state = 2; // ComponentCalibrationState value to set as the next calibration
// information
}

/*
Request to make available the BICEPS CONTAINMENT TREE ENTRY (as defined in IEEE Std 11073-10700-2022) that was
previously represented by the descriptor with the provided handle in the device's MDIB in the provided @SequenceId.
*/
message InsertContainmentTreeEntryForSequenceIdRequest {
string handle = 1; // descriptor handle which represented the BICEPS CONTAINMENT TREE ENTRY
string sequence_id = 2; // @SequenceId of the devices MDIB where the requested BICEPS CONTAINMENT TREE ENTRY
// was seen
}
10 changes: 10 additions & 0 deletions src/t2iapi/device/device_responses.proto
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,13 @@ message GetComponentHwVersionResponse {
BasicResponse status = 1; // status of the rpc
string hardware_version = 2; // Hardware version of the requested device component
}

/*
Response containing the descriptor handle which is representing the requested
BICEPS CONTAINMENT TREE ENTRY (as defined in IEEE Std 11073-10700-2022) in the device's current MDIB.
*/
message InsertContainmentTreeEntryForSequenceIdResponse{
BasicResponse status = 1; // status of the rpc
string handle = 2; // descriptor handle which is representing the requested BICEPS CONTAINMENT TREE ENTRY
// in the device's current MDIB
}
40 changes: 40 additions & 0 deletions src/t2iapi/device/service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -182,4 +182,44 @@ service DeviceService {
*/
rpc IndicateTimeOfNextCalibrationToUser (BasicHandleRequest)
returns (BasicResponse);

/*
Make available the BICEPS CONTAINMENT TREE ENTRY (as defined in IEEE Std 11073-10700-2022) that was previously
represented by the provided handle in the MDIB with the provided @SequenceId. If the BICEPS CONTAINMENT TREE ENTRY
is absent in the current MDIB, it shall be inserted and its handle in the current MDIB shall be returned.
If the BICEPS CONTAINMENT TREE ENTRY is already present in the current MDIB, only its handle shall be returned,
no further action is required.
Hint: Devices which use static handles for descriptors do not have to look up the entity that was previously
represented by the requested handle, since they stay the same between the changes of the @SequenceId. It is
sufficient to ensure the descriptor is present and return the handle.
Example 1: returning the same handle for the Metric
- device presented an MDIB with the Metric handle "metric_1" in @SequenceID "123"
- device changes @SequenceID to "789" and presents a new MDIB
- metric with the handle "metric_1" is still present in the current MDIB and represents the *same* metric
as in @SequenceID "123"
- InsertContainmentTreeEntryForSequenceId with handle="metric_1" and sequence_id="123" is executed
- the handle "metric_1" is returned as the descriptor with this handle it is still available in the current MDIB
- no further action from the device is required
Example 2: returning a new handle for the MDS:
- device presented an MDIB with MDS handle "mds0" in @SequenceID "123"
- device changes @SequenceID to "789" and presents a new MDIB
- MDS which had the Handle "mds0" in @SequenceId "123" is still present in the current MDIB, but it's Handle
changed to "mds10"
- InsertContainmentTreeEntryForSequenceId with handle="mds0" and sequence_id="123" is executed
- the handle "mds10" is returned as the descriptor handle for that MDS has changed
- no further action from the device is required
Example 3: inserting the Channel into the current MDIB and returning the (new) handle:
- device presented the Channel with handle "channel123" in @SequenceID "123"
- device changes @SequenceID to "789" and presents a new MDIB
- Channel which had the Handle "channel123" in @SequenceId "123" is no longer present in the current MDIB
- InsertContainmentTreeEntryForSequenceId with handle="channel123" and sequence_id="123" is executed
- Channel is inserted into the device's current MDIB with the handle "channel789"
- the handle "channel789" is returned
*/
rpc InsertContainmentTreeEntryForSequenceId (InsertContainmentTreeEntryForSequenceIdRequest)
returns (InsertContainmentTreeEntryForSequenceIdResponse);
}

0 comments on commit 3d5d385

Please sign in to comment.