commit | c77b6b3f91030c54bb5dd73076e10dfbd2d213a9 | [log] [tgz] |
---|---|---|
author | Lei YU <yulei.sh@bytedance.com> | Thu Jun 08 12:02:05 2023 +0000 |
committer | Lei YU <yulei.sh@bytedance.com> | Sat Oct 07 17:52:21 2023 +0800 |
tree | 32c4539d0fd777e28dc3b0a74952f95949c3eace | |
parent | 87d351153bc4aab46f61221aab67bc98b8a40e1e [diff] |
exprkt: Add ifNan to ignore the NaN value Arithmetic with `nan` values is not expected in virtual sensor's case. Adding a new exprkt function `ifNan` to handle this case, that if a value is `nan`, then use the other value. Example usage in json config: ``` "Expression": "ifNan(maxIgnoreNaN(T0, T1), T2)" ``` The above expression get max value of T0, T1 ignoring nan, and if it's still nana, it uses the value T2. Signed-off-by: Lei YU <yulei.sh@bytedance.com> Change-Id: Ib323f6e18ef9f3317437753018857ad53732f54b
phosphor-virtual-sensor reads the configuration file virtual_sensor_config.json
from one of three locations:
/var/lib/phosphor-virtual-sensor
/usr/share/phosphor-virtual-sensor
By default the repository will install a sample config into (3).
There are two types of data in this file.
See virtual_sensor_config.json
in this repository for an example. Sensors added this way can use any expression that is accepted by exprtk.
For example:
{ "Desc": { "Config": "D-Bus", "Type": "ModifiedMedian" } }
Sensors added this way can only use a set of restricted calculations. Currently the only type supported is modifiedMedian
.
The virtual sensor configuration information needs to be added into the relevant hardware configuration file in entity-manager. This method of adding a virtual sensor allows a recipe that builds for different hardware configurations to have different virtual sensors for each configuration.
The virtual sensor configuration in entity manager follows a different format to the JSON in virtual_sensor_config.json
(specified in entity-manager/schemas/VirtualSensor.json).