Page 1 of 1

IP Control of Integra Receiver?

Posted: Tue Apr 26, 2011 5:37 pm
by bogart
All,

I am trying to do IP control of my Integra 7.8 Receiver, and using Hercules HW, I am able to communicate with it - send commands, and receive feedback. Sweet!

The question is - how should I integrate this into MLServer? I don't need a two-way solution, but I would really like to use the TCP control if we can.

Thanks,
Eric

Re: IP Control of Integra Receiver?

Posted: Tue Apr 26, 2011 6:58 pm
by CinemarDave
You should be able to use the MLTCPSend plugin for your one-way control. I'd love to get a copy of the Integra protocol if you would not mind sending it to me.

Re: IP Control of Integra Receiver?

Posted: Wed Apr 27, 2011 11:12 am
by bogart
Dave - PM'd the specs your way. Happy to talk offline if you're interested in more detail.

Re: IP Control of Integra Receiver?

Posted: Thu Apr 28, 2011 5:39 pm
by wnl
I have an Integra 8.9. I hooked it up to ML Server with a serial connection and used MLRS232Send to set up the commands. It's only one way but that's all I need. I had to use all hex for the commands, which required a bit of hand translation, but I just created a macro for each of the commands and use them wherever I need them. Only had to worry about the hex once.

Re: IP Control of Integra Receiver?

Posted: Fri Apr 29, 2011 8:00 pm
by bogart
Interesting! I actually had previously controlled this receiver via serial, using MLGenericDevice. With that method, no hex was needed - I could send the ASCII commands directly. Did you create a helper spreadsheet to calculate the header information, or did you do all the figuring by hand? Just looking for a potential steal and re-apply opportunity!

Re: IP Control of Integra Receiver?

Posted: Sat Apr 30, 2011 8:34 pm
by wnl
It's been awhile since I wrote those macros, but I think I had to resort to using hex because all the serial commands start with a !, and that has special meaning in an ML macro. The serial protocol isn't as involved as the one for TCP. There's no header, just command strings like !1PWR01 or !1SLI00 or !1AMT01. I just did the conversion to hex by hand, but I've been using computers since the 70s so I'm no stranger to ascii, binary, octal and hex.

The TCP spec is a bit more involved, requiring a 16-byte header before the command with length fields and a version number all in binary. I think you could do all that with MLTCPSend, but it would require some precalculation.