YARP
Yet Another Robot Platform
fakeBattery.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5
6#ifndef YARP_FAKEBATTERY_H
7#define YARP_FAKEBATTERY_H
8
10#include <yarp/os/RpcServer.h>
11
12#include <yarp/dev/IBattery.h>
13#include <yarp/dev/PolyDriver.h>
14
15#include <mutex>
16
17#include "FakeBatteryService.h"
18
29{
30protected:
31 std::mutex m_mutex;
32 double battery_charge {50.0};
33 double battery_voltage {30.0};
34 double battery_current {3.0};
35 double battery_temperature {20.0};
36 std::string battery_info {"Fake battery system v2.0"};
39
40 bool debugEnable {false};
41
43public:
45 FakeBattery(const FakeBattery&) = delete;
49
50 ~FakeBattery() override = default;
51
52 // yarp::dev::DeviceDriver
53 bool open(yarp::os::Searchable& config) override;
54 bool close() override;
55
56 // yarp::os::PeriodicThread
57 void run() override;
58
59 // yarp::dev::IBattery
60 bool getBatteryVoltage(double& voltage) override;
61 bool getBatteryCurrent(double& current) override;
62 bool getBatteryCharge(double& charge) override;
63 bool getBatteryStatus(Battery_status& status) override;
64 bool getBatteryInfo(std::string& info) override;
65 bool getBatteryTemperature(double& temperature) override;
66
67 // FakeBatteryService
68 void setBatteryVoltage(const double voltage) override;
69 void setBatteryCurrent(const double current) override;
70 void setBatteryCharge(const double charge) override;
71 void setBatteryStatus(const yarp::dev::IBattery::Battery_status status) override;
72 void setBatteryInfo(const std::string& info) override;
73 void setBatteryTemperature(const double temperature) override;
74 double getBatteryVoltage() override;
75 double getBatteryCurrent() override;
76 double getBatteryCharge() override;
78 std::string getBatteryStatusString() override;
79 std::string getBatteryInfo() override;
80 double getBatteryTemperature() override;
81
82private:
83 void updateStatus();
84};
85
86#endif
fakeBattery: Documentation to be added
Definition: fakeBattery.h:29
FakeBattery(const FakeBattery &)=delete
void setBatteryTemperature(const double temperature) override
FakeBattery & operator=(FakeBattery &&)=delete
double getBatteryCharge() override
std::string getBatteryInfo() override
std::string battery_info
Definition: fakeBattery.h:36
double battery_temperature
Definition: fakeBattery.h:35
void setBatteryStatus(const yarp::dev::IBattery::Battery_status status) override
void setBatteryInfo(const std::string &info) override
Battery_status getBatteryStatus() override
yarp::os::RpcServer ctrl_port
Definition: fakeBattery.h:42
void setBatteryCurrent(const double current) override
bool debugEnable
Definition: fakeBattery.h:40
void run() override
Loop function.
Definition: fakeBattery.cpp:79
FakeBattery & operator=(const FakeBattery &)=delete
Battery_status battery_status
Definition: fakeBattery.h:37
bool suspend_battery_status_update
Definition: fakeBattery.h:38
bool open(yarp::os::Searchable &config) override
Open the DeviceDriver.
Definition: fakeBattery.cpp:35
void setBatteryVoltage(const double voltage) override
bool close() override
Close the DeviceDriver.
Definition: fakeBattery.cpp:68
double battery_charge
Definition: fakeBattery.h:32
double battery_voltage
Definition: fakeBattery.h:33
void setBatteryCharge(const double charge) override
double getBatteryVoltage() override
std::mutex m_mutex
Definition: fakeBattery.h:31
double battery_current
Definition: fakeBattery.h:34
double getBatteryCurrent() override
FakeBattery(FakeBattery &&)=delete
std::string getBatteryStatusString() override
~FakeBattery() override=default
double getBatteryTemperature() override
Interface implemented by all device drivers.
Definition: DeviceDriver.h:30
A generic battery interface.
Definition: IBattery.h:28
An abstraction for a periodic thread.
A port that is specialized as an RPC server.
Definition: RpcServer.h:23
A base class for nested structures that can be searched.
Definition: Searchable.h:63