@@ -1630,19 +1630,21 @@ class TouchSensor(Sensor):
16301630
16311631 def __init__ (self , address = None , name_pattern = SYSTEM_DEVICE_NAME_CONVENTION , name_exact = False , ** kwargs ):
16321632 super (TouchSensor , self ).__init__ (address , name_pattern , name_exact , driver_name = ['lego-ev3-touch' , 'lego-nxt-touch' ], ** kwargs )
1633+ self .auto_mode = True
16331634
16341635
16351636 # Button state
16361637 MODE_TOUCH = 'TOUCH'
16371638
16381639
1639- def is_pressed (self , set_mode = True ):
1640+ @property
1641+ def is_pressed (self ):
16401642 """
16411643 A boolean indicating whether the current touch sensor is being
16421644 pressed.
16431645 """
16441646
1645- if set_mode :
1647+ if self . auto_mode :
16461648 self .mode = self .MODE_TOUCH
16471649
16481650 return self .value (0 )
@@ -1658,6 +1660,7 @@ class ColorSensor(Sensor):
16581660
16591661 def __init__ (self , address = None , name_pattern = SYSTEM_DEVICE_NAME_CONVENTION , name_exact = False , ** kwargs ):
16601662 super (ColorSensor , self ).__init__ (address , name_pattern , name_exact , driver_name = ['lego-ev3-color' ], ** kwargs )
1663+ self .auto_mode = True
16611664
16621665
16631666 # Reflected light. Red LED on.
@@ -1676,27 +1679,30 @@ def __init__(self, address=None, name_pattern=SYSTEM_DEVICE_NAME_CONVENTION, nam
16761679 MODE_RGB_RAW = 'RGB-RAW'
16771680
16781681
1679- def reflected_light_intensity (self , set_mode = True ):
1682+ @property
1683+ def reflected_light_intensity (self ):
16801684 """
16811685 Reflected light intensity as a percentage. Light on sensor is red.
16821686 """
16831687
1684- if set_mode :
1688+ if self . auto_mode :
16851689 self .mode = self .MODE_COL_REFLECT
16861690
16871691 return self .value (0 )
16881692
1689- def ambient_light_intensity (self , set_mode = True ):
1693+ @property
1694+ def ambient_light_intensity (self ):
16901695 """
16911696 Ambient light intensity. Light on sensor is dimly lit blue.
16921697 """
16931698
1694- if set_mode :
1699+ if self . auto_mode :
16951700 self .mode = self .MODE_COL_AMBIENT
16961701
16971702 return self .value (0 )
16981703
1699- def color (self , set_mode = True ):
1704+ @property
1705+ def color (self ):
17001706 """
17011707 Color detected by the sensor, categorized by overall value.
17021708 - 0: No color
@@ -1709,47 +1715,51 @@ def color(self, set_mode=True):
17091715 - 7: Brown
17101716 """
17111717
1712- if set_mode :
1718+ if self . auto_mode :
17131719 self .mode = self .MODE_COL_COLOR
17141720
17151721 return self .value (0 )
17161722
1717- def raw (self , set_mode = True ):
1723+ @property
1724+ def raw (self ):
17181725 """
17191726 Red, green, and blue components of the detected color, in the range 0-1020.
17201727 """
17211728
1722- if set_mode :
1729+ if self . auto_mode :
17231730 self .mode = self .MODE_RGB_RAW
17241731
17251732 return self .value (0 ), self .value (1 ), self .value (2 )
17261733
1727- def red (self , set_mode = True ):
1734+ @property
1735+ def red (self ):
17281736 """
17291737 Red component of the detected color, in the range 0-1020.
17301738 """
17311739
1732- if set_mode :
1740+ if self . auto_mode :
17331741 self .mode = self .MODE_RGB_RAW
17341742
17351743 return self .value (0 )
17361744
1737- def green (self , set_mode = True ):
1745+ @property
1746+ def green (self ):
17381747 """
17391748 Green component of the detected color, in the range 0-1020.
17401749 """
17411750
1742- if set_mode :
1751+ if self . auto_mode :
17431752 self .mode = self .MODE_RGB_RAW
17441753
17451754 return self .value (1 )
17461755
1747- def blue (self , set_mode = True ):
1756+ @property
1757+ def blue (self ):
17481758 """
17491759 Blue component of the detected color, in the range 0-1020.
17501760 """
17511761
1752- if set_mode :
1762+ if self . auto_mode :
17531763 self .mode = self .MODE_RGB_RAW
17541764
17551765 return self .value (2 )
@@ -1765,6 +1775,7 @@ class UltrasonicSensor(Sensor):
17651775
17661776 def __init__ (self , address = None , name_pattern = SYSTEM_DEVICE_NAME_CONVENTION , name_exact = False , ** kwargs ):
17671777 super (UltrasonicSensor , self ).__init__ (address , name_pattern , name_exact , driver_name = ['lego-ev3-us' , 'lego-nxt-us' ], ** kwargs )
1778+ self .auto_mode = True
17681779
17691780
17701781 # Continuous measurement in centimeters.
@@ -1783,35 +1794,38 @@ def __init__(self, address=None, name_pattern=SYSTEM_DEVICE_NAME_CONVENTION, nam
17831794 MODE_US_SI_IN = 'US-SI-IN'
17841795
17851796
1786- def distance_centimeters (self , set_mode = True ):
1797+ @property
1798+ def distance_centimeters (self ):
17871799 """
17881800 Measurement of the distance detected by the sensor,
17891801 in centimeters.
17901802 """
17911803
1792- if set_mode :
1804+ if self . auto_mode :
17931805 self .mode = self .MODE_US_DIST_CM
17941806
17951807 return self .value (0 )
17961808
1797- def distance_inches (self , set_mode = True ):
1809+ @property
1810+ def distance_inches (self ):
17981811 """
17991812 Measurement of the distance detected by the sensor,
18001813 in inches.
18011814 """
18021815
1803- if set_mode :
1816+ if self . auto_mode :
18041817 self .mode = self .MODE_US_DIST_IN
18051818
18061819 return self .value (0 )
18071820
1808- def other_sensor_present (self , set_mode = True ):
1821+ @property
1822+ def other_sensor_present (self ):
18091823 """
18101824 Value indicating whether another ultrasonic sensor could
18111825 be heard nearby.
18121826 """
18131827
1814- if set_mode :
1828+ if self . auto_mode :
18151829 self .mode = self .MODE_US_LISTEN
18161830
18171831 return self .value (0 )
@@ -1827,6 +1841,7 @@ class GyroSensor(Sensor):
18271841
18281842 def __init__ (self , address = None , name_pattern = SYSTEM_DEVICE_NAME_CONVENTION , name_exact = False , ** kwargs ):
18291843 super (GyroSensor , self ).__init__ (address , name_pattern , name_exact , driver_name = ['lego-ev3-gyro' ], ** kwargs )
1844+ self .auto_mode = True
18301845
18311846
18321847 # Angle
@@ -1845,33 +1860,36 @@ def __init__(self, address=None, name_pattern=SYSTEM_DEVICE_NAME_CONVENTION, nam
18451860 MODE_GYRO_CAL = 'GYRO-CAL'
18461861
18471862
1848- def angle (self , set_mode = True ):
1863+ @property
1864+ def angle (self ):
18491865 """
18501866 The number of degrees that the sensor has been rotated
18511867 since it was put into this mode.
18521868 """
18531869
1854- if set_mode :
1870+ if self . auto_mode :
18551871 self .mode = self .MODE_GYRO_ANG
18561872
18571873 return self .value (0 )
18581874
1859- def rate (self , set_mode = True ):
1875+ @property
1876+ def rate (self ):
18601877 """
18611878 The rate at which the sensor is rotating, in degrees/second.
18621879 """
18631880
1864- if set_mode :
1881+ if self . auto_mode :
18651882 self .mode = self .MODE_GYRO_RATE
18661883
18671884 return self .value (0 )
18681885
1869- def rate_and_angle (self , set_mode = True ):
1886+ @property
1887+ def rate_and_angle (self ):
18701888 """
18711889 Angle (degrees) and Rotational Speed (degrees/second).
18721890 """
18731891
1874- if set_mode :
1892+ if self . auto_mode :
18751893 self .mode = self .MODE_GYRO_G_A
18761894
18771895 return self .value (0 ), self .value (1 )
@@ -1887,6 +1905,7 @@ class InfraredSensor(Sensor):
18871905
18881906 def __init__ (self , address = None , name_pattern = SYSTEM_DEVICE_NAME_CONVENTION , name_exact = False , ** kwargs ):
18891907 super (InfraredSensor , self ).__init__ (address , name_pattern , name_exact , driver_name = ['lego-ev3-ir' ], ** kwargs )
1908+ self .auto_mode = True
18901909
18911910
18921911 # Proximity
@@ -1905,13 +1924,14 @@ def __init__(self, address=None, name_pattern=SYSTEM_DEVICE_NAME_CONVENTION, nam
19051924 MODE_IR_CAL = 'IR-CAL'
19061925
19071926
1908- def proximity (self , set_mode = True ):
1927+ @property
1928+ def proximity (self ):
19091929 """
19101930 A measurement of the distance between the sensor and the remote,
19111931 as a percentage. 100% is approximately 70cm/27in.
19121932 """
19131933
1914- if set_mode :
1934+ if self . auto_mode :
19151935 self .mode = self .MODE_IR_PROX
19161936
19171937 return self .value (0 )
@@ -1927,6 +1947,7 @@ class SoundSensor(Sensor):
19271947
19281948 def __init__ (self , address = None , name_pattern = SYSTEM_DEVICE_NAME_CONVENTION , name_exact = False , ** kwargs ):
19291949 super (SoundSensor , self ).__init__ (address , name_pattern , name_exact , driver_name = ['lego-nxt-sound' ], ** kwargs )
1950+ self .auto_mode = True
19301951
19311952
19321953 # Sound pressure level. Flat weighting
@@ -1936,24 +1957,26 @@ def __init__(self, address=None, name_pattern=SYSTEM_DEVICE_NAME_CONVENTION, nam
19361957 MODE_DBA = 'DBA'
19371958
19381959
1939- def sound_pressure (self , set_mode = True ):
1960+ @property
1961+ def sound_pressure (self ):
19401962 """
19411963 A measurement of the measured sound pressure level, as a
19421964 percent. Uses a flat weighting.
19431965 """
19441966
1945- if set_mode :
1967+ if self . auto_mode :
19461968 self .mode = self .MODE_DB
19471969
19481970 return self .value (0 )
19491971
1950- def sound_pressure_low (self , set_mode = True ):
1972+ @property
1973+ def sound_pressure_low (self ):
19511974 """
19521975 A measurement of the measured sound pressure level, as a
19531976 percent. Uses A-weighting, which focuses on levels up to 55 dB.
19541977 """
19551978
1956- if set_mode :
1979+ if self . auto_mode :
19571980 self .mode = self .MODE_DBA
19581981
19591982 return self .value (0 )
@@ -1969,6 +1992,7 @@ class LightSensor(Sensor):
19691992
19701993 def __init__ (self , address = None , name_pattern = SYSTEM_DEVICE_NAME_CONVENTION , name_exact = False , ** kwargs ):
19711994 super (LightSensor , self ).__init__ (address , name_pattern , name_exact , driver_name = ['lego-nxt-light' ], ** kwargs )
1995+ self .auto_mode = True
19721996
19731997
19741998 # Reflected light. LED on
@@ -1978,22 +2002,24 @@ def __init__(self, address=None, name_pattern=SYSTEM_DEVICE_NAME_CONVENTION, nam
19782002 MODE_AMBIENT = 'AMBIENT'
19792003
19802004
1981- def reflected_light_intensity (self , set_mode = True ):
2005+ @property
2006+ def reflected_light_intensity (self ):
19822007 """
19832008 A measurement of the reflected light intensity, as a percentage.
19842009 """
19852010
1986- if set_mode :
2011+ if self . auto_mode :
19872012 self .mode = self .MODE_REFLECT
19882013
19892014 return self .value (0 )
19902015
1991- def ambient_light_intensity (self , set_mode = True ):
2016+ @property
2017+ def ambient_light_intensity (self ):
19922018 """
19932019 A measurement of the ambient light intensity, as a percentage.
19942020 """
19952021
1996- if set_mode :
2022+ if self . auto_mode :
19972023 self .mode = self .MODE_AMBIENT
19982024
19992025 return self .value (0 )
0 commit comments