The detector library will (usually) abstract away the fact that we need to write to multiple chip parameters to properly configure it. However, we would keep that abstraction when reading back the parameters. For instance, we configure the pixel mode by calling PixelMode only, but we'll need to read back with get_read_counter the Read Counter parameter (see #28 (comment)).
An approach to remove this explicit relationship encoding and simplify considerably the code base is to provide a way synchronize all parameters that might have changed at once. This could be done by having a structure with those updated parameters returned by the libpimega function calls or by a specific query function.
For some specific cases, we might not need to see the internal parameter anymore once a more high-level procedure is properly implemented in both read and write directions. That's possibly the case for pixel mode.
The detector library will (usually) abstract away the fact that we need to write to multiple chip parameters to properly configure it. However, we would keep that abstraction when reading back the parameters. For instance, we configure the pixel mode by calling
PixelModeonly, but we'll need to read back withget_read_counterthe Read Counter parameter (see #28 (comment)).An approach to remove this explicit relationship encoding and simplify considerably the code base is to provide a way synchronize all parameters that might have changed at once. This could be done by having a structure with those updated parameters returned by the libpimega function calls or by a specific query function.
For some specific cases, we might not need to see the internal parameter anymore once a more high-level procedure is properly implemented in both read and write directions. That's possibly the case for pixel mode.