Skip to content

Commit 45ffde0

Browse files
committed
Merge pull request #81 from ddemidov/motors-cleanup
Stop motors in destructor
2 parents ac18ae1 + 89cd598 commit 45ffde0

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

ev3dev/core.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,10 @@ def __init__(self, port=None, name=SYSTEM_DEVICE_NAME_CONVENTION, **kwargs):
216216

217217

218218
# ~autogen
219+
220+
def __del__(self):
221+
self.stop()
222+
219223
# ~autogen generic-get-set classes.motor>currentClass
220224

221225
@property
@@ -731,6 +735,10 @@ def __init__(self, port=None, name=SYSTEM_DEVICE_NAME_CONVENTION, **kwargs):
731735

732736

733737
# ~autogen
738+
739+
def __del__(self):
740+
self.stop()
741+
734742
# ~autogen generic-get-set classes.dcMotor>currentClass
735743

736744
@property
@@ -962,6 +970,10 @@ def __init__(self, port=None, name=SYSTEM_DEVICE_NAME_CONVENTION, **kwargs):
962970

963971

964972
# ~autogen
973+
974+
def __del__(self):
975+
self.float()
976+
965977
# ~autogen generic-get-set classes.servoMotor>currentClass
966978

967979
@property

tests/api_tests.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,12 @@ def test_device(self):
2828
self.assertTrue(d.connected)
2929

3030
def test_medium_motor(self):
31+
def dummy(self):
32+
pass
33+
34+
# Do not write motor.command on exit (so that fake tree stays intact)
35+
ev3.MediumMotor.__del__ = dummy
36+
3137
m = ev3.MediumMotor()
3238

3339
self.assertTrue(m.connected);

0 commit comments

Comments
 (0)