commit | 7f41a0d4f5fdd47edd85f4c5f4f4681086373c80 | [log] [tgz] |
---|---|---|
author | George Liu <liuxiwei@ieisystem.com> | Wed Aug 28 16:49:06 2024 +0800 |
committer | George Liu <liuxiwei@ieisystem.com> | Thu Aug 29 08:23:10 2024 +0800 |
tree | f0ab86499cb85d7d318bc6e4a64b4edfee562531 | |
parent | a630f0812acae5d54c59dfc6bddf1264115f3689 [diff] |
Refactor virtual sensor calculation logic Refactor the calculation method to calculate.cpp and use std::map instead of std::array, and other algorithms will be added to calculate.cpp in the future. Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: I6dcf5119140a5acdf334ebb280dd0b458da1e3ea
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).