RE: Mindstorms USB connection and memory
"Fred Mullins" <[email protected]> Wed, 20 Dec 2006 16:36:39 -0500
| Newsgroups | gmane.comp.hardware.lego.robotics |
|---|---|
| Message-ID | <[email protected]> |
There is a lot of "not quite standard" to existing USB capable products. Some things like digital cameras and thumb-drives get along fine with current operating systems, but most of them have their own drivers available to implement extra features. There are a number of things you might buy and install on a computer with 4 or more USB ports which will, upon installing the extra driver, pretty much eliminate anything but that special device from your system until you reboot. G R U M B L E ! Usually some industrial communications adapter ... The master/slave relationship is partially hardware and partially software. I believe that better software could enable software-configurable hardware, trivial hardware changes, so that two devices might normally both be "slave" but could, in the absence of any connected master, check to see if there was an anticipated partner-resource with a modem-like negotiation-session. This is simpler if it is well directed from "outside-the-box." ________________________________________________________________________ _________________ SEE http://www.usb.org/developers/docs Open up or download the standard from the link provided there. The status of power on the slave's interface is key to understanding whether a host is present. The protocol the slave must follow is clearly specified. The slave is responsible for recognizing "connection" and both supplying power to the pull-up resistor while managing it's own current demand from the bus. The slave does not otherwise provide power to the bus on it's "up-stream" port. The master, on the other hand, does provide power to the bus and monitor current-demand on the bus. Each unit connected is only allowed 1-unit current-demand until addressed (polled) by the host. ________________________________________________________________________ ___________________ If the slave is not connected to a master then it should be able to power-up the port and see if any slave is connected to it. ________________________________________________________________________ ___________________ So ... If the NXT (or some other CRAZY device) with USB capability, finding it had no master-connection, might power-up and poll the port to see if it had any slave connections that it could interrogate and identify ... Cycle power before you actually hook it up to your computer again or better let the master-configuration (Host-Configuration) terminate with either the user-program that invoked it or a loss-of-connection scenario. This might be a user-program-directed function rather than a default-bootware-supported function. The kernel would not use the FLASH-drive as a default-slave-device but the executing user-program could request the hardware-evaluation and attempt to establish hardware and software control and use the resource if successful until either the connection or the user-program terminated. There might be a short program or command to load a program from the FLASH drive but still not something that comes on-line at power-up or stays after the function which authorized the connection has completed and terminated, whether properly or just timed-out. If we run around that loop long enough banging things into shape it might boil down to a manageable set of fuzzy conditions with minimal extra hardware or software components required of the existing nxt as modifications. Many things required are already there. We need a detecter with a processor-input, a switch and some supervirsory-logic. The standard strongly suggests that the sensor with enough "sense" to be useful IS ALREADY THERE. We may or may not need to "closely" monitor current we are sourcing to the USB port. We do not expect to forget and try to connect to some unknown number of USB-Devices through a hub but it might be nice to be able to fuss and shut it down if someone does that to our poor nxt ... There might need to be some rubix-cube like adjustments to some of the existing software-pieces to horn this in ... We might need to add a little piece to lots of little routines or maybe just open up a few of them a little. It just depends upon how much you want it and if we can get enough information about the nxt hardware and software that needs to be "adjusted". -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Steve Hassenplug Sent: Tuesday, December 19, 2006 10:53 PM To: [email protected] Subject: Re: Mindstorms USB connection and memory > Mindstorms NXT experts, > > Okay, so I am working with my NXT and it occurs to me that the brick > has a USB connection. USB connections are bidirectional meaning that > information can go both ways. > > Skip ahead to me wanting to embed a USB memory key into a LEGO brick > like so many others have done and a thought occurs to me. Maybe a USB > key could be used to store more program on the USB key (thumb drive). > > Does anyone know if a program could be stored on a USB Key and then > connected to the NXT brick and the program run from the memory on the > USB Key. > > Or am I crazy? Yes, you're crazy. Actually, it's been suggested many times. However, it doesn't quite work that way. With USB, there's a master device, and a slave device. The thumb drive is a slave device. The NXT is a slave device. You can't connect a thumb drive to an NXT, just like you can't connect two thumb drives together. A thumb drive could not request data from another drive. And, the NXT could not request data from a thumb drive. This is a hardware issue, so you can't get around it with new firmware. Sorry Steve This electronic message, including any attachments, contains information which may be confidential or privileged and is intended for the use of the individuals and entities listed above as recipients. If you are not an intended recipient or have reason to believe that you received this electronic transmission in error, then any disclosure, copying, distribution or use of any of the contents of this message, including any attachments, is prohibited. If you are not an intended recipient or have reason to believe you received this transmission in error, please notify the sender by reply email and delete the message and any attachments, without retaining any copies. The sender of this message is not waiving the confidential or legally privileged nature of any of its contents as a result of any mistransmission hereof.