Open Bilchreis opened 1 month ago
So we narrowed it down a little, I had a mismatch between the datatype reported in dtype
and the actual value that was returned by some signal i hat. the same thing happens with det
and its noise
EnumSignal
.
noisy_det.noise.describe()
--> {'noisy_det_noise': {'source': 'SIM:noisy_det_noise',
'dtype': 'integer',
'shape': [],
'enum_strs': ('none', 'poisson', 'uniform')}}
det.noise.read()
--> {'noisy_det_noise': {'value': 'uniform', 'timestamp': 1727074877.150907}}
And if there is a single mismatch, run.primary.config
is not getting populated. (same thing happens if there is a single mismatch in the read signals). So this explains this behaviour:
db[-1].primary.config['motor'].read() # this returns config data
db[-1].primary.config['det'].read() # this fails
But after fixing the mismatch in my code, reading run.primary.config
still failed. We narrowed it down to a structured numpy arrays. So if any signal contains a strutured numpy array, reading from tield fails.
So if a Signal similar to this one is present reading the config data from tiled fails.
await gas_dosing.massflow_contr1.status.describe()
--> {'gas_dosing-massflow_contr1-status': {
'source': 'localhost:10800:gas_dosing:massflow_contr1:status',
'dtype_str': '|V408',
'dtype_descr': "[('f0', '<i8'), ('f1', '<U100')]",
'dtype': 'array',
'shape': []}
}
await gas_dosing.massflow_contr1.status.read()
--> {'gas_dosing-massflow_contr1-status': {'value': array((100, 'at target'), dtype=[('f0', '<i8'), ('f1', '<U100')]),
'timestamp': 1727076275.2028334}}
Note:
When I use the temp()
database everything is stored properly, and accessible.
Thanks @Bilchreis. It may be next week until we properly follow up, as several of us are at a conference this week.
Two immediate thoughts:
This issue seems somewhat similar to #745
Expected Behavior
With databroker backed by intake I am able to access the configuration parameters of devices like this:
This gives an xarray of device configuration parameters. I would like the same functionality using a databroker with a tiled server like this:
Current Behavior
I get the following error when I try to access the config data:
Possible Solution
Steps to Reproduce (for bugs)
Context
I want to use the data inside the configuration parameters to populate a Nexus File . Similarly to the Issue #745 the data is still accessible under:
Your Environment