开云体育

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Marantz SR7015


 

Hi All,
I've been controlling Marantz AVRs for a while now with the same code, and no issues. I'm working on a project with an SR7015 and I'm getting weirdness with the volume feedback.
1. The AVR has the latest FW
2. CP4 has the latest FW
3. Interface is RS-232 and the code uses the Denon AVR-3313 v1.1 module for some of the control, and the volume feedback.
4. I've used this same code recently (last 3-6 months) with an SR5015 AVR and an AV8805A surround processor, both without the volume feedback issue, but they may not have the latest FW...

Has anyone seen any issues relating to changes in the protocol like this?

TIA!


 

开云体育

Marantz is solid on IP control. I’ve got a few in the field that haven’t had any issues for years. Maybe give that a go with the relevant marantz module?

Tim Greenbank

Control Systems Engineer


On 3 Sep 2022, at 09:19, ckangis <chris@...> wrote:

?Hi All,
I've been controlling Marantz AVRs for a while now with the same code, and no issues. I'm working on a project with an SR7015 and I'm getting weirdness with the volume feedback.
1. The AVR has the latest FW
2. CP4 has the latest FW
3. Interface is RS-232 and the code uses the Denon AVR-3313 v1.1 module for some of the control, and the volume feedback.
4. I've used this same code recently (last 3-6 months) with an SR5015 AVR and an AV8805A surround processor, both without the volume feedback issue, but they may not have the latest FW...

Has anyone seen any issues relating to changes in the protocol like this?

TIA!


 

I think some of the Marantz units have two different ways of displaying the volume on the unit itself. ?It’s something like 0-100 or the weird dB reading that goes from a negative to zero then something like +10. ?The Marantz has to be in the correct mode in order for the volume to work correctly in the module. It’s in the Marantz menu somewhere. ?This has bitten me a few times in the past if memory serves.


Michael S Moran
 

开云体育

Denon/Marantz can display Volume in “Relative”…0-100 or db…-80 to +15 db. Note: 0 db is full gain (Loud). Volume On, Max parameters can also be set. I would strongly urge all to select a Turn On/Initialization of perhaps 34 in the Relative mode as opposed to “Last”. If you have a wild night with head banging/paint blistering levels and turn the unit off at thst level…better buckle up cause it will turn back on at that blistering level! ?

Jus Sayin.?

Best regards,

Michael S. Moran

On Sep 2, 2022, at 11:10 PM, AVMaster <AVMaster619@...> wrote:

?I think some of the Marantz units have two different ways of displaying the volume on the unit itself. ?It’s something like 0-100 or the weird dB reading that goes from a negative to zero then something like +10. ?The Marantz has to be in the correct mode in order for the volume to work correctly in the module. It’s in the Marantz menu somewhere. ?This has bitten me a few times in the past if memory serves.


 

Interesting point. I just checked and I'm using the 0-98 scale vs. the dB scale, and I'm quite sure that the other sites are using the 0-98 scale as well...It feels like something has changed...
(Side Rant - What is it about audio manufacturers that cannot get the concept of 0-100/0%-100%??? Is it really so hard to understand that this is how the people that are paying for this would best understand things???? ?I know, pro audio guys think differently, but AVRs are not pro Audio devices...)

And I definitely agree that turn on/turn off levels need to be managed for the exact reason that Michael mentioned. I've chose to deal with it programmatically, setting a turnon volume of my choosing on start up, and setting the volume to '0' before sending the off command.
I also have built volume governor logic to programmatically manage the max volume. In a properly calibrated system, I feel that it is not really necessary to go much over reference (0 dB). some devices like the sony avrs will allow +23 dB OVER Reference!!!? I have a parameter to limit this...

The one downside to managing the volume range is that if you use the AVR OSD, the volume display will not match your UI level display - I personally like to turn the OSD off, but some of my dealers like to keep it on...


 

More info...
1. Using 0-98 vs. dB levels seems to have no effect on the volume control of the unit, or the feedback received.
2. Volume feedback seems to always get the following format:? MVxx\x0DMVMAX yyz\x0D, where xx is the volume level sent (0-98) and yyz is the 'Max' volume level (2 or 3-digit)
3. The AVR 'LIMIT' volume is set to OFF, so no limit?
4. The volume feedback string with MVMAX value (the above yyz) changes with almost every volume transition, instead of being a fixed value as I would expect.
Ex. of return strings (in no particular order):
MV34\x0DMVMAX 665\x0D
MV43\x0DMVMAX 685\x0D
MV76\x0DMVMAX 865\x0D
MV76\x0DMVMAX 86\x0D
MV77\x0DMVMAX 865\x0D
MV83\x0DMVMAX 88\x0D
MV41\x0DMVMAX 67\x0D
MV40\x0DMVMAX 665\x0D? (MVMAX 665\x0D always returned when sending MV00\x0D to MV40\x0D)
MV22\x0DMVMAX 665\x0D
MV01\x0DMVMAX 665\x0D
MV00\x0DMVMAX 665\x0D
MV88\x0DMVMAX 88\x0D? ? (Always returned when sending MV80\x0D to MV99\x0D)

The MVMAX return *Seems* to be related to the volume level vs. the 'Max' level but the 'Marantz_FY21_SR8015_SR7015_PROTOCOL_V01.xls' protocol document?does not?seems to show any response that relates to MVMAX??
And it definitely messes up the Volume feedback processing from the Denon AVR-3313 v1.1 module...

For sanity, I've eliminated using the real Volume Feedback, and will ping Marantz after the holiday...
It sure seems like a Firmware issue, which may affect other installs if/when they get updated...


 

开云体育

You probably already know the 0 dB reference is for THX.? If you have THX certified speakers and all, then setting the receiver to 0 dB should yield the SPLs that the movie producers intended.? Bullet In The Head requires just a bit more juice to get the china to rattle properly.

?

I had to put a governor on zone 2 of my sony so that it would limit volume starting at 8 PM, then lower over time so it was pretty quiet by midnight (‘cause it’s the receiver to blame, not me . .)? It would even work if the receiver tried to raise the volume, thus keeping my patio circuit from offending my neighbors – or my wife.

?

From: <[email protected]> on behalf of ckangis <chris@...>
Reply-To: <[email protected]>
Date: Saturday, September 3, 2022 at 6:56 AM
To: <[email protected]>
Subject: Re: [crestron] Marantz SR7015

?

Interesting point. I just checked and I'm using the 0-98 scale vs. the dB scale, and I'm quite sure that the other sites are using the 0-98 scale as well...It feels like something has changed...
(Side Rant - What is it about audio manufacturers that cannot get the concept of 0-100/0%-100%??? Is it really so hard to understand that this is how the people that are paying for this would best understand things???? ?I know, pro audio guys think differently, but AVRs are not pro Audio devices...)

And I definitely agree that turn on/turn off levels need to be managed for the exact reason that Michael mentioned. I've chose to deal with it programmatically, setting a turnon volume of my choosing on start up, and setting the volume to '0' before sending the off command.
I also have built volume governor logic to programmatically manage the max volume. In a properly calibrated system, I feel that it is not really necessary to go much over reference (0 dB). some devices like the sony avrs will allow +23 dB OVER Reference!!!? I have a parameter to limit this...

The one downside to managing the volume range is that if you use the AVR OSD, the volume display will not match your UI level display - I personally like to turn the OSD off, but some of my dealers like to keep it on...


Michael S Moran
 

开云体育

Common Folk…all our customers, don’t get/understand db’s and especially “0 db” being Reference level cause 0 means nada, zilch, etc.? I would infer that -db must mean less than Zilch!? Relative Scale of 0-100 is easily understood by all.?

Again, I prefer to set the initial Turn On Vol to a level that can be readily heard but not wake the dead.? Max Vol settings can preclude speaker damage but may not keep your neighbors happy??

?

The other important issue is to balance the sensitivity of all incoming Audio Signals and both Denon and Marantz provide for this very useful feature.? This feature is not foolproof as many TV channels can exhibit widely disparate signal levels.?

To my old tired eyes…I mean ears, this seems like the FCC not doing proper policing of broadcasters but we’ve been led to believe they are cracking down on Robo Callers as well.? Not at all certain how that is playing our in real life. ??

?

With respect to possible speaker damage, our experience seems to suggest that it most often occurs in Zones 2 & 3 (& 4 in some older Gen Receivers).? I’ve arrived at a home site to discover the woofers rattling to beat the band and when I review the volume

Settings for Zones 2/3, discover them set to “Ballistic Launch Mode”…Houston, we are clear for launch!? The client will vehemently declare that they didn’t do it, which must mean that you must have left it that way.?

?

One additional thought, Wi-Fi is a wonderful feature.? Not so much for system volume control, however, as the time lag between Input and Realization can be problematic.? Most clients will camp out on the Vol ramp control and that can and does

Inject some rather startling results.? This can and does happen even with Serial or IR based commands.? I ALWAYS instruct clients NOT to do this and I use the following analogy.?

?

Folks if you are in your garage and can’t seem to get your car in gear, Don’t Floor it. No Beuno! ?

???

Best regards,

?

?

M.S. Moran

?

?

From: [email protected] <[email protected]> On Behalf Of MSTC
Sent: Monday, September 5, 2022 2:02 PM
To: [email protected]
Subject: Re: [crestron] Marantz SR7015

?

You probably already know the 0 dB reference is for THX.? If you have THX certified speakers and all, then setting the receiver to 0 dB should yield the SPLs that the movie producers intended.? Bullet In The Head requires just a bit more juice to get the china to rattle properly.

?

I had to put a governor on zone 2 of my sony so that it would limit volume starting at 8 PM, then lower over time so it was pretty quiet by midnight (‘cause it’s the receiver to blame, not me . .)? It would even work if the receiver tried to raise the volume, thus keeping my patio circuit from offending my neighbors – or my wife.

?

From: <[email protected]> on behalf of ckangis <chris@...>
Reply-To: <[email protected]>
Date: Saturday, September 3, 2022 at 6:56 AM
To: <[email protected]>
Subject: Re: [crestron] Marantz SR7015

?

Interesting point. I just checked and I'm using the 0-98 scale vs. the dB scale, and I'm quite sure that the other sites are using the 0-98 scale as well...It feels like something has changed...
(Side Rant - What is it about audio manufacturers that cannot get the concept of 0-100/0%-100%??? Is it really so hard to understand that this is how the people that are paying for this would best understand things???? ?I know, pro audio guys think differently, but AVRs are not pro Audio devices...)

And I definitely agree that turn on/turn off levels need to be managed for the exact reason that Michael mentioned. I've chose to deal with it programmatically, setting a turnon volume of my choosing on start up, and setting the volume to '0' before sending the off command.
I also have built volume governor logic to programmatically manage the max volume. In a properly calibrated system, I feel that it is not really necessary to go much over reference (0 dB). some devices like the sony avrs will allow +23 dB OVER Reference!!!? I have a parameter to limit this...

The one downside to managing the volume range is that if you use the AVR OSD, the volume display will not match your UI level display - I personally like to turn the OSD off, but some of my dealers like to keep it on...


 

Does the S+ module within that you are using have a #IF_SERIES3 directive in it? I found a year ago that when compiling for a 4-Series processor that this directive gets ignored- in my module I have Threadsafe logic within that directive and the PRO4 was ignoring the code and throwing errors on a S+ compile. But then doing a recompile all in Simpl you never get any warning. For me it was breaking the volume feedback on a Marantz but all the other commands worked fine.?


 

开云体育

Hi Chris,

?

It’s been a very long time since I looked at these AVRs, but I wrote my own module back in the 2010-2013 timeframe. At that point, the MVMAX response was not defined in the protocol docs but it was returned most of the time when the AVR sent an MV response. It was the volume limit set in the AVR and it did not change unless you changed the setting in the AVR. It could only be 1 of 4 values (60, 70, 80, or 99=off). I used it so that I could provide volume feedback as a percentage of the volume limit.

IIRC, the Crestron module at the time did not look specifically for MVMAX. In response processing, it checked for the MV command and then skipped response processing if the next character was an M. This prevented erroneously processing the MVMAX response.

?

What is the “weirdness” in the module’s volume feedback? ?Since older modules with older AVRs ignored MVMAX, something may have changed in how the module deals with it. I have not looked at the Denon AVR-3313 v1.1 module, though I will if it is of any use to you.

?

Based on what you’ve seen, the AVR may not be sending the correct value back in MVMAX. Since it is off, I would have expected 99. You could try setting a limit to see if it then sends back the correct value and does that change the “weirdness” in volume feedback. According the 7015 user manual, the volume limit can now be set to any volume between 60 and 80 or off and it appears that the value can now be 3 digits.

?

I’m surprised at how much I I remember about the device after a relative quick look. ?

?

Dave

?

From: [email protected] <[email protected]> On Behalf Of ckangis
Sent: Monday, September 5, 2022 1:55 PM
To: [email protected]
Subject: Re: [crestron] Marantz SR7015

?

More info...
1. Using 0-98 vs. dB levels seems to have no effect on the volume control of the unit, or the feedback received.
2. Volume feedback seems to always get the following format:? MVxx\x0DMVMAX yyz\x0D, where xx is the volume level sent (0-98) and yyz is the 'Max' volume level (2 or 3-digit)
3. The AVR 'LIMIT' volume is set to OFF, so no limit?
4. The volume feedback string with MVMAX value (the above yyz) changes with almost every volume transition, instead of being a fixed value as I would expect.
Ex. of return strings (in no particular order):
MV34\x0DMVMAX 665\x0D
MV43\x0DMVMAX 685\x0D
MV76\x0DMVMAX 865\x0D
MV76\x0DMVMAX 86\x0D
MV77\x0DMVMAX 865\x0D
MV83\x0DMVMAX 88\x0D
MV41\x0DMVMAX 67\x0D
MV40\x0DMVMAX 665\x0D? (MVMAX 665\x0D always returned when sending MV00\x0D to MV40\x0D)
MV22\x0DMVMAX 665\x0D
MV01\x0DMVMAX 665\x0D
MV00\x0DMVMAX 665\x0D
MV88\x0DMVMAX 88\x0D? ? (Always returned when sending MV80\x0D to MV99\x0D)

The MVMAX return *Seems* to be related to the volume level vs. the 'Max' level but the 'Marantz_FY21_SR8015_SR7015_PROTOCOL_V01.xls' protocol document?does not?seems to show any response that relates to MVMAX??
And it definitely messes up the Volume feedback processing from the Denon AVR-3313 v1.1 module...

For sanity, I've eliminated using the real Volume Feedback, and will ping Marantz after the holiday...
It sure seems like a Firmware issue, which may affect other installs if/when they get updated...


 

JohnMax,
Yeah, we noticed this and tried a change (shown below, we Copy/pasted the 3-series logic and changed directive to 4-series). Though it did not seem to make a difference with volume FB, and I still get a compile warning about the 3-series directive - The 3-series help file seems to indicate that this is expected.? If you're not getting this warning, that seems odd, unless there's some add'l logic that you have that would mitigate this...
I have two other recent 4-series systems with an SR 5015 and an AV8803 with the same module and no volume feedback issues (Yet!) though the current project has the latest 4-series FW where the previous projects are 1-2 back on FW, it seems like a Marantz FW issue - but who knows...
Would you be willing to share your updated module??? TIA!

#if_series4
THREADSAFE CHANGE From_Device
{
? ? while (1)
? ? {
? ? ? ? try
? ? ? ? {
sResponse = gather("\x0D", From_Device);
? ? ? ? ? ? ProcessDeviceRxMsg();? ? ? ??
? ? ? ? }
? ? ? ? catch
? ? ? ? {
? ? ? ? ? ? print("Issue with Device Rx message handeling\n");?
? ? ? ? }
? ? }
}
#endif
?
#if_series3
THREADSAFE CHANGE From_Device
{
? ? while (1)
? ? {
? ? ? ? try
? ? ? ? {
sResponse = gather("\x0D", From_Device);
? ? ? ? ? ? ProcessDeviceRxMsg();? ? ? ??
? ? ? ? }
? ? ? ? catch
? ? ? ? {
? ? ? ? ? ? print("Issue with Device Rx message handeling\n");?
? ? ? ? }
? ? }
}
#endif
?
#if_Series2
CHANGE From_Device
{
if(iProcessFromDevice = 0)
{
iProcessFromDevice = 1;
while(find("\x0D", From_Device))
{
sResponse = remove("\x0D", From_Device);
? ? ? ? ? ? ProcessDeviceRxMsg();
}
iProcessFromDevice = 0;
}
}
#endif
?


 

Hi h2oskr2001
This module definitely handles the MVMAX command (Although there's no indication of it in the '21 protocol). Clearly it is causing issues, perhaps that the MV processing is getting confused. But I even tried eliminating the variable and it still seems that things aren't working correctly.? I just seems that there's something different about the AVR or CP4 FW that's causing this as I've used this module in the same way for years without issue...


 

开云体育

I was curious so I looked at the 1.1 module. It does use MVMAX to provide a volume gauge. The volume text is whatever was sent back in MV (displayed in db), BUT the volume gauge is computed using the last value of MVMAX than it saw (which would be the MVMAX from the previous MV response). So based on the data you sent: For MV values between 0 and 410 you would likely see a gauge where 665 (or 670) is 100%, e.g. 400 would be about 60%. For MV = 880 you might see 100%, or close to it. If the MV value goes above 880 you will see a gauge that’s wrapped around to 0, e.g. For MV=900 it could show about 2%. And all of this depends on which direction MV has been moving since it uses the last MVMAX it saw, e.g. you could see the same gauge wrap-around when turning down the volume and crossing over from something in the 700 range to the 400 range.

If that looks something like the “weirdness” you’re seeing, then it appears to be a result of the AVR sending back incorrect values for MVMAX

Dave

?

From: [email protected] <[email protected]> On Behalf Of ckangis
Sent: Tuesday, September 6, 2022 10:40 AM
To: [email protected]
Subject: Re: [crestron] Marantz SR7015

?

Hi h2oskr2001
This module definitely handles the MVMAX command (Although there's no indication of it in the '21 protocol). Clearly it is causing issues, perhaps that the MV processing is getting confused. But I even tried eliminating the variable and it still seems that things aren't working correctly.? I just seems that there's something different about the AVR or CP4 FW that's causing this as I've used this module in the same way for years without issue...


 

Hi Dave,
If my assumption is correct that MVMAX is supposed to be the max volume allowed, there there's definitely something wrong with the feedback as the AVR 'Limit' is set to OFF and thus should render a fixed value (I'd expect 98 or 980) and even if it was broken and though it was a limit of 80 or 60, etc. it should still return a consistent value - unless MVMAX is for something else...I've already taken Marantz tech support to task about undocumented commands...

BUT! here's my adjustments to the parsing logic that should overcome any of the above. I would think that this would elminiate any inpact from MVMAX, unless S+ is getting confused between MVxx\x0D and MVMAX and parsing 'MAX as a value for the volume feedback...:)
FTR, iMVMAX variable is only found in the following code snip (except for the initial Global integer call and an initialization in Function_Main)

? ? if(find("MVMAX", sResponse) = 1) // master volume max
? ? {
? ? ? ? iMVMAX = atoi(sResponse);
? ? ? ? if(len(sResponse) = 9) // value has 2 char (90 vs 895)?
? ? ? ? ? ? iMVMAX = iMVMAX * 10; // append "0" to value (900)
? ? }
? ? else if(find("MV", sResponse) = 1) // master volume
? ? {
? ? ? ? iValue = atoi(sResponse);
? ? ? ? if(len(sResponse) = 5) // value has 2 char (90 vs 895)
? ? ? ? ? ? iValue = iValue * 10; // append "0" to value (900)
? ? ? ? if(iValue >= 800) // 0 to 18 dB
? ? ? ? ? ? makestring(Main_Volume_Text, "%+d.%ddB", (iValue - 800) / 10, (iValue - 800) mod 10);
? ? ? ? else if(iValue >= 5) // -79.5 to -0.5 dB
? ? ? ? ? ? makestring(Main_Volume_Text, "-%d.%ddB", (800 - iValue) / 10, (800 - iValue) mod 10);
? ? ? ? else // ---
? ? ? ? ? ? makestring(Main_Volume_Text, "---.-dB");
? ? ? ? Main_Volume_Gauge = (iValue * 65535) / 98;
//? ? ? ? Main_Volume_Gauge = (iValue * 65535) / iMVMAX;
? ? }
?


 

开云体育

Hi Chris,

I believe that your assumption is correct. MVMAX should be the value of Volume Limit as set in the AVR and it should not change until the setting in the AVR is changed, This is how is worked on the older models that I tested with.

?

For your change, I think you want to use the value 980 for iMVMAX. All the volume calcs are done using 3 digits. Also, you may want to change the initialized value of iMVMAX at the end of the module. It should probably be 980, too. The following provides a bit of explanation.

On the older models MVMAX wasn’t sent in response to the MV? Request. This meant that if you were trying to get the initial volume at startup, you had to either assume a starting MVMAX or issue one of the other requests that returns MVMAX (SI? or CV?). Related to this, the first MV that comes back will not have MVMAX set since it comes after the MV in the paired sequence. The 1.1 module initializes iMVMAX to be 65535. That will initially produce a weird gauge value (equal the volume value) at the start.

?

Back in 2012 at a Denon training class, I took a run at working the MVMAX issue, along with a number of others that I ran into. The people there told me they weren’t interested in hearing about it. From their perspective it worked fine, no one else was having any issues. Good luck ?

?

Dave

?

From: [email protected] <[email protected]> On Behalf Of ckangis
Sent: Tuesday, September 6, 2022 3:32 PM
To: [email protected]
Subject: Re: [crestron] Marantz SR7015

?

Hi Dave,
If my assumption is correct that MVMAX is supposed to be the max volume allowed, there there's definitely something wrong with the feedback as the AVR 'Limit' is set to OFF and thus should render a fixed value (I'd expect 98 or 980) and even if it was broken and though it was a limit of 80 or 60, etc. it should still return a consistent value - unless MVMAX is for something else...I've already taken Marantz tech support to task about undocumented commands...

BUT! here's my adjustments to the parsing logic that should overcome any of the above. I would think that this would elminiate any inpact from MVMAX, unless S+ is getting confused between MVxx\x0D and MVMAX and parsing 'MAX as a value for the volume feedback...:)
FTR, iMVMAX variable is only found in the following code snip (except for the initial Global integer call and an initialization in Function_Main)

? ? if(find("MVMAX", sResponse) = 1) // master volume max

? ? {

? ? ? ? iMVMAX = atoi(sResponse);

? ? ? ? if(len(sResponse) = 9) // value has 2 char (90 vs 895)?

? ? ? ? ? ? iMVMAX = iMVMAX * 10; // append "0" to value (900)

? ? }

? ? else if(find("MV", sResponse) = 1) // master volume

? ? {

? ? ? ? iValue = atoi(sResponse);

? ? ? ? if(len(sResponse) = 5) // value has 2 char (90 vs 895)

? ? ? ? ? ? iValue = iValue * 10; // append "0" to value (900)

? ? ? ? if(iValue >= 800) // 0 to 18 dB

? ? ? ? ? ? makestring(Main_Volume_Text, "%+d.%ddB", (iValue - 800) / 10, (iValue - 800) mod 10);

? ? ? ? else if(iValue >= 5) // -79.5 to -0.5 dB

? ? ? ? ? ? makestring(Main_Volume_Text, "-%d.%ddB", (800 - iValue) / 10, (800 - iValue) mod 10);

? ? ? ? else // ---

? ? ? ? ? ? makestring(Main_Volume_Text, "---.-dB");

? ? ? ? Main_Volume_Gauge = (iValue * 65535) / 98;

//? ? ? ? Main_Volume_Gauge = (iValue * 65535) / iMVMAX;

? ? }

?


 

Thanks Dave!
Yeah, I'm bound and determined to figure this out, even if I have to write/re-write things myself...:)
What's weird is that the MV commands that we send are just two digit (we don't care about the .5 iterations) and the MVMAX commands that come back are both 2 and 3 digit 70, 705, 71, 725, etc

As I'm sure you'd agree, even most 'enterprise' devices (which D&M does not qualify as) don't seem to care about 'logical' protocols. I feel the development engineers need far more management by people who have to deal with their code, etc....
Oh well!...

I update this thread if/when I learn something...


 

开云体育

Yup, I understand, that how I ended up writing my own years back. I did learn a lot about the protocol in the process, so I’m happy to help if I can.

Dave

?

From: [email protected] <[email protected]> On Behalf Of ckangis
Sent: Tuesday, September 6, 2022 6:39 PM
To: [email protected]
Subject: Re: [crestron] Marantz SR7015

?

Thanks Dave!
Yeah, I'm bound and determined to figure this out, even if I have to write/re-write things myself...:)
What's weird is that the MV commands that we send are just two digit (we don't care about the .5 iterations) and the MVMAX commands that come back are both 2 and 3 digit 70, 705, 71, 725, etc

As I'm sure you'd agree, even most 'enterprise' devices (which D&M does not qualify as) don't seem to care about 'logical' protocols. I feel the development engineers need far more management by people who have to deal with their code, etc....
Oh well!...

I update this thread if/when I learn something...


 

Yea we ended up going from a #if_Series3 to doing #if_Series2 / #else and that stopped the errors on the S+ compile. My gripe was that if you never opened up S+ and just compiled in Simpl for a 4 Series processor, the S+ compile fail for the #if_Series3 would never come to light and you'd end up with a program with a broken module inside it (or at least one throwing buffer overflow errors and who knows what other problems without the threadsafe). I remember when the 4s came out we were always told what works on 3 series will work just the same on a 4- well I guess they forgot about that whole threadsafe logic they put in all their modules on the app market...

Heres what we did in our modified Marantz SR-7007 v1.1 Processor.usp:

// Create separate 2-Series and 3-Series/4-Series handlers
// Removed original code and reversed logic blocks to use IF_SERIES2 directive
#IF_SERIES2
CHANGE From_Device
{
if(iProcessFromDevice = 0)
{
iProcessFromDevice = 1;
while(find("\x0D", From_Device))
{
sResponseFromDevice = remove("\x0D", From_Device);
? ? ? ? ? ? ProcessRxMessage_FromDevice();
}
iProcessFromDevice = 0;
}
}
#ELSE // Use for both 3-Series/4-Series
THREADSAFE CHANGE From_Device
{
? ? while(1)
? ? {
? ? ? ? try
? ? ? ? {
// extract message from BUFFER_INPUT stream
? ? ? ? ? ? sResponseFromDevice = gather("\x0D", From_Device);
// now process it
? ? ? ? ? ? ProcessRxMessage_FromDevice();
? ? ? ? }
? ? ? ? catch
? ? ? ? {
? ? ? ? ? ? // print out a message to the log
? ? ? ? ? ? generateuserwarning("CHANGE From_Device: Error encountered in BUFFER_INPUT");
? ? ? ? }
? ? }
}
#ENDIF? ? ? ??
?


 

Thanks Guys!


 

I am trying to set direct volume level (e.g. from a TP fader). I don't see Analog scaler that I can set the span level with signal (based on MVMAX response from AVR). How can I accomplish this in S+ or is there a SIMPL block that can handle it?