def __init__(self, dmcc, motor_num, invert=False):
        self.config = lib.get_config()
        self.logger = lib.get_logger()

        self.is_testing = self.config["test_mode"]["DMCC"]

        self.dmcc = dmcc
        self.real_motor = dmcc.motors[motor_num]
        self.motor_num = motor_num
        self.invert = invert
        if invert:
            self.inversion_multiplier = -1
        else:
            self.inversion_multiplier = 1

        if self.is_testing:
            self._pos_kP = self._pos_kI = self._pos_kD = 0
            self._vel_kP = self._vel_kI = self._vel_kD = 0
        else:
            self.logger.critical("Testing : {}".format(self.is_testing))
            self._pos_kP, self._pos_kI, self._pos_kD \
                = self.real_motor.position_pid
            self._vel_kP, self._vel_kI, self._vel_kD \
                = self.real_motor.velocity_pid

        self._power = 0  # last set power; DMCC can't read back power (yet!)
        if self.is_testing:
            self._position = 0  # last set position, only when testing
            self._velocity = 0  # last set velocity, only when testing

        self.logger.debug("Setup {}".format(self))
Wraps an individual pyDMCC motor
dataset/ETHPy150Open IEEERobotics/bot/bot/hardware/dmcc_motor.py/DMCCMotor.__init__