The Channel objects' displayRange attribute is currently set using parsers.getParserRanges(). There are two problems with this:
the data is not scaled to engineering units, and it uses the maximum range of the value in the parser's struct, which is incorrect (particularly for digital sensors).
The is also set up to use values from the <SubChannel> elements <SubChannelRangeMin> and <SubChannelRangeMax>, but as of 10/2021, those are not being written.
Two things that can be done:
- Scale the output from
getParserRanges() from internal units to engineering units (note: exclude the per-channel calibration)
- Keep a set of hardcoded min/max for different sensors.
Some of the latter has been implemented for endaqlib (not yet released); the functionality can be moved into idelib.
The
Channelobjects'displayRangeattribute is currently set usingparsers.getParserRanges(). There are two problems with this:the data is not scaled to engineering units, and it uses the maximum range of the value in the parser's struct, which is incorrect (particularly for digital sensors).
The is also set up to use values from the
<SubChannel>elements<SubChannelRangeMin>and<SubChannelRangeMax>, but as of 10/2021, those are not being written.Two things that can be done:
getParserRanges()from internal units to engineering units (note: exclude the per-channel calibration)Some of the latter has been implemented for
endaqlib(not yet released); the functionality can be moved intoidelib.