From 5b5271e98c6d7f0ffea9d6b3fbf2cec43d283d64 Mon Sep 17 00:00:00 2001 From: Tat-Chee Wan (USM) Date: Tue, 1 Mar 2011 09:10:13 +0800 Subject: Imported nxt-python baseline (v2.1.0) --- nxt-python-fantom/nxt/sensor/__init__.py | 50 ++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 nxt-python-fantom/nxt/sensor/__init__.py (limited to 'nxt-python-fantom/nxt/sensor/__init__.py') diff --git a/nxt-python-fantom/nxt/sensor/__init__.py b/nxt-python-fantom/nxt/sensor/__init__.py new file mode 100644 index 0000000..8f2a337 --- /dev/null +++ b/nxt-python-fantom/nxt/sensor/__init__.py @@ -0,0 +1,50 @@ +# nxt.sensor module -- Classes to read LEGO Mindstorms NXT sensors +# Copyright (C) 2006,2007 Douglas P Lau +# Copyright (C) 2009 Marcus Wanner, Paulo Vieira, rhn +# Copyright (C) 2010 Marcus Wanner +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +from .common import * +from .analog import BaseAnalogSensor +from .digital import BaseDigitalSensor, find_class +from .generic import Touch, Light, Sound, Ultrasonic, Color20 +import mindsensors +MSSumoEyes = mindsensors.SumoEyes +MSCompassv2 = mindsensors.Compassv2 +MSDIST = mindsensors.DIST +MSRTC = mindsensors.RTC +MSACCL = mindsensors.ACCL +MSServo = mindsensors.Servo +MSMTRMUX = mindsensors.MTRMUX +MSLineLeader = mindsensors.LineLeader +MSMMX = mindsensors.MMX +MSPS2 = mindsensors.PS2 +MSHID = mindsensors.HID +import hitechnic +HTCompass = hitechnic.Compass +HTAccelerometer = hitechnic.Accelerometer +HTGyro = hitechnic.Gyro +HTColorv2 = hitechnic.Colorv2 +HTEOPD = hitechnic.EOPD +HTIRReceiver = hitechnic.IRReceiver +HTIRSeekerv2 = hitechnic.IRSeekerv2 +HTPrototype = hitechnic.Prototype + + +def get_sensor(brick, port): + """Tries to detect the sensor type and return the correct sensor +object. Does not work for sensors with no identification information (such as +all analog sensors or the MindSensors RTC. + """ + base_sensor = BaseDigitalSensor(brick, port, False) + info = base_sensor.get_sensor_info() + return find_class(info)(brick, port, check_compatible=False) -- cgit v1.2.3