24 #include <gtest/gtest.h> 25 #include <gmock/gmock.h> 29 #include <prbt_hardware_support/ModbusMsgInStamped.h> 48 using std::placeholders::_1;
63 static int msg_time_counter {1};
65 tab_reg[0] = run_permitted;
130 msg->disconnect.data =
true;
131 run_permitted_adapter.modbusMsgCallback( msg );
149 msg->disconnect.data =
true;
150 run_permitted_adapter.modbusMsgCallback( msg );
165 ModbusMsgInStampedPtr
msg (
new ModbusMsgInStamped());
168 msg->disconnect.data =
true;
169 run_permitted_adapter.modbusMsgCallback( msg );
185 msg->holding_registers.data.pop_back();
186 run_permitted_adapter.modbusMsgCallback( msg );
202 msg->holding_registers.data[1] = 0;
203 run_permitted_adapter.modbusMsgCallback( msg );
223 msg->holding_registers.data[1] = 1;
224 run_permitted_adapter.modbusMsgCallback( msg );
241 msg->holding_registers.data.erase(msg->holding_registers.data.begin());
243 run_permitted_adapter.modbusMsgCallback( msg );
256 int main(
int argc,
char** argv)
258 testing::InitGoogleTest(&argc, argv);
259 return RUN_ALL_TESTS();
static constexpr bool RUN_PERMITTED_CLEAR
int main(int argc, char **argv)
std::vector< uint16_t > RegCont
Convenience data type defining the data type for a collection of registers.
TEST_F(BrakeTestRequiredIntegrationTest, testBrakeTestAnnouncement)
std::map< std::string, unsigned short >::size_type size() const
void modbusMsgCallback(const ModbusMsgInStampedConstPtr &msg_raw)
Called whenever a new modbus messages arrives.
ModbusMsgInStampedPtr createDefaultRunPermittedModbusMsg(bool run_permitted_clear)
static const ModbusApiSpec TEST_API_SPEC
Wrapper class to add semantic to a raw ModbusMsgInStamped.
static void sendRunPermittedUpdate(ros::ServiceClient &run_permitted_service, const bool run_permitted)
static constexpr bool RUN_PERMITTED_ACTIVE
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...
unsigned short getMinRegisterDefinition() 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.
unsigned short getRegisterDefinition(const std::string &key) const
Expection thrown upon construction of ModbusMsgWrapperBase of the message does not contain the requir...
static constexpr int MODBUS_API_VERSION_FOR_TESTING
MOCK_METHOD1(sendRunPermittedUpdate, void(const bool run_permitted))
Specifies the meaning of the holding registers.
static const std::string VERSION