Skip to content

Commit 39dd003

Browse files
authored
EV3-G API: ultrasonic sensor #364 (#445)
1 parent 2de6ece commit 39dd003

File tree

1 file changed

+23
-5
lines changed

1 file changed

+23
-5
lines changed

ev3dev2/sensor/lego.py

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -438,23 +438,41 @@ class UltrasonicSensor(Sensor):
438438
def __init__(self, address=None, name_pattern=SYSTEM_DEVICE_NAME_CONVENTION, name_exact=False, **kwargs):
439439
super(UltrasonicSensor, self).__init__(address, name_pattern, name_exact, driver_name=['lego-ev3-us', 'lego-nxt-us'], **kwargs)
440440

441+
@property
442+
def distance_centimeters_continuous(self):
443+
self.mode = self.MODE_US_DIST_CM
444+
return self.value(0) * self._scale('US_DIST_CM')
445+
446+
@property
447+
def distance_centimeters_ping(self):
448+
self.mode = self.MODE_US_SI_CM
449+
return self.value(0) * self._scale('US_DIST_CM')
450+
441451
@property
442452
def distance_centimeters(self):
443453
"""
444454
Measurement of the distance detected by the sensor,
445455
in centimeters.
446456
"""
447-
self.mode = self.MODE_US_DIST_CM
448-
return self.value(0) * self._scale('US_DIST_CM')
457+
return self.distance_centimeters_continuous
458+
459+
@property
460+
def distance_inches_continuous(self):
461+
self.mode = self.MODE_US_DIST_IN
462+
return self.value(0) * self._scale('US_DIST_IN')
463+
464+
@property
465+
def distance_inches_ping(self):
466+
self.mode = self.MODE_US_SI_IN
467+
return self.value(0) * self._scale('US_DIST_IN')
449468

450469
@property
451470
def distance_inches(self):
452471
"""
453472
Measurement of the distance detected by the sensor,
454473
in inches.
455474
"""
456-
self.mode = self.MODE_US_DIST_IN
457-
return self.value(0) * self._scale('US_DIST_IN')
475+
return self.distance_inches_continuous
458476

459477
@property
460478
def other_sensor_present(self):
@@ -463,7 +481,7 @@ def other_sensor_present(self):
463481
be heard nearby.
464482
"""
465483
self.mode = self.MODE_US_LISTEN
466-
return self.value(0)
484+
return bool(self.value(0))
467485

468486

469487
class GyroSensor(Sensor):

0 commit comments

Comments
 (0)