-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use metadata from DB records to populate DataKeys #137
Conversation
dacd8cc
to
5e114a1
Compare
1920904
to
69e14b6
Compare
8973dee
to
ff0cfb7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple of minor things, please could you make a ticket for doing the same for the PVA side so we get this in PandA too?
"units", | ||
"lower_alarm_limit", | ||
"upper_alarm_limit", | ||
"lower_ctrl_limit", | ||
"upper_ctrl_limit", | ||
"lower_disp_limit", | ||
"upper_disp_limit", | ||
"lower_warning_limit", | ||
"upper_warning_limit", | ||
"precision", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@danielballan do we want all these to appear in the descriptor document?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm happy to turn down to just units, precision. Currently for my downstream purposes I turn lower_ctrl_limit into soft_limit_min for NeXus, so if we can keep just one that's the one I want.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only units and precision are blessed in the schema, but IIRC the schema is open-ended (additional properties allowed) so you can add any that you need.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So:
- add everything and filter what is required downstream
- just control_limits as is more meaningful than alarm/display/warning
- no limits: isn't actually describing the data, but the device's limits and should be somewhere in device configuration?
I'm leaning towards 3: the DataKey is a Key to the Data. It requires a source, but otherwise does it really benefit from knowing the limits? They should be instead kicked up to the device and plan rather than data and documents
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PVA also defines the same set of limits:
display.limitLow
anddisplay.limitHight
control.limitLow
andcontrol.limitHight
valueAlarm.lowWarningLimit
,valueAlarm.lowAlarmLimit
,valueAlarm.highWarningLimit
,valueAlarm.highAlarmLimit
The question here is what is useful downstream.
- If I am capturing a diode PV, do I want the display limits that would be used as axis ranges for plotting?
- If I am capturing a furnace setpoint PV, do I want the control limits that show I was close to the maximum temperature the device accepts?
- If I am capturing a thermocouple PV, do I want the warning or alarm limits to show that the sample was melting?
For that last point, we currently capture severity with each value, but we questioned the usefulness of that as maybe the scan should abort if the sample got too hot?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CA | PVA |
---|---|
lower_alarm_limit | valueAlarm.lowAlarmLimit |
upper_alarm_limit | valueAlarm.highAlarmLimit |
lower_ctrl_limit | control.limitLow |
upper_ctrl_limit | control.limitHigh |
lower_disp_limit | display.limitLow |
upper_disp_limit | display.limitHigh |
lower_warning_limit | valueAlarm.lowWarningLimit |
upper_warning_limit | valueAlarm.highWarningLimit |
Presumably the correct equivalents?
Do we want to do some mapping to either/both to get something consistent?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I think we should map both to the same, then add them to event model as optional.
However I only think we should do this for the useful fields...
@danielballan which fields do you think are useful?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about we have nested objects, so:
limits.control.low
andlimits.control.high
limits.display.low
andlimits.display.high
limits.warning.low
andlimits.warning.high
limits.alarm.low
andlimits.alarm.high
d246166
to
618e545
Compare
Captured as #146 |
618e545
to
eb5de88
Compare
eb5de88
to
27e9ad0
Compare
92fa26b
to
6e91ec9
Compare
6e91ec9
to
ae622b1
Compare
Replaced by #367 |
No description provided.