@@ -1653,13 +1653,14 @@ def __init__(self, address=None, name_pattern=SYSTEM_DEVICE_NAME_CONVENTION, nam
16531653 MODE_TOUCH = 'TOUCH'
16541654
16551655
1656- def is_pressed (self ):
1656+ def is_pressed (self , set_mode = True ):
16571657 """
16581658 A boolean indicating whether the current touch sensor is being
16591659 pressed.
16601660 """
16611661
1662- self .mode = self .MODE_TOUCH
1662+ if set_mode :
1663+ self .mode = self .MODE_TOUCH
16631664
16641665 return self .value (0 )
16651666
@@ -1692,25 +1693,27 @@ def __init__(self, address=None, name_pattern=SYSTEM_DEVICE_NAME_CONVENTION, nam
16921693 MODE_RGB_RAW = 'RGB-RAW'
16931694
16941695
1695- def reflected_light_intensity (self ):
1696+ def reflected_light_intensity (self , set_mode = True ):
16961697 """
16971698 Reflected light intensity as a percentage. Light on sensor is red.
16981699 """
16991700
1700- self .mode = self .MODE_COL_REFLECT
1701+ if set_mode :
1702+ self .mode = self .MODE_COL_REFLECT
17011703
17021704 return self .value (0 )
17031705
1704- def ambient_light_intensity (self ):
1706+ def ambient_light_intensity (self , set_mode = True ):
17051707 """
17061708 Ambient light intensity. Light on sensor is dimly lit blue.
17071709 """
17081710
1709- self .mode = self .MODE_COL_AMBIENT
1711+ if set_mode :
1712+ self .mode = self .MODE_COL_AMBIENT
17101713
17111714 return self .value (0 )
17121715
1713- def color (self ):
1716+ def color (self , set_mode = True ):
17141717 """
17151718 Color detected by the sensor, categorized by overall value.
17161719 - 0: No color
@@ -1723,34 +1726,38 @@ def color(self):
17231726 - 7: Brown
17241727 """
17251728
1726- self .mode = self .MODE_COL_COLOR
1729+ if set_mode :
1730+ self .mode = self .MODE_COL_COLOR
17271731
17281732 return self .value (0 )
17291733
1730- def red (self ):
1734+ def red (self , set_mode = True ):
17311735 """
17321736 Red component of the detected color, in the range 0-1020.
17331737 """
17341738
1735- self .mode = self .MODE_RGB_RAW
1739+ if set_mode :
1740+ self .mode = self .MODE_RGB_RAW
17361741
17371742 return self .value (0 )
17381743
1739- def green (self ):
1744+ def green (self , set_mode = True ):
17401745 """
17411746 Green component of the detected color, in the range 0-1020.
17421747 """
17431748
1744- self .mode = self .MODE_RGB_RAW
1749+ if set_mode :
1750+ self .mode = self .MODE_RGB_RAW
17451751
17461752 return self .value (1 )
17471753
1748- def blue (self ):
1754+ def blue (self , set_mode = True ):
17491755 """
17501756 Blue component of the detected color, in the range 0-1020.
17511757 """
17521758
1753- self .mode = self .MODE_RGB_RAW
1759+ if set_mode :
1760+ self .mode = self .MODE_RGB_RAW
17541761
17551762 return self .value (2 )
17561763
@@ -1783,33 +1790,36 @@ def __init__(self, address=None, name_pattern=SYSTEM_DEVICE_NAME_CONVENTION, nam
17831790 MODE_US_SI_IN = 'US-SI-IN'
17841791
17851792
1786- def distance_centimeters (self ):
1793+ def distance_centimeters (self , set_mode = True ):
17871794 """
17881795 Measurement of the distance detected by the sensor,
17891796 in centimeters.
17901797 """
17911798
1792- self .mode = self .MODE_US_DIST_CM
1799+ if set_mode :
1800+ self .mode = self .MODE_US_DIST_CM
17931801
17941802 return self .value (0 )
17951803
1796- def distance_inches (self ):
1804+ def distance_inches (self , set_mode = True ):
17971805 """
17981806 Measurement of the distance detected by the sensor,
17991807 in inches.
18001808 """
18011809
1802- self .mode = self .MODE_US_DIST_IN
1810+ if set_mode :
1811+ self .mode = self .MODE_US_DIST_IN
18031812
18041813 return self .value (0 )
18051814
1806- def other_sensor_present (self ):
1815+ def other_sensor_present (self , set_mode = True ):
18071816 """
18081817 Value indicating whether another ultrasonic sensor could
18091818 be heard nearby.
18101819 """
18111820
1812- self .mode = self .MODE_US_LISTEN
1821+ if set_mode :
1822+ self .mode = self .MODE_US_LISTEN
18131823
18141824 return self .value (0 )
18151825
@@ -1842,31 +1852,34 @@ def __init__(self, address=None, name_pattern=SYSTEM_DEVICE_NAME_CONVENTION, nam
18421852 MODE_GYRO_CAL = 'GYRO-CAL'
18431853
18441854
1845- def angle (self ):
1855+ def angle (self , set_mode = True ):
18461856 """
18471857 The number of degrees that the sensor has been rotated
18481858 since it was put into this mode.
18491859 """
18501860
1851- self .mode = self .MODE_GYRO_ANG
1861+ if set_mode :
1862+ self .mode = self .MODE_GYRO_ANG
18521863
18531864 return self .value (0 )
18541865
1855- def rate (self ):
1866+ def rate (self , set_mode = True ):
18561867 """
18571868 The rate at which the sensor is rotating, in degrees/second.
18581869 """
18591870
1860- self .mode = self .MODE_GYRO_RATE
1871+ if set_mode :
1872+ self .mode = self .MODE_GYRO_RATE
18611873
18621874 return self .value (0 )
18631875
1864- def rate_and_angle (self ):
1876+ def rate_and_angle (self , set_mode = True ):
18651877 """
18661878 Angle (degrees) and Rotational Speed (degrees/second).
18671879 """
18681880
1869- self .mode = self .MODE_GYRO_G_A
1881+ if set_mode :
1882+ self .mode = self .MODE_GYRO_G_A
18701883
18711884 return self .value (0 ), self .value (1 )
18721885
@@ -1899,13 +1912,14 @@ def __init__(self, address=None, name_pattern=SYSTEM_DEVICE_NAME_CONVENTION, nam
18991912 MODE_IR_CAL = 'IR-CAL'
19001913
19011914
1902- def proximity (self ):
1915+ def proximity (self , set_mode = True ):
19031916 """
19041917 A measurement of the distance between the sensor and the remote,
19051918 as a percentage. 100% is approximately 70cm/27in.
19061919 """
19071920
1908- self .mode = self .MODE_IR_PROX
1921+ if set_mode :
1922+ self .mode = self .MODE_IR_PROX
19091923
19101924 return self .value (0 )
19111925
@@ -1929,23 +1943,25 @@ def __init__(self, address=None, name_pattern=SYSTEM_DEVICE_NAME_CONVENTION, nam
19291943 MODE_DBA = 'DBA'
19301944
19311945
1932- def sound_pressure (self ):
1946+ def sound_pressure (self , set_mode = True ):
19331947 """
19341948 A measurement of the measured sound pressure level, as a
19351949 percent. Uses a flat weighting.
19361950 """
19371951
1938- self .mode = self .MODE_DB
1952+ if set_mode :
1953+ self .mode = self .MODE_DB
19391954
19401955 return self .value (0 )
19411956
1942- def sound_pressure_low (self ):
1957+ def sound_pressure_low (self , set_mode = True ):
19431958 """
19441959 A measurement of the measured sound pressure level, as a
19451960 percent. Uses A-weighting, which focuses on levels up to 55 dB.
19461961 """
19471962
1948- self .mode = self .MODE_DBA
1963+ if set_mode :
1964+ self .mode = self .MODE_DBA
19491965
19501966 return self .value (0 )
19511967
@@ -1969,21 +1985,23 @@ def __init__(self, address=None, name_pattern=SYSTEM_DEVICE_NAME_CONVENTION, nam
19691985 MODE_AMBIENT = 'AMBIENT'
19701986
19711987
1972- def reflected_light_intensity (self ):
1988+ def reflected_light_intensity (self , set_mode = True ):
19731989 """
19741990 A measurement of the reflected light intensity, as a percentage.
19751991 """
19761992
1977- self .mode = self .MODE_REFLECT
1993+ if set_mode :
1994+ self .mode = self .MODE_REFLECT
19781995
19791996 return self .value (0 )
19801997
1981- def ambient_light_intensity (self ):
1998+ def ambient_light_intensity (self , set_mode = True ):
19821999 """
19832000 A measurement of the ambient light intensity, as a percentage.
19842001 """
19852002
1986- self .mode = self .MODE_AMBIENT
2003+ if set_mode :
2004+ self .mode = self .MODE_AMBIENT
19872005
19882006 return self .value (0 )
19892007
0 commit comments