diff --git a/ev3/ev3dev.py b/ev3/ev3dev.py index 42c051d..8cba9e5 100755 --- a/ev3/ev3dev.py +++ b/ev3/ev3dev.py @@ -360,6 +360,21 @@ def run_forever(self, speed_sp, **kwargs): self.setup_forever(speed_sp, **kwargs) self.start() + + def setup_direct(self, duty_cycle_sp, **kwargs): + self.mode = 'run-forever' + for k in kwargs: + v = kwargs[k] + if (v != None): + setattr(self, k, v) + self.duty_cycle_sp = int(duty_cycle_sp) + + + def run_direct(self, duty_cycle_sp, **kwargs): + self.setup_direct(duty_cycle_sp, **kwargs) + self.start() + + def setup_time_limited(self, time_sp, speed_sp, **kwargs): self.mode = 'run-timed' for k in kwargs: @@ -373,10 +388,12 @@ def setup_time_limited(self, time_sp, speed_sp, **kwargs): self.duty_cycle_sp = int(speed_sp) self.time_sp = int(time_sp) + def run_time_limited(self, time_sp, speed_sp, **kwargs): self.setup_time_limited(time_sp, speed_sp, **kwargs) self.start() + def setup_position_limited(self, position_sp, speed_sp, absolute=True, **kwargs): if absolute == True: self.mode = 'run-to-abs-pos' @@ -390,6 +407,7 @@ def setup_position_limited(self, position_sp, speed_sp, absolute=True, **kwargs) self.speed_sp = int(speed_sp) self.position_sp = int(position_sp) + def run_position_limited(self, position_sp, speed_sp, **kwargs): self.setup_position_limited(position_sp, speed_sp, **kwargs) self.start()