Dream Cheeky Usb Dancing Robot Driver

  
Dream Cheeky Usb Dancing Robot Driver Average ratng: 6,5/10 1787votes

README.md RETALIATION - A Jenkins 'Extreme Feedback' Contraption Status boards are for ‘project managers’! Retaliate to a broken build with a barrage of foam missiles. Summary Retaliation is a build monitor that automatically coordinates a foam missile counter-attack against the developer who 'breaks the build'. It does this by playing a pre-programmed control sequence to a USB Foam Missile Launcher to target the offending code monkey.

Connecting the Dream Cheeky Thunder Missile Launcher to Windows 8. The Dream Cheeky Thunder Missile Launcher is a. Technique I demonstrated in my robot arm.

In Detail At a deeper level Retaliation is more than just a 'simple python script'. It's a radical rethink into how to manage software development teams and the software development life cycle. It works on a deep psychological level to offer productivity improvements unseen in all those other 'extreme programming' things external consultants speak about.

The primal threat of mutually assured destruction lurking in every coder's psyche ensures that even your sloppiest developers will never forget to 'checkin that missing file' again! Testimonials Retaliation brought us the productivity improvement pair-programming promised but could never deliver! We've seen a 13.37% decrease in build breakage since its implementation. Will, Chief Code Hacker Honestly, would you work in a dev team with a Lava Lamp build notifier? Nyan Cat mouse mats? Real coders work under the threat of Retaliation! Matt, Coding Machine Does what it says on the box.

Dream Cheeky Usb Dancing Robot Driver

I've seen improvements in my team and we haven't even installed it yet! Just the sheer threat has kicked my team's coding into line. Tom, Head Code Captain You can see Retaliation in action. How to Use • Mount your in a central and fixed location. • Download the script onto the system connected to your missile launcher. • Modify your COMMAND_SETS in the retaliation.py script to define your targeting commands for each one of your build-braking coders (their user ID as listed in Jenkins).

Dream Cheeky Usb Dancing Robot Driver

A command set is an array of move and fire commands. It is recommend to start each command set with a 'zero' command.

This parks the launcher in a known position (bottom-left). You can then use 'up' and 'right' followed by a time (in milliseconds) to position your fire. Iwork 08 Download Dmg Photo.

You can test a set by calling retaliation.py with the target name. E.g.: python retaliation.py '[developer's user name]' Trial and error is the best approach. Consider doing this secretly after hours for best results! • Setup the Jenkins. Define a UDP endpoint on port 22222 pointing to the system hosting retaliation.py. Tip: Make sure your firewall is not blocking UDP on this port.

• Start listening for failed build events by running the command: python retaliation.py stalk (Consider setting this up as a boot/startup script. On Windows start with pythonw.exe to keep it running hidden in the background.) • Wait for DEFCON 1 - Let the war games begin! Requirements: • A. It may work with other models but I've only tested with this one. • Python 2.6+ • Python PyUSB Support (on Mac use brew to 'brew install libusb') • Should work on Windows, Mac and Linux Thanks to the dev team at (working on print management software) for 'coping a few in the head' during testing!

Tips • Carefully select the mounting location. Pick a central location in your office space. Endeavor to maximize angular separation between targets. This will reduce the likelihood of friendly fire incidents.

But then again this is comes with the territory and is all part of the fun! • Consider sticking down the launcher using double-sided tape to lock its position. This reduces the chance of someone using a 'physical hack' to disrupt the coordinate targeting system.

• If your build breaking perpetrator is at point-blank range, for health and safety reasons we suggest targeting their keyboard or monitor rather than their head. • If you have a wide area to cover, consider multiple missile launches (e.g. Cluster support!).

Set the script up on multiple machines and configure multiple endpoint notifications in Jenkins. • To get this working on Windows, you'll need to install and. This can be a little tricky but if you've mastered CI build scripts then this should be easy! • If your dev team is Down Under and you're finding Retaliation is loosing its effect, try dipping each missile in some for some added punch:-) News • Great to see Retaliation mashed up with the. It's also got a metion in the as the 4th best thing to do with the Pi! Future • Should we also make a version compatible with Hudson?:-) Other Uses retaliation.py also doubles as a command-line scripting API for the Dream Cheeky USB Missile Launcher. You can invoke it to control the device from a script or command-line as follows: retaliation.py reset retaliation.py right 3000 retaliation.py up 700 retaliation.py fire 1 If you do come up with some other cool uses or ideas for retaliation, please share your story!

USB Missile Launcher The following tutorial illustrates how a to translate values from your PC Joystick to control a USB Missile Launcher and fire at objects that you see from its point of view. If you are impatient you can skip to the last page of this tutorial and! The USB Missile Launcher used in this tutorial is sold by and is available from serveral retailers like for around $30.00. We used an inexpensive WebCam that you can get for around $15.00 for the targeting video view.

Held together by elastic bands (yes, very sophisticated construction here!) the system comes together for under $50.00 with about 5 minutes of construction time. And hours of fun!

The goal of this project was to use a PC based joystick to control the Launcher whilst looking at the video camera stream on the PC. This platform would allow for distance based firing without needing to be within the vicinity of the Launcher. In order to connect the software pieces together we used three RoboRealm modules. • - provides access to the joystick values • - used to scale the joystick values to Launcher control values • - provides the interface to the Dream Cheeky USB Missile Launcher The first step is to map the joystick values to RoboRealm variables.

Joystick Mapping Below we see the RoboRealm Joystick mapping interface with the appropriate values mapped to RoboRealm variables. The interface shows all the elements that can be mapped into RoboRealm but we are only interested in left, right, up, down and fire. If you move your Joystick around and press the fire and other buttons you should see the appropriate values and indicators change in the interface. Note that we are using a Logitech Joystick for this project. As you can see from the image we have assigned the joystick X coordinates to a variable called 'joy_x', Y to 'joy_y' and the fire button to the variable 'fire'. The X values of the joystick vary from -1000 to 1000 with -1000 being extreme left and 1000 being extreme right.

Likewise with the Y coordinate but for up and down. The 'fire' button will be a 0 (false) unless it is pressed in which case it becomes a 1 (true). Fantasy Grounds 2 License Key.

The issue now is how to map those values into values that the USB Missile Launcher understands. The Launcher has uses the following command values that are sent over USB to the device. 0 = stop 1 = up 2 = down 4 = left 8 = right 16 = fire These are bit values meaning that if you want to move up and to the left you would send a 5 to the Launcher. Below is the module interface for the Launcher. Note the one variable field that we can use to tell the Launcher module which variable will contain the value to send to the Launcher. For now we don't have such a variable since we have to create one using the values from the joystick.

Note that you can immediately use the manual buttons to send commands to the Launcher to test that everything is connected and has power. To provide this mapping of joystick domain to the launcher domain we use a bit of VBScript. VBScript Program The VBScript module is used to run a small conversion program that creates a single variable from the values received from the PC Joystick.

The following is the top part of the VBScript module interface showing part of the code within a text box (you can alternatively use the filename to specify a file on your filesystem). The VBScript program is as follows. ' set the initial move to nothing move = 0 ' if the joystick is to the right assign bit 2 if GetVariable( 'joy_x' ) 200 then move = 8 end if ' now add in the y coordinate by ORing the ' value with the appropriate bits if GetVariable( 'joy_y' ) >200 then move = move OR 1 elseif GetVariable( 'joy_y' ).