@@ -166,8 +166,10 @@ class Motor(Device):
166166 SYSTEM_CLASS_NAME = 'tacho-motor'
167167 SYSTEM_DEVICE_NAME_CONVENTION = 'motor*'
168168
169- def __init__ (self , port = '' , name = '*' , ** kwargs ):
170- Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , port_name = port , ** kwargs )
169+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
170+ if port is not None :
171+ kwargs ['port_name' ] = port
172+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , ** kwargs )
171173
172174#~autogen
173175#~autogen python_generic-get-set classes.motor>currentClass
@@ -594,6 +596,42 @@ def reset( self, **kwargs ):
594596 self .command = 'reset'
595597
596598
599+ #~autogen
600+ #~autogen python_generic-class classes.largeMotor>currentClass
601+
602+
603+ class LargeMotor (Motor ):
604+
605+ """
606+ EV3 large servo motor
607+ """
608+
609+ SYSTEM_CLASS_NAME = Motor .SYSTEM_CLASS_NAME
610+ SYSTEM_DEVICE_NAME_CONVENTION = Motor .SYSTEM_DEVICE_NAME_CONVENTION
611+
612+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
613+ if port is not None :
614+ kwargs ['port_name' ] = port
615+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , driver_name = ['lego-ev3-l-motor' , ], ** kwargs )
616+
617+ #~autogen
618+ #~autogen python_generic-class classes.mediumMotor>currentClass
619+
620+
621+ class MediumMotor (Motor ):
622+
623+ """
624+ EV3 medium servo motor
625+ """
626+
627+ SYSTEM_CLASS_NAME = Motor .SYSTEM_CLASS_NAME
628+ SYSTEM_DEVICE_NAME_CONVENTION = Motor .SYSTEM_DEVICE_NAME_CONVENTION
629+
630+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
631+ if port is not None :
632+ kwargs ['port_name' ] = port
633+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , driver_name = ['lego-ev3-m-motor' , ], ** kwargs )
634+
597635#~autogen
598636#~autogen python_generic-class classes.dcMotor>currentClass
599637
@@ -609,8 +647,10 @@ class DcMotor(Device):
609647 SYSTEM_CLASS_NAME = 'dc-motor'
610648 SYSTEM_DEVICE_NAME_CONVENTION = 'motor*'
611649
612- def __init__ (self , port = '' , name = '*' , ** kwargs ):
613- Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , port_name = port , ** kwargs )
650+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
651+ if port is not None :
652+ kwargs ['port_name' ] = port
653+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , ** kwargs )
614654
615655#~autogen
616656#~autogen python_generic-get-set classes.dcMotor>currentClass
@@ -811,7 +851,6 @@ def stop( self, **kwargs ):
811851
812852
813853#~autogen
814-
815854#~autogen python_generic-class classes.servoMotor>currentClass
816855
817856
@@ -825,8 +864,10 @@ class ServoMotor(Device):
825864 SYSTEM_CLASS_NAME = 'servo-motor'
826865 SYSTEM_DEVICE_NAME_CONVENTION = 'motor*'
827866
828- def __init__ (self , port = '' , name = '*' , ** kwargs ):
829- Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , port_name = port , ** kwargs )
867+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
868+ if port is not None :
869+ kwargs ['port_name' ] = port
870+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , ** kwargs )
830871
831872#~autogen
832873#~autogen python_generic-get-set classes.servoMotor>currentClass
@@ -1018,8 +1059,10 @@ class Sensor(Device):
10181059 SYSTEM_CLASS_NAME = 'lego-sensor'
10191060 SYSTEM_DEVICE_NAME_CONVENTION = 'sensor*'
10201061
1021- def __init__ (self , port = '' , name = '*' , ** kwargs ):
1022- Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , port_name = port , ** kwargs )
1062+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
1063+ if port is not None :
1064+ kwargs ['port_name' ] = port
1065+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , ** kwargs )
10231066
10241067#~autogen
10251068#~autogen python_generic-get-set classes.sensor>currentClass
@@ -1106,31 +1149,33 @@ def units(self):
11061149
11071150#~autogen
11081151
1109- def value (self , n ):
1152+ def value (self , n = 0 ):
11101153 if True == isinstance ( n , numbers .Integral ):
11111154 n = '{0:d}' .format ( n )
11121155 elif True == isinstance ( n , numbers .Real ):
11131156 n = '{0:.0f}' .format ( n )
11141157
11151158 if True == isinstance ( n , str ):
1116- return self ._device . _get_int_attribute ( 'value' + n , 'value' + n )
1159+ return self .get_attr_int ( 'value' + n )
11171160 else :
11181161 return 0
11191162
11201163#~autogen python_generic-class classes.i2cSensor>currentClass
11211164
11221165
1123- class I2cSensor (Device ):
1166+ class I2cSensor (Sensor ):
11241167
11251168 """
11261169 A generic interface to control I2C-type EV3 sensors.
11271170 """
11281171
1129- SYSTEM_CLASS_NAME = 'lego-sensor'
1130- SYSTEM_DEVICE_NAME_CONVENTION = 'sensor*'
1172+ SYSTEM_CLASS_NAME = Sensor . SYSTEM_CLASS_NAME
1173+ SYSTEM_DEVICE_NAME_CONVENTION = Sensor . SYSTEM_DEVICE_NAME_CONVENTION
11311174
1132- def __init__ (self , port = '' , name = '*' , ** kwargs ):
1133- Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , port_name = port , ** kwargs )
1175+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
1176+ if port is not None :
1177+ kwargs ['port_name' ] = port
1178+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , driver_name = ['nxt-i2c-sensor' , ], ** kwargs )
11341179
11351180#~autogen
11361181#~autogen python_generic-get-set classes.i2cSensor>currentClass
@@ -1163,17 +1208,19 @@ def poll_ms(self, value):
11631208#~autogen python_generic-class classes.colorSensor>currentClass
11641209
11651210
1166- class ColorSensor (Device ):
1211+ class ColorSensor (Sensor ):
11671212
11681213 """
11691214 LEGO EV3 color sensor.
11701215 """
11711216
1172- SYSTEM_CLASS_NAME = 'lego-sensor'
1173- SYSTEM_DEVICE_NAME_CONVENTION = 'sensor*'
1217+ SYSTEM_CLASS_NAME = Sensor . SYSTEM_CLASS_NAME
1218+ SYSTEM_DEVICE_NAME_CONVENTION = Sensor . SYSTEM_DEVICE_NAME_CONVENTION
11741219
1175- def __init__ (self , port = '' , name = '*' , ** kwargs ):
1176- Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , port_name = port , ** kwargs )
1220+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
1221+ if port is not None :
1222+ kwargs ['port_name' ] = port
1223+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , driver_name = ['lego-ev3-color' , ], ** kwargs )
11771224
11781225#~autogen
11791226#~autogen python_generic-property-value classes.colorSensor>currentClass
@@ -1191,17 +1238,19 @@ def __init__(self, port='', name='*', **kwargs ):
11911238#~autogen python_generic-class classes.ultrasonicSensor>currentClass
11921239
11931240
1194- class UltrasonicSensor (Device ):
1241+ class UltrasonicSensor (Sensor ):
11951242
11961243 """
11971244 LEGO EV3 ultrasonic sensor.
11981245 """
11991246
1200- SYSTEM_CLASS_NAME = 'lego-sensor'
1201- SYSTEM_DEVICE_NAME_CONVENTION = 'sensor*'
1247+ SYSTEM_CLASS_NAME = Sensor . SYSTEM_CLASS_NAME
1248+ SYSTEM_DEVICE_NAME_CONVENTION = Sensor . SYSTEM_DEVICE_NAME_CONVENTION
12021249
1203- def __init__ (self , port = '' , name = '*' , ** kwargs ):
1204- Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , port_name = port , ** kwargs )
1250+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
1251+ if port is not None :
1252+ kwargs ['port_name' ] = port
1253+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , driver_name = ['lego-ev3-us' , 'lego-nxt-us' , ], ** kwargs )
12051254
12061255#~autogen
12071256#~autogen python_generic-property-value classes.ultrasonicSensor>currentClass
@@ -1219,17 +1268,19 @@ def __init__(self, port='', name='*', **kwargs ):
12191268#~autogen python_generic-class classes.gyroSensor>currentClass
12201269
12211270
1222- class GyroSensor (Device ):
1271+ class GyroSensor (Sensor ):
12231272
12241273 """
12251274 LEGO EV3 gyro sensor.
12261275 """
12271276
1228- SYSTEM_CLASS_NAME = 'lego-sensor'
1229- SYSTEM_DEVICE_NAME_CONVENTION = 'sensor*'
1277+ SYSTEM_CLASS_NAME = Sensor . SYSTEM_CLASS_NAME
1278+ SYSTEM_DEVICE_NAME_CONVENTION = Sensor . SYSTEM_DEVICE_NAME_CONVENTION
12301279
1231- def __init__ (self , port = '' , name = '*' , ** kwargs ):
1232- Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , port_name = port , ** kwargs )
1280+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
1281+ if port is not None :
1282+ kwargs ['port_name' ] = port
1283+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , driver_name = ['lego-ev3-gyro' , ], ** kwargs )
12331284
12341285#~autogen
12351286#~autogen python_generic-property-value classes.gyroSensor>currentClass
@@ -1247,17 +1298,19 @@ def __init__(self, port='', name='*', **kwargs ):
12471298#~autogen python_generic-class classes.infraredSensor>currentClass
12481299
12491300
1250- class InfraredSensor (Device ):
1301+ class InfraredSensor (Sensor ):
12511302
12521303 """
12531304 LEGO EV3 infrared sensor.
12541305 """
12551306
1256- SYSTEM_CLASS_NAME = 'lego-sensor'
1257- SYSTEM_DEVICE_NAME_CONVENTION = 'sensor*'
1307+ SYSTEM_CLASS_NAME = Sensor . SYSTEM_CLASS_NAME
1308+ SYSTEM_DEVICE_NAME_CONVENTION = Sensor . SYSTEM_DEVICE_NAME_CONVENTION
12581309
1259- def __init__ (self , port = '' , name = '*' , ** kwargs ):
1260- Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , port_name = port , ** kwargs )
1310+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
1311+ if port is not None :
1312+ kwargs ['port_name' ] = port
1313+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , driver_name = ['lego-ev3-ir' , ], ** kwargs )
12611314
12621315#~autogen
12631316#~autogen python_generic-property-value classes.infraredSensor>currentClass
@@ -1277,17 +1330,19 @@ def __init__(self, port='', name='*', **kwargs ):
12771330#~autogen python_generic-class classes.soundSensor>currentClass
12781331
12791332
1280- class SoundSensor (Device ):
1333+ class SoundSensor (Sensor ):
12811334
12821335 """
12831336 LEGO NXT Sound Sensor
12841337 """
12851338
1286- SYSTEM_CLASS_NAME = 'lego-nxt-sound'
1287- SYSTEM_DEVICE_NAME_CONVENTION = 'sensor*'
1339+ SYSTEM_CLASS_NAME = Sensor . SYSTEM_CLASS_NAME
1340+ SYSTEM_DEVICE_NAME_CONVENTION = Sensor . SYSTEM_DEVICE_NAME_CONVENTION
12881341
1289- def __init__ (self , port = '' , name = '*' , ** kwargs ):
1290- Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , port_name = port , ** kwargs )
1342+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
1343+ if port is not None :
1344+ kwargs ['port_name' ] = port
1345+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , driver_name = ['lego-nxt-sound' , ], ** kwargs )
12911346
12921347#~autogen
12931348#~autogen python_generic-property-value classes.soundSensor>currentClass
@@ -1302,17 +1357,19 @@ def __init__(self, port='', name='*', **kwargs ):
13021357#~autogen python_generic-class classes.lightSensor>currentClass
13031358
13041359
1305- class LightSensor (Device ):
1360+ class LightSensor (Sensor ):
13061361
13071362 """
13081363 LEGO NXT Light Sensor
13091364 """
13101365
1311- SYSTEM_CLASS_NAME = 'lego-nxt-light'
1312- SYSTEM_DEVICE_NAME_CONVENTION = 'sensor*'
1366+ SYSTEM_CLASS_NAME = Sensor . SYSTEM_CLASS_NAME
1367+ SYSTEM_DEVICE_NAME_CONVENTION = Sensor . SYSTEM_DEVICE_NAME_CONVENTION
13131368
1314- def __init__ (self , port = '' , name = '*' , ** kwargs ):
1315- Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , port_name = port , ** kwargs )
1369+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
1370+ if port is not None :
1371+ kwargs ['port_name' ] = port
1372+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , driver_name = ['lego-nxt-light' , ], ** kwargs )
13161373
13171374#~autogen
13181375#~autogen python_generic-property-value classes.lightSensor>currentClass
@@ -1323,6 +1380,24 @@ def __init__(self, port='', name='*', **kwargs ):
13231380 'AMBIENT' :'Ambient light. LED off' ,
13241381 }
13251382
1383+ #~autogen
1384+ #~autogen python_generic-class classes.touchSensor>currentClass
1385+
1386+
1387+ class TouchSensor (Sensor ):
1388+
1389+ """
1390+ Touch Sensor
1391+ """
1392+
1393+ SYSTEM_CLASS_NAME = Sensor .SYSTEM_CLASS_NAME
1394+ SYSTEM_DEVICE_NAME_CONVENTION = Sensor .SYSTEM_DEVICE_NAME_CONVENTION
1395+
1396+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
1397+ if port is not None :
1398+ kwargs ['port_name' ] = port
1399+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , driver_name = ['lego-ev3-touch' , 'lego-nxt-touch' , ], ** kwargs )
1400+
13261401#~autogen
13271402#~autogen python_generic-class classes.led>currentClass
13281403
@@ -1336,10 +1411,12 @@ class Led(Device):
13361411 """
13371412
13381413 SYSTEM_CLASS_NAME = 'leds'
1339- SYSTEM_DEVICE_NAME_CONVENTION = ''
1414+ SYSTEM_DEVICE_NAME_CONVENTION = '* '
13401415
1341- def __init__ (self , port = '' , name = '*' , ** kwargs ):
1342- Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , port_name = port , ** kwargs )
1416+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
1417+ if port is not None :
1418+ kwargs ['port_name' ] = port
1419+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , ** kwargs )
13431420
13441421#~autogen
13451422#~autogen python_generic-get-set classes.led>currentClass
@@ -1433,10 +1510,12 @@ class PowerSupply(Device):
14331510 """
14341511
14351512 SYSTEM_CLASS_NAME = 'power_supply'
1436- SYSTEM_DEVICE_NAME_CONVENTION = ''
1513+ SYSTEM_DEVICE_NAME_CONVENTION = '* '
14371514
1438- def __init__ (self , port = '' , name = '*' , ** kwargs ):
1439- Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , port_name = port , ** kwargs )
1515+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
1516+ if port is not None :
1517+ kwargs ['port_name' ] = port
1518+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , ** kwargs )
14401519
14411520#~autogen
14421521#~autogen python_generic-get-set classes.powerSupply>currentClass
@@ -1516,10 +1595,12 @@ class LegoPort(Device):
15161595 """
15171596
15181597 SYSTEM_CLASS_NAME = 'lego_port'
1519- SYSTEM_DEVICE_NAME_CONVENTION = ''
1598+ SYSTEM_DEVICE_NAME_CONVENTION = '* '
15201599
1521- def __init__ (self , port = '' , name = '*' , ** kwargs ):
1522- Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , port_name = port , ** kwargs )
1600+ def __init__ (self , port = None , name = SYSTEM_DEVICE_NAME_CONVENTION , ** kwargs ):
1601+ if port is not None :
1602+ kwargs ['port_name' ] = port
1603+ Device .__init__ ( self , self .SYSTEM_CLASS_NAME , name , ** kwargs )
15231604
15241605#~autogen
15251606#~autogen python_generic-get-set classes.legoPort>currentClass
0 commit comments