Kenwood Sovereign Receivers
Version | Status | Date Updated | Updated By |
---|---|---|---|
710 | Unknown | N/A | N/A |
810 | Unknown | N/A | N/A |
1004 | Unknown | N/A | N/A |
1204 | Unknown | N/A | N/A |
1404 | Unknown | N/A | N/A |
Usage Information |
This article is a stub and requires expansion |
Using the Kenwood Sovereign Receivers with RS232 Control
THIS CODE IS STILL BEING DEVELOPED
Models are VR 5900, VR 5700, VR 5090 and VR 5080. There may be others.
Operational Status
- On/Off works
- Volume & Mute work
- Defined but not tested:
- Listen Modes (Stereo/Dolby Digital/DTS/DTS-ES/DSP ...)
- Input Select (CDR/AV1/DVD/TUNER ...)
- Surround Mode (THX/THX EX)
Ruby Codes
INTERNAL
#350 Process Initialize
$logFile = File.new("/var/log/pluto/VR5x00.log", "w")
for iRetry in 0...4
print "Initializing unit\n" conn_.Send("\x01PWR?\x02\x0D\x0D\x0A") buf = conn_.RecvDelimited("\x04", 2000) if( !buf.nil? && !buf.index("PWR").nil? ) log("Data from Receiver: " + buf + "\n") # see if any more data from receiver buf = conn.Recv(1000,1000) log("is this data trash? " + buf + "\n") log("Initialized ok\n") return end log("Failed to initialize. Wait 1 secs and try again\n") sleep(1)
end
DisableDevice( device_.devid_, true )
log("The device wouldn't respond. Disabling it.\n")
#350 Process Incoming Data
buf = conn_.Recv(1000,1000)
log("Received '" + buf + "' data from Receiver")
#373 Private Method Listing
def SendIrCommand(command)
for i in 0...1 conn_.Send("\x01" + command + "\x02\x0D\x0D\x0A") reply = conn_.RecvDelimited("\x04", 2000) if( !reply.nil? && reply.length()>4 ) log("Received good reply: " + reply + "\n") return reply else buf = conn_.Recv(1000,1000); log("Flushed buffer: " + buf + "\n") end end return "Invalid"
end
def log(word)
$logFile.print( word + "\n" ) $logFile.flush() print(word + "\n")
end
def GetRadioStations()
# would like to implement reading from a table in pluto_media that # is populated from a screen in web admin... that queries a website for # local radio stations based on latitude & longitude or zip code.
end
POWER
#192 On
SendIrCommand("PWR1") sleep(2) SendIrCommand("MUTE0") @mute=false
#193 Off
SendIrCommand("PWR0")
SOUND & VOLUME
#89 Vol Up
volume_level = (SendIrCommand("VOL?")[-3,2]).hex
if volume_level < 100
volume_level += 1 newvol = ("VOL" + "%02x" % volume_level.to_s).upcase SendIrCommand(newvol) log("Volume increase to : " + newvol)
else
log("Volume at Maximum")
end
#90 Vol Down
volume_level = (SendIrCommand("VOL?")[-3,2]).hex
if volume_level > 0
volume_level -= 1 newvol = ("VOL" + "%02x" % volume_level.to_s).upcase SendIrCommand(newvol) log("Volume decreased to : " + newvol)
else
log("Volume at Minimum")
end
#97 Mute
mute_state = SendIrCommand("MUTE?")[-6,5]
case mute_state
when "MUTE0" SendIrCommand("MUTE1") when "MUTE1" SendIrCommand("MUTE0")
end
INPUTS
#163 Phono
SendIrCommand("SEL00")
#873 Tuner - Digital
SendIrCommand("SEL01")
#162 CD
SendIrCommand("SEL02")
#160 Tape / Tape1
SendIrCommand("SEL03")
#420 CDR
SendIrCommand("SEL04")
#155 Video1
SendIrCommand("SEL05")
#156 Video2
SendIrCommand("SEL06")
#157 Video3
SendIrCommand("SEL07")
#158 Video4
SendIrCommand("SEL08")
#165 DVD
SendIrCommand("SEL09")
#316 AV 1
SendIrCommand("SEL0A")
DSP MODES
#311 Stereo
SendIrCommand("LSTN00")
#1006 PRO LOGIC
SendIrCommand("LSTN01")
#292 Dolby Digital
SendIrCommand("LSTN02")
- Modes LSTN03 and LSTN04 are unknown still
#1089 Arena (new definition)
SendIrCommand("LSTN05")
#312 Stadium
SendIrCommand("LSTN06")
#149 Jazz Club
SendIrCommand("LSTN07")
#1087 Cathedral (new definition)
SendIrCommand("LSTN08")
#1090 Theater (new definition)
SendIrCommand("LSTN09")
#1088 Concert Hall (new definition)
SendIrCommand("LSTN0A")
#1089 Stadium2 (new definition)
SendIrCommand("LSTN0B")
#1090 Theater2 (new definition)
SendIrCommand("LSTN0C")
#1000 PRO LOGIC2 MOVIE
SendIrCommand("LSTN0D")
#1002 PRO LOGIC2 MUSIC
SendIrCommand("LSTN0E")
#1007 Neo6 CINEMA
SendIrCommand("LSTN0F")
#1008 Neo6 MUSIC
SendIrCommand("LSTN10")
#1092 Multi-Channel Music (new definition)
SendIrCommand("LSTN11")
RECEIVER
#1094 Analog
SendIrCommand("INPUTM2")
#1095 DGTL Manual
SendIrCommand("INPUTM1")
#1096 Full Auto
SendIrCommand("INPUTM0")
#1098 6-ch Input
SendIrCommand("INPUTM3")