syntax = "proto3"; package cmvr.config; import "cmvr/config/joint_limits_config.proto"; message Ti5MotorConfig { int32 id = 1; string joint_name = 2; double limit_q_lb = 3; double limit_q_ub = 4; double limit_qd = 5; } message SocketCanConfig { string dev_id = 1; int32 channel_id = 2; } message EtherCATConfig { string master_id = 1; int32 cycle_us = 2; } enum MotorBusType { MOTOR_BUS_UNKNOWN = 0; MOTOR_BUS_CAN = 1; MOTOR_BUS_ETHERCAT = 2; MOTOR_BUS_MUJOCO = 3; } message MotorGroupConfig { string id = 1; MotorBusType bus_type = 2; string tool_frame = 3; oneof bus_config { SocketCanConfig can = 10; EtherCATConfig ethercat = 11; } repeated Ti5MotorConfig motors = 20; JointLimitsConfig joint_limits = 30; string joint_limits_urdf_path = 31; } message MotorConfig { string id = 1; repeated MotorGroupConfig motor_groups = 2; } message MotorRootConfig { MotorConfig motor = 1; }