From ef9261577d81a622d4525e4c926eec67e7081957 Mon Sep 17 00:00:00 2001 From: Denis Demidov Date: Sat, 7 Nov 2015 20:02:28 +0300 Subject: [PATCH 1/2] Stop motors in destructor --- ev3dev/core.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ev3dev/core.py b/ev3dev/core.py index e09b841..868ddd1 100644 --- a/ev3dev/core.py +++ b/ev3dev/core.py @@ -216,6 +216,10 @@ def __init__(self, port=None, name=SYSTEM_DEVICE_NAME_CONVENTION, **kwargs): # ~autogen + + def __del__(self): + self.stop() + # ~autogen generic-get-set classes.motor>currentClass @property @@ -731,6 +735,10 @@ def __init__(self, port=None, name=SYSTEM_DEVICE_NAME_CONVENTION, **kwargs): # ~autogen + + def __del__(self): + self.stop() + # ~autogen generic-get-set classes.dcMotor>currentClass @property @@ -962,6 +970,10 @@ def __init__(self, port=None, name=SYSTEM_DEVICE_NAME_CONVENTION, **kwargs): # ~autogen + + def __del__(self): + self.float() + # ~autogen generic-get-set classes.servoMotor>currentClass @property From 89cd59861eba0d261677f6a09ed71698edaadd9a Mon Sep 17 00:00:00 2001 From: Denis Demidov Date: Sat, 7 Nov 2015 20:15:58 +0300 Subject: [PATCH 2/2] Remove motor destructor before running motor test So that the fake tree stays intact and git stays clean --- tests/api_tests.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/api_tests.py b/tests/api_tests.py index 5a7458b..a60d202 100755 --- a/tests/api_tests.py +++ b/tests/api_tests.py @@ -28,6 +28,12 @@ def test_device(self): self.assertTrue(d.connected) def test_medium_motor(self): + def dummy(self): + pass + + # Do not write motor.command on exit (so that fake tree stays intact) + ev3.MediumMotor.__del__ = dummy + m = ev3.MediumMotor() self.assertTrue(m.connected);