{ "info": { "author": "Ryan B Au", "author_email": "auryan898@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "NXT-Python is a package for controlling a LEGO NXT robot using the \nPython programming language. It can communicate using either USB or \nBluetooth. It is available under the Gnu GPL v3 license. It is based on \nNXT_Python, where releases halted in May 2007.\n\nRequirements:\n\n * Python 2.6 or greater, but not 3.x (http://www.python.org)\n And at least one comm library:\n * Bluetooth communications:\n Linux/Windows: PyBluez (http://code.google.com/p/pybluez/)\n (package python-bluez in deb-based linuxes)\n Mac: LightBlue (http://lightblue.sourceforge.net/)\n * USB communications:\n PyUSB (http://sourceforge.net/projects/pyusb/)\n * Fantom communications (tested on Mac OSX):\n Pyfantom (http://pyfantom.ni.fr.eu.org/)\n\nInstallation (see http://code.google.com/p/nxt-python/wiki/Installation):\n\n * Untar/unzip source package.\n * In package directory, run \"python setup.py install\" (as root), or if\n under windows, double-click install.bat.\n * To use USB on Linux as non-superuser, at a root terminal type:\n groupadd lego\n usermod -a -G lego [username]\n echo 'SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0694\", GROUP=\"lego\", MODE=\"0660\"' > /etc/udev/rules.d/70-lego.rules\n\nGetting Started:\n\n Take a look at the examples directory. Feel free to copy that code \ninto your scripts and don't be afraid to experiment! If you are having \ntrouble with something, you may find the solution in the docstrings (for \nexample, help('nxt.sensor.Ultrasonic')) or even in the source code \n(especially for digital sensors).\n\nNotes/FAQ:\n (I have tried to put the most important stuff first, but it would be a good\n idea to read the whole section. In any case, read it all the way through\n before asking for help. Thanks!)\n\n -=-=-About v2-=-=-\n This version is part of the 2.x series of releases. Programs \ndesigned for NXT_Python or for the 1.x series of nxt-python will not \nwork with this version. If you are trying to get an old program to work, \nit most likely needs a 1.x series release, which can be downloaded from \nthe nxt-python downloads page at googlecode. New projects should use a \n2.x series release (hint: this is one!) due to the new features and API \nimprovements. Converting old projects is somewhat difficult and not \nofficially supported, though as always you're welcome to ask for help.\n -=-=-Problems and Their Solutions-=-=-\n Support for a number of sensors has not been tested at all, due to \nlack of hardware. I have started a project to test this code, but the \ngoing is slow and I still can't test everything. If you have a problem \nwith a digital sensor, see the troubleshooting guide below and don't \nforget to report your trouble!\n The Synchronized Motor support has not been extensively tested for \naccuracy. It seems to mostly work well but the accuracy of the braking \nfunction and the closeness of the two motors to each other have not been \ngiven a formal scientific assessment.\n NXT-Python has not been tested and may not work with custom nxt \nfirmware versions (if you don't know what that means, you don't need to \nworry about it). However, if the firmware supports the standard LEGO \nUSB/BT communications protocol, everything should more or less work. \nNXT-Python has been tested with bricks using LEGO firmware version up to \n1.29 and is compatible with protocol version 1.124 (used by most if not \nall of the official firmwares). It has also been reported working with \nLeJOS.\n -=-=-If you co'd the SVN...-=-=-\n The arduino directory of an svn checkout (not included with release \npackages) contains a digital sensor unit test system called nxtduemu. It \nis intended for developers and advanced users who are looking to \nexperiment with sensors and the digital sensor framework and classes. \nSee Arduino/README for more info and usage instructions.\n\nSpecific Stability Status:\n nxt.brick, nxt.telegram, nxt.direct, and nxt.system:\n Have been redone somewhat as of v2.2.0 but appear to work well.\n USB Communication System (nxt.usbsock)\n On Linux: Very stable and extensively tested.\n On Windows: Somewhat tested; seems to work pretty well.\n On Mac: Some users having problems.\n BlueTooth Communication System (nxt.bluesock, nxt.lightblueglue)\n On Linux: Stable; well tested with both pybluez and lightblue.\n On Windows: Stable; working last I checked.\n On Mac: Some users having problems.\n Internet Communications System (nxt.ipsock)\n Seems to work for the most part. Occasionally has hiccups.\n Fantom Communications System (nxt.fantomsock)\n On Linux: N/A (Fantom driver not supported)\n On Windows: Not tested.\n On Mac: Tested, USB interface working, Bluetooth not working.\n nxt.locator:\n Tested working with revamped logic and new code in v2.2.0.\n nxt.motor:\n Stable except for Synchronized Motor support, which is experimental at\n this stage and has not been extensively tested.\n nxt.sensor:\n Code not specific to a particular sensor is well-tested and working\n great. More than half of the sensor classes were last reported working;\n the rest have not to my knowlege been tested and were written blindly\n from the manuacturers' specifications.\n nxt.error:\n If there's a problem with this one, I'm gonna cry. \n\nContact:\n\n NXT-Python's Head Developer:\n Marcus Wanner (marcus@wanners.net)\n The support and development mailing list:\n http://groups.google.com/group/nxt-python\n Report bugs and suggest new features at:\n http://code.google.com/p/nxt-python/issues/list\n\nThanks to:\n\n Doug Lau for writing NXT_Python, our starting point.\n rhn for creating what would become v2, making lots of smaller changes, and\n reviewing tons of code.\n mindsensors.com (esp. Ryan Kneip) for helping out with the code for a lot of\n their sensors, expanding the sensors covered by the type checking\n database, and providing hardware for testing.\n HiTechnic for providing identification information for their sensors. I note\n that they have now included this information in their website. ;)\n Linus Atorf, Samuel Leeman-Munk, melducky, Simon Levy, Steve Castellotti,\n Paulo Vieira, zonedabone, migpics, TC Wan, jerradgenson, henryacev,\n Paul Hollensen, and anyone else I forgot for various fixes and\n additions.\n All our users for their interest and support!\n\n\n\nTroubleshooting Digital Sensors (don't read unless you have problems):\nIf you are getting errors, strange behavor, or incorrect values from a digital\nsensor, chances are that there is a bug in our code. Follow these instructions\nto try and find out what's wrong:\n 1. Test the sensor with a different access library to make sure it's working\nright.\n 2. Check your code again. There are some weird \"features\" in the interfaces\nof some of the sensors; make sure you are doing things right.\n 3. Locate the sensor class's source code in nxt-python. It should be\nsomewhere in nxt/sensor/.py, under the heading \"class SensorName(\nBaseDigitalSensor):\". Read any comments for instructions on certain things.\n\nIf you get to here and are still having a problem, you can either go ahead and\nreport it now or continue to try and find and fix the problem and then report\nit (or not report it at all, but that wouldn't be very nice...).\nPython experience required beyond this point.\n\n 4. Get the sensor's specifications from the manufacturer's website. Make\nsure it includes a table of I2C registers and instructions for using them.\n 5. Pick one of the following depending on what the problem is:\n####Errors:\n Cause: We screwed up.\n Solution: Check the line mentioned in the error for incorrect syntax or\nother problem. A bit of python experience and maybe some googling is needed\nhere.\n####Strange Behavior (in sensors with modes/commands):\n Cause: nxt-python's command enumerations are incorrect.\n Solution: Verify them using the sensor's specs, and correct any problems.\n See \"Incorrect Values\" for more.\n####Incorrect Values:\n Cause: nxt-python is processing the value wrong.\n Solution: Check what goes on in the sampling method against what the spec\nsays should be done. If there is an inconsistency, try to fix it.\n Cause: nxt-python has an incorrect register number or type in I2C_ADDRESS.\n Solution: Verify the address (the number) and the string (the struct format\nstring). To verify the address, use the spec. To verify the struct format, you\nwill need to read this: or have experience with struct.\nRead the spec for the sensor to determine how the given value should be read,\nthen start at the sample method and read through it, checking for problems as\nyou go. If it seems right, go back to the I2C_ADDRESS chunk (near the top of the\nclass) and make sure that the correct struct format string is being used. The\nmost common problem here is values that are off by plus or minus 128 or 32768\nbecause of an incorrect signed/unsigned setting. This can be fixed by switching\nthe case (as in upper or lower) of the letter in the string. Other problems\ncould include the wrong size (B, H, or L) being used, or, in the two latter\nones, the wrong byte order (< or >). As always, common sense required.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/auryan898/nxt-python2", "keywords": "", "license": "Gnu GPL v3", "maintainer": "", "maintainer_email": "", "name": "nxt-python2", "package_url": "https://pypi.org/project/nxt-python2/", "platform": "", "project_url": "https://pypi.org/project/nxt-python2/", "project_urls": { "Homepage": "https://github.com/auryan898/nxt-python2" }, "release_url": "https://pypi.org/project/nxt-python2/2.2.2/", "requires_dist": null, "requires_python": "", "summary": "LEGO Mindstorms NXT Control Package", "version": "2.2.2" }, "last_serial": 3358977, "releases": { "2.2.2": [ { "comment_text": "", "digests": { "md5": "21d8c0c27a247c1e3a27b2e9fcbb36b6", "sha256": "decf5a38d5247981890f19f22b00ddec555d03687ee20a536fcc7f5e5d34be93" }, "downloads": -1, "filename": "nxt-python2-2.2.2.zip", "has_sig": false, "md5_digest": "21d8c0c27a247c1e3a27b2e9fcbb36b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78231, "upload_time": "2017-11-23T17:26:41", "url": "https://files.pythonhosted.org/packages/56/58/c46f16a02b2aa4abba45b9be0b04a3265dfb3952de942138d31d13f825b6/nxt-python2-2.2.2.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "21d8c0c27a247c1e3a27b2e9fcbb36b6", "sha256": "decf5a38d5247981890f19f22b00ddec555d03687ee20a536fcc7f5e5d34be93" }, "downloads": -1, "filename": "nxt-python2-2.2.2.zip", "has_sig": false, "md5_digest": "21d8c0c27a247c1e3a27b2e9fcbb36b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78231, "upload_time": "2017-11-23T17:26:41", "url": "https://files.pythonhosted.org/packages/56/58/c46f16a02b2aa4abba45b9be0b04a3265dfb3952de942138d31d13f825b6/nxt-python2-2.2.2.zip" } ] }