puredata, hidin/hidio, and the ocz nia
I confess my style of solving problems usually involves aligning my various faculties into a brute-force attack toward the solution rather than taking more sensible steps like planning ahead and and actually becoming a coder of virtue. With that off my chest, here is a problem I am trying to solve in pd:
My goal is to gain access to the channels encoded into the data stream and visualize them so I may properly interpret and predict them for translation into MIDI data. doy.
With the current NIA oem application, I really only have access to the qwerty commands it can output, as hooking the joystick into non-game apps has a few inconvenient hoops to jump through, plus I'd rather completely avoid the app. There are some other user submitted apps available, such as one which translates the beta/theta/etc into midi, but it currently lacks some of the other triggers, and is very cpu intensive.
Here is a screenshot of the nia sending data to pd using the hidin object (win), which would be the hidio object under mac/linux.
1: 24bit value that hangs around the middle (varies to min and max when touched/attached to head)
2: outputs 48440 whenever i enable the nia
3: fluctuates between 977 and 978 at varying interval
4: appears to be a 16bit clock
5: outputs 3,4, or 5 at varying interval
Information pd knows about the device:
hidin: ****** HID device 5 ******
hidin: ** usage page: FF00
hidin: ** input report byte length: 56
hidin: ** output report byte length: 9
hidin: ** feature report byte length: 2
hidin: ** number of link collection nodes: 1
hidin: ** number of input button caps: 0
hidin: ** number of inputValue caps: 5
hidin: ** number of inputData indices: 5
hidin: ** number of output button caps: 0
hidin: ** number of output value caps: 1
hidin: ** number of output data indices: 1
hidin: ** number of feature button caps: 0
hidin: ** number of feature value caps: 1
hidin: ** number of feature data indices: 1
Topic in the nia forum about how to analyze the data it outputs.
I suspect my next attempt at exploding the stream will involve figuring out if, how, and at what interval(s) the clock is synced with the other values in the stream.
more to come.