sensor_chip.hh
Go to the documentation of this file.
1 // BSD License
2 //
3 // Copyright (c) 2021, Ascent Robotics, Inc.
4 // All rights reserved.
5 
6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions are met:
8 
9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer.
11 // * Redistributions in binary form must reproduce the above copyright
12 // notice, this list of conditions and the following disclaimer in the
13 // documentation and/or other materials provided with the distribution.
14 // * Neither the name of Ascent Robotics, Inc. nor the names of its
15 // contributors may be used to endorse or promote products derived from
16 // this software without specific prior written permission.
17 
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 // POSSIBILITY OF SUCH DAMAGE.
29 
30 // Author Thomas Kostas/thomas.kostas@ascent.ai
31 
32 #pragma once
33 #include <string>
34 #include <vector>
35 
36 #include <sensors/sensors.h>
37 
40 {
42 {
43  public:
52  SensorChip(const sensors_chip_name* chip,
53  double default_critical_temp = 100,
54  double default_max_temp = 85);
55 
56  std::vector<temperature_info> get_temperature_readings() const;
57  std::string get_identifier() const;
58  void critical_temp_override(double critical_temp);
59  void max_temp_override(double max_temp);
60 
61  private:
62  std::vector<TemperatureFeature> temperature_features_;
63  const sensors_chip_name* chip_name_;
64 };
65 
66 namespace sensors_chip_factory
67 {
68 std::vector<SensorChip> get_chips_with_prefix(const std::string& name);
69 } // namespace sensors_chip_factory
70 
71 } // namespace cpu_temperature_diagnostics
void critical_temp_override(double critical_temp)
Definition: sensor_chip.cc:79
const sensors_chip_name * chip_name_
Definition: sensor_chip.hh:63
SensorChip(const sensors_chip_name *chip, double default_critical_temp=100, double default_max_temp=85)
Construct a new Sensor Chip object.
Definition: sensor_chip.cc:42
std::vector< temperature_info > get_temperature_readings() const
Definition: sensor_chip.cc:61
std::vector< TemperatureFeature > temperature_features_
Definition: sensor_chip.hh:62
void max_temp_override(double max_temp)
Definition: sensor_chip.cc:86
std::vector< SensorChip > get_chips_with_prefix(const std::string &name)
Definition: sensor_chip.cc:95


cpu_temperature_diagnostics
Author(s):
autogenerated on Mon Feb 28 2022 22:08:46