YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
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"
19
31 public FakeBatteryService,
33{
34protected:
35 std::mutex m_mutex;
36 double battery_charge {50.0};
37 double battery_voltage {30.0};
38 double battery_current {3.0};
39 double battery_temperature {20.0};
40 std::string battery_info {"Fake battery system v2.0"};
43
44 bool debugEnable {false};
45
47public:
49 FakeBattery(const FakeBattery&) = delete;
53
54 ~FakeBattery() override = default;
55
56 // yarp::dev::DeviceDriver
57 bool open(yarp::os::Searchable& config) override;
58 bool close() override;
59
60 // yarp::os::PeriodicThread
61 void run() override;
62
63 // yarp::dev::IBattery
64 yarp::dev::ReturnValue getBatteryVoltage(double& voltage) override;
65 yarp::dev::ReturnValue getBatteryCurrent(double& current) override;
66 yarp::dev::ReturnValue getBatteryCharge(double& charge) override;
68 yarp::dev::ReturnValue getBatteryInfo(std::string& info) override;
69 yarp::dev::ReturnValue getBatteryTemperature(double& temperature) override;
70
71 // FakeBatteryService
72 void setBatteryVoltage(const double voltage) override;
73 void setBatteryCurrent(const double current) override;
74 void setBatteryCharge(const double charge) override;
75 void setBatteryStatus(const yarp::dev::IBattery::Battery_status status) override;
76 void setBatteryInfo(const std::string& info) override;
77 void setBatteryTemperature(const double temperature) override;
78 double getBatteryVoltage() override;
79 double getBatteryCurrent() override;
80 double getBatteryCharge() override;
82 std::string getBatteryStatusString() override;
83 std::string getBatteryInfo() override;
84 double getBatteryTemperature() override;
85
86private:
87 void updateStatus();
88};
89
90#endif
This class is the parameters parser for class FakeBattery.
fakeBattery: Documentation to be added
Definition FakeBattery.h:33
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:40
double battery_temperature
Definition FakeBattery.h:39
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:46
void setBatteryCurrent(const double current) override
bool debugEnable
Definition FakeBattery.h:44
void run() override
Loop function.
FakeBattery & operator=(const FakeBattery &)=delete
Battery_status battery_status
Definition FakeBattery.h:41
bool suspend_battery_status_update
Definition FakeBattery.h:42
bool open(yarp::os::Searchable &config) override
Open the DeviceDriver.
void setBatteryVoltage(const double voltage) override
bool close() override
Close the DeviceDriver.
double battery_charge
Definition FakeBattery.h:36
double battery_voltage
Definition FakeBattery.h:37
void setBatteryCharge(const double charge) override
double getBatteryVoltage() override
std::mutex m_mutex
Definition FakeBattery.h:35
double battery_current
Definition FakeBattery.h:38
double getBatteryCurrent() override
FakeBattery(FakeBattery &&)=delete
std::string getBatteryStatusString() override
~FakeBattery() override=default
double getBatteryTemperature() override
Interface implemented by all device drivers.
A generic battery interface.
Definition IBattery.h:26
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:31