mock_end_effector_driver.hpp
Go to the documentation of this file.
1 /*
2 mock_end_effector_driver.hpp
3 Copyright (C) 2020 Niryo
4 All rights reserved.
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13 You should have received a copy of the GNU General Public License
14 along with this program. If not, see <http:// www.gnu.org/licenses/>.
15 */
16 
17 #ifndef MOCK_END_EFFECTOR_DRIVER_HPP
18 #define MOCK_END_EFFECTOR_DRIVER_HPP
19 
20 #include <cstdint>
21 #include <memory>
22 #include <vector>
23 #include <string>
24 #include <iostream>
25 #include <sstream>
26 #include <cassert>
27 
29 #include "fake_ttl_data.hpp"
30 
31 #include "common/model/action_type_enum.hpp"
32 #include "end_effector_reg.hpp"
33 #include "common/model/end_effector_command_type_enum.hpp"
34 #include "common/model/end_effector_state.hpp"
35 
36 namespace ttl_driver
37 {
38 
43 {
44 public:
45  MockEndEffectorDriver(std::shared_ptr<FakeTtlData> data);
46 
47 public:
48  // AbstractTtlDriver interface : we cannot define them globally in AbstractTtlDriver
49  // as it is needed here for polymorphism (AbstractTtlDriver cannot be a template class and does not
50  // have access to reg_type). So it seems like a duplicate of StepperDriver
51  std::string str() const override;
52 
53  int checkModelNumber(uint8_t id, uint16_t &model_number) override;
54  int readFirmwareVersion(uint8_t id, std::string &version) override;
55 
56  int readTemperature(uint8_t id, uint8_t &temperature) override;
57  int readVoltage(uint8_t id, double &_voltage) override;
58  int readHwErrorStatus(uint8_t id, uint8_t &hardware_error_status) override;
59 
60  int syncReadFirmwareVersion(const std::vector<uint8_t> &id_list, std::vector<std::string> &firmware_list) override;
61  int syncReadTemperature(const std::vector<uint8_t> &id_list, std::vector<uint8_t> &temperature_list) override;
62  int syncReadVoltage(const std::vector<uint8_t> &id_list, std::vector<double> &voltage_list) override;
63  int syncReadRawVoltage(const std::vector<uint8_t> &id_list, std::vector<double> &voltage_list) override;
64  int syncReadHwStatus(const std::vector<uint8_t> &id_list,
65  std::vector<std::pair<double, uint8_t> > &data_list) override;
66 
67  int syncReadHwErrorStatus(const std::vector<uint8_t> &id_list, std::vector<uint8_t> &hw_error_list) override;
68 
69 public:
70  int ping(uint8_t id) override;
71  int getModelNumber(uint8_t id, uint16_t &model_number) override;
72  int scan(std::vector<uint8_t> &id_list) override;
73  int reboot(uint8_t id) override;
74 
75  // AbstractEndEffectorDriver
76  int readButton0Status(uint8_t id, common::model::EActionType &action) override;
77  int readButton1Status(uint8_t id, common::model::EActionType &action) override;
78  int readButton2Status(uint8_t id, common::model::EActionType &action) override;
79  int syncReadButtonsStatus(const uint8_t &id, std::vector<common::model::EActionType> &action_list) override;
80 
81  int readAccelerometerXValue(uint8_t id, uint32_t &x_value) override;
82  int readAccelerometerYValue(uint8_t id, uint32_t &y_value) override;
83  int readAccelerometerZValue(uint8_t id, uint32_t &z_value) override;
84 
85  int readCollisionStatus(uint8_t id, bool &status) override;
86  int writeCollisionThresh(uint8_t id, int thresh) override;
87  int writeCollisionThreshAlgo2(uint8_t id, int thresh) override;
88 
89  int readDigitalInput(uint8_t id, bool &in) override;
90  int writeDigitalInput(uint8_t id, bool in) override;
91  int writeDigitalOutput(uint8_t id, bool out) override;
92 
93 private:
94  std::shared_ptr<FakeTtlData> _fake_data;
95 };
96 
97 } // namespace ttl_driver
98 
99 #endif // MockEndEffectorDriver
ttl_driver::MockEndEffectorDriver::readAccelerometerXValue
int readAccelerometerXValue(uint8_t id, uint32_t &x_value) override
MockEndEffectorDriver::readAccelerometerXValue.
Definition: mock_end_effector_driver.cpp:351
ttl_driver::MockEndEffectorDriver::readCollisionStatus
int readCollisionStatus(uint8_t id, bool &status) override
MockEndEffectorDriver::readCollisionStatus.
Definition: mock_end_effector_driver.cpp:396
ttl_driver::MockEndEffectorDriver::str
std::string str() const override
MockEndEffectorDriver::str.
Definition: mock_end_effector_driver.cpp:45
ttl_driver::MockEndEffectorDriver::reboot
int reboot(uint8_t id) override
MockEndEffectorDriver::reboot.
Definition: mock_end_effector_driver.cpp:114
ttl_driver::MockEndEffectorDriver::syncReadHwStatus
int syncReadHwStatus(const std::vector< uint8_t > &id_list, std::vector< std::pair< double, uint8_t > > &data_list) override
MockEndEffectorDriver::syncReadHwStatus.
Definition: mock_end_effector_driver.cpp:247
ttl_driver::MockEndEffectorDriver::scan
int scan(std::vector< uint8_t > &id_list) override
MockEndEffectorDriver::scan.
Definition: mock_end_effector_driver.cpp:103
ttl_driver::MockEndEffectorDriver::getModelNumber
int getModelNumber(uint8_t id, uint16_t &model_number) override
MockEndEffectorDriver::getModelNumber.
Definition: mock_end_effector_driver.cpp:69
end_effector_reg.hpp
ttl_driver::MockEndEffectorDriver::writeCollisionThreshAlgo2
int writeCollisionThreshAlgo2(uint8_t id, int thresh) override
MockEndEffectorDriver::writeCollisionThreshAlgo2.
Definition: mock_end_effector_driver.cpp:424
ttl_driver::MockEndEffectorDriver::readButton2Status
int readButton2Status(uint8_t id, common::model::EActionType &action) override
MockEndEffectorDriver::readButton2Status.
Definition: mock_end_effector_driver.cpp:313
ttl_driver::MockEndEffectorDriver::readDigitalInput
int readDigitalInput(uint8_t id, bool &in) override
MockEndEffectorDriver::readDigitalInput.
Definition: mock_end_effector_driver.cpp:437
ttl_driver::MockEndEffectorDriver::readButton1Status
int readButton1Status(uint8_t id, common::model::EActionType &action) override
MockEndEffectorDriver::readButton1Status.
Definition: mock_end_effector_driver.cpp:298
ttl_driver::MockEndEffectorDriver::syncReadFirmwareVersion
int syncReadFirmwareVersion(const std::vector< uint8_t > &id_list, std::vector< std::string > &firmware_list) override
MockEndEffectorDriver::syncReadFirmwareVersion.
Definition: mock_end_effector_driver.cpp:187
ttl_driver::MockEndEffectorDriver::MockEndEffectorDriver
MockEndEffectorDriver(std::shared_ptr< FakeTtlData > data)
MockEndEffectorDriver::EndEffectorDriver.
Definition: mock_end_effector_driver.cpp:33
ttl_driver::MockEndEffectorDriver::syncReadHwErrorStatus
int syncReadHwErrorStatus(const std::vector< uint8_t > &id_list, std::vector< uint8_t > &hw_error_list) override
MockEndEffectorDriver::syncReadHwErrorStatus.
Definition: mock_end_effector_driver.cpp:267
ttl_driver::MockEndEffectorDriver::syncReadButtonsStatus
int syncReadButtonsStatus(const uint8_t &id, std::vector< common::model::EActionType > &action_list) override
MockEndEffectorDriver::syncReadButtonsStatus.
Definition: mock_end_effector_driver.cpp:328
abstract_end_effector_driver.hpp
ttl_driver
Definition: abstract_dxl_driver.hpp:30
ttl_driver::MockEndEffectorDriver::writeDigitalOutput
int writeDigitalOutput(uint8_t id, bool out) override
MockEndEffectorDriver::writeDigitalOutput.
Definition: mock_end_effector_driver.cpp:467
ttl_driver::MockEndEffectorDriver
The MockEndEffectorDriver class.
Definition: mock_end_effector_driver.hpp:42
ttl_driver::MockEndEffectorDriver::checkModelNumber
int checkModelNumber(uint8_t id, uint16_t &model_number) override
MockEndEffectorDriver::checkModelNumber.
Definition: mock_end_effector_driver.cpp:83
ttl_driver::MockEndEffectorDriver::writeCollisionThresh
int writeCollisionThresh(uint8_t id, int thresh) override
MockEndEffectorDriver::writeCollisionThresh.
Definition: mock_end_effector_driver.cpp:411
ttl_driver::MockEndEffectorDriver::readAccelerometerZValue
int readAccelerometerZValue(uint8_t id, uint32_t &z_value) override
MockEndEffectorDriver::readAccelerometerZValue.
Definition: mock_end_effector_driver.cpp:381
ttl_driver::MockEndEffectorDriver::readTemperature
int readTemperature(uint8_t id, uint8_t &temperature) override
MockEndEffectorDriver::readTemperature.
Definition: mock_end_effector_driver.cpp:142
ttl_driver::AbstractEndEffectorDriver
The AbstractEndEffectorDriver class.
Definition: abstract_end_effector_driver.hpp:41
ttl_driver::MockEndEffectorDriver::readFirmwareVersion
int readFirmwareVersion(uint8_t id, std::string &version) override
MockEndEffectorDriver::readFirmwareVersion.
Definition: mock_end_effector_driver.cpp:125
ttl_driver::MockEndEffectorDriver::syncReadRawVoltage
int syncReadRawVoltage(const std::vector< uint8_t > &id_list, std::vector< double > &voltage_list) override
MockEndEffectorDriver::syncReadRawVoltage.
Definition: mock_end_effector_driver.cpp:233
ttl_driver::MockEndEffectorDriver::readHwErrorStatus
int readHwErrorStatus(uint8_t id, uint8_t &hardware_error_status) override
MockEndEffectorDriver::readHwErrorStatus.
Definition: mock_end_effector_driver.cpp:172
ttl_driver::MockEndEffectorDriver::readAccelerometerYValue
int readAccelerometerYValue(uint8_t id, uint32_t &y_value) override
MockEndEffectorDriver::readAccelerometerYValue.
Definition: mock_end_effector_driver.cpp:366
ttl_driver::MockEndEffectorDriver::ping
int ping(uint8_t id) override
MockEndEffectorDriver::ping.
Definition: mock_end_effector_driver.cpp:56
ttl_driver::MockEndEffectorDriver::readButton0Status
int readButton0Status(uint8_t id, common::model::EActionType &action) override
MockEndEffectorDriver::readButton0Status.
Definition: mock_end_effector_driver.cpp:283
ttl_driver::MockEndEffectorDriver::syncReadTemperature
int syncReadTemperature(const std::vector< uint8_t > &id_list, std::vector< uint8_t > &temperature_list) override
MockEndEffectorDriver::syncReadTemperature.
Definition: mock_end_effector_driver.cpp:203
fake_ttl_data.hpp
ttl_driver::MockEndEffectorDriver::_fake_data
std::shared_ptr< FakeTtlData > _fake_data
Definition: mock_end_effector_driver.hpp:94
ttl_driver::MockEndEffectorDriver::writeDigitalInput
int writeDigitalInput(uint8_t id, bool in) override
MockEndEffectorDriver::writeDigitalInput stores the digital input value in the fake data.
Definition: mock_end_effector_driver.cpp:452
ttl_driver::MockEndEffectorDriver::readVoltage
int readVoltage(uint8_t id, double &_voltage) override
MockEndEffectorDriver::readVoltage.
Definition: mock_end_effector_driver.cpp:157
ttl_driver::MockEndEffectorDriver::syncReadVoltage
int syncReadVoltage(const std::vector< uint8_t > &id_list, std::vector< double > &voltage_list) override
MockEndEffectorDriver::syncReadVoltage.
Definition: mock_end_effector_driver.cpp:218


ttl_driver
Author(s): Clement Cocquempot
autogenerated on Fri Mar 6 2026 15:24:15