Hello again.
Sorry for the delay. I've been quite busy in the last week.
On 05/31/2012 10:00 PM, Clemens Ladisch wrote:
I wrote:
00 F9 xx yy zz -> F0 00 01 60 48 53 53 00 00 0F 09 0x 0x 0y 0y 0z 0z F7
This appears to work fine. But where did you get the leading 00 from? libhss1394 just sends F9 xx yy zz.
13 xx yy zz<- F0 00 01 60 48 53 53 01 03 0x 0x 0y 0y 0z 0z F7 14 xx yy zz<- F0 00 01 60 48 53 53 01 04 0x 0x 0y 0y 0z 0z F7 (0x13 = 0x10 + 3 = kUserTagBase + uUserTag)
I'm not clear on how you arrived at that formula. HSS1394.h shows:
//! Send a user control message via the channel to the target //! node. Returns the number of bytes sent on success, zero on //! failure. uUserTag is valid in the range 0x00 - 0xDF. All other //! tag values will be rejected (0 return). virtual uint SendUserControl(uint8 uUserTag, const uint8 *pUserData, uint uDataBytes) = 0;
It appears to work with arbitrary-length user data strings, though the Stanton docs only specify 3-byte ones at this time.
Sincerely, Sean M. Pappalardo "D.J. Pegasus" Mixxx Developer - Controller Specialist