imagitronics.org


dream it, build it, break it, repeat.

Archive for April 2007

Apr/07

25

Looks Can Be Deceiving

I know, I know. This looks bad. After my last rant about wasting my weekend trying to write USB drivers I took an unexpected hiatus. Not to worry, I haven’t given up. Quite the contrary actually. I haven’t been able to post much because I am taking an intensive writing course this semester and I just don’t feel like blogging after all that writing. To make matters worse, I will be missing two weeks of class to attend a conference in San Diego and my Professors want to see all of my work before I leave.

I haven’t made any progress with the USB drivers though. Last Monday I was working on the drivers when I smelled burning electronics. I picked up the missile launcher and found that it was pouring smoke out of the bottom. Very exciting stuff. Anyways, the missile launcher is out of commission for now. I’ll probably have to order a new one.

Hopefully I’ll have more time to refocus on electronics when I return from the conference.

No tags

Apr/07

15

Failure

I’m very discouraged right now. I tried to get my USB Missile Launcher drivers working all weekend, and I haven’t had any luck. I’ve easily spent 24 hours working on this with absolutely no progress. I’ve tried creating my own native drivers using the Windows Driver Kit. I’ve tried using libusb under both windows and linux. I’ve tried two or three different drivers under linux, and none of them are able to detach my kernel drivers. I tried changing the permissions. I’ve tried using python extensions. I’m completely at wits end. At some point I have to move on to more productive things, I just hate being beaten by a computer… but I’ve read every resource available, done everything by the book, and I can’t do anything. I even took the damn thing apart, found the chipset, and looked on the manufacturers website for development libraries!

I just don’t understand why USB communication is so difficult, I mean hundreds of thousands of USB devices are on the market. Am I really just this stupid? I admit my defeat. Maybe I’ll swap in my own PIC chip and my own firmware so that I can have full control of what’s going on in there.

I feel so disgusted. No links today because I’m pretty peeved.

No tags

Apr/07

15

Rough Day

I spent around 14 hours today trying to get my custom USB Missile Launcher drivers working under WindowsXP. I’m very discouraged right now, but I won’t let it get me down. I’m going to work on something a little more productive tomorrow, but I’ll continue to experiment with this throughout the week.

I broke down and picked up a copy of USB Complete by Jan Axelson. Hopefully the book will widen my eyes.

No tags

Apr/07

14

Extreme Cubicle Warfare

If you’re not familiar with the DreamCheeky USB Missile Launcher then you should be ashamed to call yourself a geek. The USB Missile Launcher is the pinnacle of intra-office warfare. Basically, it’s a simple USB enabled device that launches foam darts at a pretty good clip. I have some ideas for retrofitting the device with an autonomous tracking and firing mechanism. The Windows-based software included with the launcher is absolutely terrible. There are hardware features of the device not even supported in their release software (turning on the horizontal and vertical axis simultaneously, for instance) Open source drivers for the launcher are plentiful for Linux and Mac OS X, but it seems that nobody has released Open Source drivers for Windows. I own two Apple desktop machines, but since I find most of my development time when I’m on the go I’m confined to my Windows laptop.

At first, I planned to port the extremely simple ctlmissile utility to Windows using the libusb-win32 library. Unfortunately, the usb_detach_kernel_driver_np function is Linux-only. I haven’t had any luck detaching the HID drivers from the device to allow libusb to connect to the device.

For round two, I attempted to interface with the device using a Debian distribution running on my laptop through Parallels virtualization software. Unfortunately, Parallels provides a layer of abstraction between the device and the virtual Linux machine, and I was unable to connect to the device.

I started researching native USB communication using Microsoft’s Windows API. This quickly turned into a nightmare. There are literally dozens of USB HID libraries available, each designed for specific chipsets. It would require some serious trial and error to find out if any of them would even work with the DreamCheeky launcher.

Eventually, I stumbled across a USB HID sample application written using Visual C++ and the Windows Driver Kit. The sample program allows me to send raw hexadecimal data, that I retrieved from this site, directly to the launcher. This was my first taste of success, although it came at a cost.

I sent 0×01 to the device, which is the signal that indicates to the device that it should aim the turret upward. Unfortunately, the sample application is not threaded so the user interface locked up during transmission, and remained so while receiving data returned from the device. When the missile launcher had reached it’s Apex, the gears began to grind as it kept attempting to move further. I unplugged the device from the USB device. It was actually smoking from the stress! Fortunately, it’s not ruined. At least now I know that the example code works. Hopefully I can couple the logic from the open source drivers with the sample Windows Driver Kit software.

No tags

Apr/07

13

Busy Beaver

I’ve been incredibly busy this week. This semester I enrolled in a Java programming course and an intensive writing course. To make matters worse, my company is sending me to a two-week conference in San Diego next month, and my professors insist that I submit all of my work prior to departure. All of this can be a bit overwhelming at times, and while it has certainly hampered my ability to blog regularly or spend much time at the workbench, I’ve still find time to work on some software related projects that I’ll talk about later this week.

No tags

Older posts >>

I shop at

Theme Design by devolux.nh2.me

Hosted in the cloud

To top