Make/Model  Device VersionConnection Type
Denon/3803N/ASerial

Description:

This driver controls the very popular Denon 3803 A/V receiver. This receiver has a good set of features, and a pretty good control protocol that allows for a considerable amount of control. Note that these models also are packaged in non-US markets as the AVC-3570, so this driver would control that model as well.

This driver is CML based and the classes are found in the CML scope MEng.System.CQC.Drivers.Denon.3803.DriverImpl.

Quirks and Limitations:

None known at this time.

Connection Details

The Denon uses a serial connection. It has a non-standard connector, which uses a stereo 1/8th inch phono plug. The pin connections are:

Tip	->	Pin 2 (receive)
Middle	->	Pin 3 (send)
Sleave	->	Pin 5 (ground)

The parameters are 9,600 baud, 8 bits, one stop bit, no parity. That's a little slow, but the protocol is fairly compact, and it sends notifications so the driver only needs to do a full set of queries at connect time.

The protocol is plain ASCII, so it is trivial to confirm that your cabling is correct by using a terminal server program. For instance, to get the master volume, type MV? and press enter. It will send back MVxx, where xx is the value of the master volume, based on an 0 to 98 range (-80 to 18db.) You can also make changes via the remote control and see them show up as the Denon sends notifications out the serial port. Given the ease of validating the connection on this device, and the non-standard cable type, definitely do it before connecting CQC to it, so that you know that everything is correct before you start.

Driver Fields

This section lists the fields that the driver makes available, their types, minimum and maximum values, etc...

NameTypeR/WDescription/Limits
CinemaEQBooleanWEnables or disables the Cinema EQ feature
DigInModeStringWSet the digital mode to use for the current input. It is an enumerated field which has legal values of: Auto, PCM, DTS, Analog, ExtIn
MasterVolIntR/WRead or set the volume of the Denon. It is an integral value limited to the range of -80 to to 18, which represent dB values.
MasterVolAdjBooleanWWrite true to move the master volume up, and false to move it down.
ModeStringR/WRead or set effect mode. It is an enumerated field which has legal values of: Direct, PureDirect, Stereo, DolbyProLogic, DolbyPLII, DolbyDigital, DolbyDigitalEx, DTSNEO6, DTSSurround, DTSESDiscrete, DTSESMatrix, WideScreen, Stereo5Ch, Stereo7Ch, SuperStadium, RockArena, JazzClub, ClassicConcert, MonoMovie, VideoGame, Matrix, Virtual
MuteBooleanR/WRead or set the mute state. A true value mutes the unit, and a false value un-mutes.
MZPowerBooleanR/WRead or set the main zone power state.
PowerBooleanR/WRead or set the power state.
SrcInputStringR/WRead or set the input source to monitor. It is an enumerated field which has legal values of: Phono, CD, Tuner, DVD, VDP, TV, Sat, VCR1, VCR2, Aux, Tape1, Source
TunerFreqStringRAllows you to read the current tuner frequency, which will be in the usual floating point format, i.e. a frequency a period then a fractional frequency.
TunerModeStringR/WRead or set the tuner mode. It is an enumerated field that has the values: Auto, Manual.
TunerPresetStringWRead or write the tuner preset. They are in the form A1, B2, C3, etc... They go from A1 to E8.
Z2PowerBooleanR/WRead or set the Zone 2 power state.
Z2SrcInputStringR/WRead or set the source for zone 2. The values are the same as those for the SrcInput field above.
Z2VolumeIntR/WRead or set the Zone 2 volume. It has the same values as the MasterVol field above.
Z2VolumeAdjBooleanWWrite true to move the Zone 2 volume up, and false to move it down.