meson: add src/ folder

This creates a conventional structure of src/ and test/ which helps to
separate top-level files such as meson.build, OWNERS, ...
from implementation files.

Git history of individual files is still accessible via e.g.
```
git log --follow -- src/thresholds.hpp
```

Tested: code compiles.

Change-Id: Ifff8b3e70437bc6a25cd6f65afd07d8a563d1a8c
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
14 files changed
tree: e7bb65709b3abb9e8d1188b0f1a055d920f371c0
  1. src/
  2. subprojects/
  3. test/
  4. .clang-format
  5. .clang-tidy
  6. .editorconfig
  7. .gitignore
  8. .prettierrc.yaml
  9. LICENSE
  10. meson.build
  11. meson.options
  12. OWNERS
  13. phosphor-virtual-sensor.service.in
  14. README.md
  15. virtual_sensor_config.json
README.md

phosphor-virtual-sensor

phosphor-virtual-sensor reads the configuration file virtual_sensor_config.json from one of three locations:

  1. The current directory.
  2. /var/lib/phosphor-virtual-sensor
  3. /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.

virtual sensor configuration information

See virtual_sensor_config.json in this repository for an example. Sensors added this way can use any expression that is accepted by exprtk.

information to get a virtual sensor configuration from D-Bus

For example:

{
  "Desc": {
    "Config": "D-Bus"
  }
}

Sensors added this way can only use a set of restricted calculations. Currently supported types are Average, Maximum, Minimum, Sum and 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).