Posts

Showing posts with the label avr

ButtonGizmo

Hey all, As promised, here’s the second update. I would’ve posted this back then, but I needed to sort through some issues beforehand. So without further ado… A couple of weeks ago, I posted about designing a USB-based input device, which would have four buttons, and whenever any of those buttons were pressed, would emit a USB report to the host (PC) specifying which of the buttons was pressed. That was followed up with another post detailing how to configure a V-USB device as a HID. Well, I sorta mashed everything together into a single project I call…*drum rolls* …ButtonGizmo. Let it be known that I’m not known for my astounding naming abilities. Essentially, ButtonGizmo is a HID with eight buttons, which operates as described earlier. While it doesn’t exactly solve a groundbreaking problem, its designed to be a simple starting point with V-USB and HID devices using the same. To this end, I’ve decided to put the hardware design (which is just a schematic – I built it on a stripbo...

V-USB: The HIDden parts…

Image
Hello again, Its been a while. Been a bit busy with work and life generally, but I’m sure you know the feeling. Recently, I talked about getting started with V-USB and Atmel Studio 7 . In that post, I highlighted a strange occurrence I’d observed and a suitable workaround. That said, that was just me testing the waters with V-USB. I hadn’t really worked with it much after that, until earlier on today. I wanted to build a simple HID device which could be used as a custom input gizmo i.e it has four buttons, and every time I pressed a button, it would emit a report specifying which button was pressed. On the host side, an application would constantly poll the device and react as needed. Not exactly rocket science I admit, but still somewhat complex since I’d never done it before. This post tries to explain why. First off, I had to specify (in code) that the device was a HID device. This is typically done by creating/modifying the device descriptor appropriately. Luckily, V-USB has an...