24 #include <gtest/gtest.h> 25 #include <gmock/gmock.h> 29 #include <prbt_hardware_support/ModbusMsgInStamped.h> 42 using namespace modbus_api::v3;
44 using std::placeholders::_1;
49 ModbusMsgInStampedPtr createDefaultRunPermittedModbusMsg(uint16_t run_permitted_clear);
57 static int msg_time_counter{ 1 };
59 tab_reg[0] = run_permitted;
137 msg->disconnect.data =
true;
138 run_permitted_adapter.modbusMsgCallback(msg);
157 msg->disconnect.data =
true;
158 run_permitted_adapter.modbusMsgCallback(msg);
174 ModbusMsgInStampedPtr
msg(
new ModbusMsgInStamped());
177 msg->disconnect.data =
true;
178 run_permitted_adapter.modbusMsgCallback(msg);
195 msg->holding_registers.data.pop_back();
196 run_permitted_adapter.modbusMsgCallback(msg);
213 msg->holding_registers.data[1] = 0;
214 run_permitted_adapter.modbusMsgCallback(msg);
234 msg->holding_registers.data[1] = 1;
235 run_permitted_adapter.modbusMsgCallback(msg);
255 msg->holding_registers.data[1] = 2;
256 run_permitted_adapter.modbusMsgCallback(msg);
273 msg->holding_registers.data.erase(msg->holding_registers.data.begin());
275 run_permitted_adapter.modbusMsgCallback(msg);
288 int main(
int argc,
char** argv)
290 testing::InitGoogleTest(&argc, argv);
291 return RUN_ALL_TESTS();
unsigned short getMinRegisterDefinition() const
int main(int argc, char **argv)
static constexpr uint16_t MODBUS_RUN_PERMITTED_FALSE
std::vector< uint16_t > RegCont
Convenience data type defining the data type for a collection of registers.
unsigned short getRegisterDefinition(const std::string &key) const
TEST_F(BrakeTestRequiredIntegrationTest, testBrakeTestAnnouncement)
void modbusMsgCallback(const ModbusMsgInStampedConstPtr &msg_raw)
Called whenever a new modbus messages arrives.
static const ModbusApiSpec TEST_API_SPEC
Wrapper class to add semantic to a raw ModbusMsgInStamped.
static constexpr uint16_t MODBUS_API_VERSION_REQUIRED
static void sendRunPermittedUpdate(ros::ServiceClient &run_permitted_service, const bool run_permitted)
static const std::string RUN_PERMITTED
static ModbusMsgInStampedPtr createDefaultModbusMsgIn(const std_msgs::MultiArrayLayout::_data_offset_type &offset, const RegCont &holding_register)
Creates a standard ModbusMsgIn which contains default values for all essential elements of the messag...
std::map< std::string, unsigned short >::size_type size() const
Expection thrown upon construction of ModbusMsgRunPermittedWrapper if the message does not contain th...
Listens to the modbus_read topic and reacts to updated RUN_PERMITTED states.
ModbusMsgInStampedPtr createDefaultRunPermittedModbusMsg(uint16_t run_permitted_clear)
static constexpr uint16_t RUN_PERMITTED_INVALID_VALUE
Expection thrown upon construction of ModbusMsgWrapperBase of the message does not contain the requir...
static constexpr uint16_t MODBUS_RUN_PERMITTED_TRUE
Specifies the meaning of the holding registers.
static const std::string VERSION