Thread Rating:
  • 1 Vote(s) - 3 Average
  • 1
  • 2
  • 3
  • 4
  • 5
A new 'universal' Denon A/V receiver driver
#1
So, one of the issues we have is the ridiculous proliferation of A/V receiver models. So far, it's been a matter of copying a existing driver and modifying it for the differences in the new model. This is a tough way to do it, since it makes for lots and lots of redundant code and it makes supporting a new model a matter of creating a whole new driver. 

OTOH, trying to do a single driver that covers every model is sort of an exercise in complexity because there are so many variations and making any changes to the driver could break another model because there are long 'if it's X do this, if it's Y do that, if it's Z do the other thing' all over the place, and it can get brittle. 

Both of the above make it harder for non-experts to create drivers for new models. It would be nice if anyone reasonably comfortable with CML could do a new model safely without the possibility of breaking others or having to understand the logic involved or modify the main driver.

So, I'm trying to work out a happy medium strategy that we can use for various manufacturers (where they are remotely consistent enough.) It uses a 'per model helper' class that is quite small and just tells the main driver things like how many zones are available, which zones support audio modes if any, which zones can be powered off/on separately, what sources are available to a given zone, whether it uses a serial or socket connection, etc... It uses this information to interface to the receiver. The per-model helper class is indicated in the driver manifest file, so no changes are required to the main driver for this.

It also offers, where necessary, the option to override some methods in order to deal with unusual situations, though mostly that should be unnecessary.

I'm starting with Denon, for no particularly reason than it's there. I've got the basic scheme worked out, so I need to actually start putting it to the test. So I was wondering if anybody had any Denon AVRs they could open up to me for testing. I've started with a helper for the X4000, just to have some example to start, so if one of them is an X4000 all the better, but I really will need to get access to some variety of models to make sure I have good coverage. Then I can document the interface and other folks can use it to create their own helper classes.

I'm currently just dealing with the required V2 stuff that would let ut work with the auto-gen system and Jarvis. The most functionality we try to support, the harder it will get to create a helper and so the fewer of them will be created. But I can add support for some extra bits if they really are necessary. I'll add a 'passthrough' field as well to let you send raw commands if you really need to.
Dean Roddey
Explorans limites defectum
Reply
#2
I'll have one (X4300) within a week to test. You'll have to walk me through how you wish to connect with it, or I can test your driver itself.

Bugman
Reply
#3
You would either just do a port forward if you connect it via IP, or you can use our serial port server if you connect it serially which will let me open the serial port from here. Let me know when you are ready and we can work it out.
Dean Roddey
Explorans limites defectum
Reply
#4
(02-20-2017, 02:21 PM)Dean Roddey Wrote: You would either just do a port forward if you connect it via IP, or you can use our serial port server if you connect it serially which will let me open the serial port from here. Let me know when you are ready and we can work it out.

Ok. I'm on 5.01 if that makes any difference. Let me know if I need to upgrade prior to testing.
Reply
#5
You would need to upgrade to the latest best to actually run the driver since this is based on new underlying functionality in CQC itself. But no need to do that until there's actually a driver to test. You don't need that for me to access your receiver or anything, even if you use the remote port server.
Dean Roddey
Explorans limites defectum
Reply
#6
Hey Dean,  I have an X4000 you can test with if you would like as well. I'll do the port forward on my router when I get a chance and PM you the details and we can work out timing etc.
Reply
#7
Okey dokey.
Dean Roddey
Explorans limites defectum
Reply
#8
So attached is the current X4000 helper class, just to give you and idea what's involved. This one is heavily commented, so most of it is comments, and a good bit of the rest is just the required lists of audio modes, sources, inputs, etc... I've added two non-V2 things so far, input mode and digital input mode.

Without the comments it's only 158 lines of code.  Without the lists, only 95, of which is a good bit is just basic CML language infrastructure. Removing that it's only 60 lines of actual model specific code. So not a lot of effort to support a new model. Most would be of similar size.


Attached Files
.txt   DenX4KHelper.Txt (Size: 8.65 KB / Downloads: 10)
Dean Roddey
Explorans limites defectum
Reply
#9
On the Denon front, how far back do you want to go, I still have an operational 3805 that I can make available? Personally I use it for auxiliary audio zones now only so it's not a big deal if you don't want to try and make it work with the new driver given how old it is; I'm satisfied enough with the current driver.

Once you are ready to progress to Yamaha I can open up 2 different models.
Reply
#10
I have the newest x7200wa that you can get into when you are ready.
Thanks
George M
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Denon HEOs Dean Roddey 21 9,566 05-29-2019, 10:16 AM
Last Post: Dean Roddey
  Onkyo/Integra V2 Driver interest zra 9 8,281 10-22-2017, 04:18 PM
Last Post: lleo
  We need a CQC driver for this Dean Roddey 0 1,588 07-27-2017, 09:02 AM
Last Post: Dean Roddey
  Automating/Driver for Amazon Echo as a player? Sendero 5 2,448 11-05-2015, 11:05 PM
Last Post: IVB
  Lite-on bluray ext driver power supply? Dean Roddey 0 1,516 04-09-2014, 04:45 PM
Last Post: Dean Roddey
  Lessons Learned: TV auto power On + "Generic TCP/IP Passthrough" driver ControlFreak 6 4,733 02-17-2014, 01:01 PM
Last Post: ControlFreak
  Elk Driver AudioCmd RichardU 7 2,832 02-28-2013, 07:17 AM
Last Post: RichardU
  Flirc IR Receiver for 10' applications (or media centres) znelbok 0 1,210 07-23-2012, 12:03 AM
Last Post: znelbok
  CID Modem Driver with Bluetooth Xlink Gateway NightLight 3 2,880 02-20-2012, 05:27 PM
Last Post: zaccari
  Media portal driver / sage tv replacement willplaice 5 3,260 01-16-2012, 01:24 PM
Last Post: potts.mike

Forum Jump:


Users browsing this thread: 1 Guest(s)