Your Universal Remote Control Center
RemoteCentral.com
Philips Pronto Professional Forum - View Post
Up level
Up level
The following page was printed from RemoteCentral.com:

Login:
Pass:
 
 

Original thread:
Post 11 made on Saturday January 16, 2010 at 03:52
Lyndel McGee
RC Moderator
Joined:
Posts:
August 2001
12,999
Raven77m,

You are correct. My post was whiny and bitchy and sarcastic. I should have posted privately.

Thanks very much for the information on your qualifications, the importance of your time. Much appreciated.

My reason for posting tersely above was to try and teach you to fish. My philosophy is to teach a man to fish, feed him for life. Give a man a fish, feed him one meal. However, based on your response above I guess I will not achieve that goal.

My Qualifications: Age 42, Software engineer for 23+ years. Active forum poster on this site for 9 years.

My time available for forum posts of late has been less than in previous 9 years but I do try to be helpful and provide guidance provided effort is reciprocated on the receiving end.

Now, getting beyond all this...

When you started down the path of asking all the questions regarding how do I do this, I knew up front the magnitude of what you were asking and the amount of code it takes to manage the Denon.

While I cannot provide you full code to process everything in the Denon, I will provide guidance in the form of my past experience writing 3 different version of Denon code.

My first cut at the task was using RS232 and RFX9600 and there was just too much overhead having the poll the serial port for data to keep the buffer drained (denon throws alot of data at you but fortunately lines are delimited by carriage return).

However, if you let that buffer fill up, you WILL lose data (buffer size is 1024 bytes). And with RS232 on RFX9600, every time you send, the receive buffer is cleared so if you send in the middle of a long set of incoming strings (for example, ramping channel level up/down in the midst of receiving the levels for all channels, you can get garbled data on a line and even lose some data. For example, you might receive:

CVCCVFL 50.5\r

as you issued a channel up command for a channel at the time the receiver was in the middle of transmitting full set of channel levels.

Here's an example for you that will hopefully tie all my previous posts on this thread together.

Assuming you have a serial port configured for synchronous access in variable s (by synchronous, that means that you've not assigned onData and onError functions. Also note that on the current page, you have a panel lwith ProntoScript name of 'POWER_STATE'.

// send power query, wait up to 2 seconds for a response.
var line = s.match('PW?','\r',2000);
if (line.length > 3) // check for at least PW + \r.
GUI.widget('POWER_STATE').label = line.substring(2,line.length-1); //strips first 2 characters and trailing \r.

Some additional surprises not documented by Denon:

With regard to sending volume ramps (MVUP/MVDOWN), some Denon receivers (later models) will report 2 lines of text as response vs just one (requires testing of your receiver):

MVMAX 87.5 (+7.5db)
MV72

In this case, you'd need to do what I suggested in post #3 (send/receive using match followed by second match that does not send data) to get the real volume level. I presume from post #4 that you've already figured out how to normalize the volume level you receive to a valid DB for both Channel and Main volumes.

So, looking back at your original example in post #4, I provided post #5 that would replace your r = r[2]. String substring function is what you needed to be using.

FYI, user Tenchi has put up a free module for the TSU9400 on www.prontoprojects.com that was written for TCP/IP access to the denon. This script could be adapted as well as the data extraction/parsing is the same whether you are parsing data from RS232 or TCP/IP.

Also note that the original Denon 232 script provided by Philips (looks like you've reviewed this) does not handle the MVMAX that is sent by newer receivers (they may have added this for the 4806 model).

Best wishes, and best of luck with your endeavors.

Last edited by Lyndel McGee on January 16, 2010 14:22.
Lyndel McGee
Philips Pronto Addict/Beta Tester


Hosting Services by ipHouse