Charmed Quark Systems, Ltd. - Support Forums and Community
Marantz DVD Driver - Printable Version

+- Charmed Quark Systems, Ltd. - Support Forums and Community (https://www.charmedquark.com/vb_forums)
+-- Forum: General Discussion (https://www.charmedquark.com/vb_forums/forumdisplay.php?fid=3)
+--- Forum: Driver Development (https://www.charmedquark.com/vb_forums/forumdisplay.php?fid=13)
+--- Thread: Marantz DVD Driver (/showthread.php?tid=4218)

Pages: 1 2 3 4 5 6 7 8


Marantz DVD Driver - jrlewis - 05-27-2008

Theoretically this driver should support the DV4001, DV6001, DV7001, and VC6001. If it doesn't go up in a puff of smoke I'll be amazed. Sending commands to the device should be pretty solid, but the parsing of status replies may not be quite up to snuff. From the protocol it is unclear which commands should return an ACK. Get it up and running and then just step through each field and see if it responds ok or you get timeouts. Make a list of the fields that timeout on field writes and post them here. For other unexplained behavior just put the verbosity into high and grab the appropriate log sections.

The driver makes the assumption that only a power command is valid when the power is off. I didn't actually look at the operator's manual so this may not be the case. You would have to confirm with hyperterminal or the likes. If the user's can sus this out and get me the details it won't be hard to get the driver up to speed in no time. I have posted both a driver pack and manifest and driver file in plain text if it needs to be built on your system. Its pretty easy to do if you need to. No html document for now.

Posted Version 0.81
0.5 Added MenuCmds,Cursor,NumericKey,Increased poll time
0.6 Added MaxTimeouts, fixed bonehead mistake in polling
0.7 Changed several fields to not wait for response after field write,Fixed PlayMode string command
0.8 Fixed missing EndCase in Poll()
0.81 Added logging


Marantz DVD Driver - IVB - 05-27-2008

Thanks dude, i'll run a test tonight. I believe the power assumption is correct, as when I did a @PWR:? it returned power-off.


Marantz DVD Driver - jrlewis - 05-27-2008

For the power stuff what I meant is in the driver code it will reject any field write except for a power command when the power is off. This isn't always necessary as some fields can be changed/queried when a device is off. It just depends on the device. When I get some time I will take a look at the operator's manual.

I just saw you had posted about this in the Driver's Request. I haven't yet implement the menu/remote type commands. The framework is in place so it is pretty easy to add stuff like this as you go. Let me know how it goes. I know for sure some of the boolean fields are going to give you value rejected errors even though they actually work on the device.


Marantz DVD Driver - jrlewis - 05-27-2008

Now that I think about it if the driver won't connect when you load it and the power is off turn the power on and it should connect. That would be an indication that it doesn't allow queries when the power is off. I forgot to worry about that as it was kind of a rush job.


Marantz DVD Driver - IVB - 05-27-2008

It's alternating between WaitForConnect (most of the time), and WaitForCommResource(occasionally). I tried putting it into standby then un-standby to no avail.

I confirmed it's alive by connecting via HyperTerminal and issuing a @PWR:? command and getting a response.

Here's the logfile
Code:
05/27 21:21:33-CORE2, CQCServer, CQCDrv_MarantzDV6001_Thread18
{
    CQCKit, CQCKit_DriverBase.cpp.2513, Status/App Status
    Driver 'MarantzDV6001' has its comm resource
}
05/27 21:21:33-CORE2, CQCServer, CQCDrv_MarantzDV6001_Thread18
{
    CQCKit, CQCKit_DriverBase.cpp.2531, Status/App Status
    Driver 'MarantzDV6001' is trying to connect to its device
}
05/27 21:21:33-CORE2, CQCServer, CQCDrv_MarantzDV6001_Thread18
{
    CQCKit, MEng.System.CQC.Runtime.CQCLogger.623, Status/App Status
    Exception_MarantzDV6001.GetMsg.1078: Communication timed out
}
05/27 21:21:33-CORE2, CQCServer, CQCDrv_MarantzDV6001_Thread18
{
    CQCKit, MEng.System.CQC.Runtime.CQCLogger.623, Status/App Status
    Exception_MarantzDV6001.Connect.1078: Communication timed out
}
05/27 21:21:33-CORE2, CQCServer, CQCDrv_MarantzDV6001_Thread18
{
    CQCKit, CQCKit_DriverBase.cpp.2586, Status/App Status
    Driver 'MarantzDV6001' has lost its communcations resource
}
05/27 21:21:33-CORE2, CQCServer, CQCDrv_MarantzDV6001_Thread18
{
    CQCKit, CQCKit_DriverBase.cpp.2474, Status/App Status
    Driver 'MarantzDV6001' is trying to get its comm resource
}
05/27 21:21:33-CORE2, CQCServer, CQCDrv_MarantzDV6001_Thread18
{
    CQCKit, CQCKit_DriverBase.cpp.2513, Status/App Status
    Driver 'MarantzDV6001' has its comm resource
}
05/27 21:21:33-CORE2, CQCServer, CQCDrv_MarantzDV6001_Thread18
{
    CQCKit, CQCKit_DriverBase.cpp.2531, Status/App Status
    Driver 'MarantzDV6001' is trying to connect to its device
}
05/27 21:21:34-CORE2, CQCServer, CQCDrv_MarantzDV6001_Thread18
{
    CQCKit, MEng.System.CQC.Runtime.CQCLogger.623, Status/App Status
    Exception_MarantzDV6001.GetMsg.1078: Communication timed out
}



Marantz DVD Driver - jrlewis - 05-27-2008

Is the power on or off?


Marantz DVD Driver - jrlewis - 05-27-2008

I posted a version 0.2 that has some logging added to the method that does the initial querying of the device so it should let us know which field it's choking on.


Marantz DVD Driver - IVB - 05-27-2008

Tried both in power-on-but-standby and power-on.

Code:
05/27 22:20:51-CORE2, CQCServer, CQCDrv_MarantzDVD_Thread19
{
    CQCKit, MEng.System.CQC.Runtime.CQCLogger.624, Status/App Status
    Exception_MarantzDVD.GetMsg.1079: Communication timed out
}
05/27 22:20:51-CORE2, CQCServer, CQCDrv_MarantzDVD_Thread19
{
    CQCKit, MEng.System.CQC.Runtime.CQCLogger.624, Status/App Status
    Msg_MarantzDVD.QueryAll timed out for AEX:?.
}
05/27 22:20:51-CORE2, CQCServer, CQCDrv_MarantzDVD_Thread19
{
    CQCKit, MEng.System.CQC.Runtime.CQCLogger.624, Status/App Status
    Exception_MarantzDVD.Connect.1079: Communication timed out
}
05/27 22:20:51-CORE2, CQCServer, CQCDrv_MarantzDVD_Thread19
{
    CQCKit, CQCKit_DriverBase.cpp.2586, Status/App Status
    Driver 'MarantzDVD' has lost its communcations resource
}
05/27 22:20:51-CORE2, CQCServer, CQCDrv_MarantzDVD_Thread19
{
    CQCKit, CQCKit_DriverBase.cpp.2474, Status/App Status
    Driver 'MarantzDVD' is trying to get its comm resource
}
05/27 22:20:51-CORE2, CQCServer, CQCDrv_MarantzDVD_Thread19
{
    CQCKit, CQCKit_DriverBase.cpp.2513, Status/App Status
    Driver 'MarantzDVD' has its comm resource
}
05/27 22:20:51-CORE2, CQCServer, CQCDrv_MarantzDVD_Thread19
{
    CQCKit, CQCKit_DriverBase.cpp.2531, Status/App Status
    Driver 'MarantzDVD' is trying to connect to its device
}
05/27 22:20:51-CORE2, CQCServer, CQCDrv_MarantzDVD_Thread19
{
    CQCKit, MEng.System.CQC.Runtime.CQCLogger.624, Status/App Status
    Exception_MarantzDVD.GetMsg.1079: Communication timed out
}
05/27 22:20:51-CORE2, CQCServer, CQCDrv_MarantzDVD_Thread19
{
    CQCKit, MEng.System.CQC.Runtime.CQCLogger.624, Status/App Status
    Msg_MarantzDVD.QueryAll timed out for AEX:?.
}

Looks like the AEX command


Marantz DVD Driver - jrlewis - 05-27-2008

That is the first one. Can you send an AEX:? to the unit with hyperterminal to see what reposne you get.


Marantz DVD Driver - IVB - 05-27-2008

I send @AEX:? and I get a @AEX:1 back.

Did you send the @ sign in the beginning of each command? I missed that in the doc too, it's really written very badly.