Difference between revisions of "Project:Traffic Lights"
(Created page with " == USB Traffic Lights == The traffic lights above Lovelace are currently connected to Babbage via USB. Theyre a USB HID device (Vendor ID 0x03EB, ProductID = 0x2044 - LUFA sta...")
Revision as of 20:43, 19 February 2012
USB Traffic Lights
The traffic lights above Lovelace are currently connected to Babbage via USB. Theyre a USB HID device (Vendor ID 0x03EB, ProductID = 0x2044 - LUFA stack testing vid/pid) that is controlled by a Daemon running on Babbage.
To control them directly you need to send a Set_Report request to the Control Endpoint with the data part being 8 bytes long. The first 3 bytes are uints that represent the 3 lights, the rest of the values can be left as zero. A non-zero value means the light is on
You can also read from the first Interrupt Endpoint to get a report of the current light status.
The daemon running on Babbage (under my account) listens for UDP packets on port 9009. Simply send a 3 character string terminated by carriage return and newline to set the light status, for example:
100\r\n <- green light on 101\r\n <- green and red lights on
This daemon handles the USB stuff for you.
Since I changed the API none of the IRC commands that use the lights work.
There is a doorbot listener on babbage that listens for unknown cards at the door and blinks the Red light 5 times. It Erases the current light state after doing this