diff --git a/include/ur_modern_driver/bin_parser.h b/include/ur_modern_driver/bin_parser.h index a4f9372..16378a0 100644 --- a/include/ur_modern_driver/bin_parser.h +++ b/include/ur_modern_driver/bin_parser.h @@ -136,7 +136,7 @@ public: } template - void parse(T (&array)[N]) + void parse(std::array &array) { for (size_t i = 0; i < N; i++) { diff --git a/include/ur_modern_driver/ur/rt_state.h b/include/ur_modern_driver/ur/rt_state.h index bb4e9e9..fdc93bc 100644 --- a/include/ur_modern_driver/ur/rt_state.h +++ b/include/ur_modern_driver/ur/rt_state.h @@ -23,18 +23,18 @@ protected: public: double time; - double q_target[6]; - double qd_target[6]; - double qdd_target[6]; - double i_target[6]; - double m_target[6]; - double q_actual[6]; - double qd_actual[6]; - double i_actual[6]; + std::array q_target; + std::array qd_target; + std::array qdd_target; + std::array i_target; + std::array m_target; + std::array q_actual; + std::array qd_actual; + std::array i_actual; // gap here depending on version - double tcp_force[6]; + std::array tcp_force; // does not contain "_actual" postfix in V1_X but // they're the same fields so share anyway @@ -44,7 +44,7 @@ public: // gap here depending on version uint64_t digital_inputs; - double motor_temperatures[6]; + std::array motor_temperatures; double controller_time; double robot_mode; @@ -71,7 +71,7 @@ public: bool parseWith(BinParser& bp); virtual bool consumeWith(URRTPacketConsumer& consumer); - double joint_modes[6]; + std::array joint_modes; static const size_t SIZE = RTState_V1_6__7::SIZE + sizeof(double[6]); @@ -84,11 +84,11 @@ public: bool parseWith(BinParser& bp); virtual bool consumeWith(URRTPacketConsumer& consumer); - double i_control[6]; + std::array i_control; cartesian_coord_t tool_vector_target; cartesian_coord_t tcp_speed_target; - double joint_modes[6]; + std::array joint_modes; double safety_mode; double3_t tool_accelerometer_values; double speed_scaling; @@ -96,7 +96,7 @@ public: double v_main; double v_robot; double i_robot; - double v_actual[6]; + std::array v_actual; static const size_t SIZE = RTShared::SIZE + sizeof(double[6]) * 3 + sizeof(double3_t) + sizeof(cartesian_coord_t) * 2 + sizeof(double) * 6;