Difference between revisions of "Kenwood Sovereign Receivers"
Ardirtbiker (Talk | contribs) |
Ardirtbiker (Talk | contribs) |
||
Line 22: | Line 22: | ||
** Input Select (CDR/AV1/DVD/TUNER ...) | ** Input Select (CDR/AV1/DVD/TUNER ...) | ||
** Surround Mode (THX/THX EX) | ** Surround Mode (THX/THX EX) | ||
− | |||
− | |||
Line 29: | Line 27: | ||
== Ruby Codes == | == 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''' | ||
+ | |||
+ | |||
+ | '''DSP MODES''' | ||
+ | |||
+ | |||
+ | '''RECEIVER''' | ||
+ | |||
+ | ''#1094 Analog'' | ||
+ | |||
+ | SendIrCommand("INPUTM2") | ||
+ | |||
+ | ''#1095 DGTL Manual'' | ||
+ | |||
+ | SendIrCommand("INPUTM1") | ||
+ | |||
+ | ''#1096 Full Auto'' | ||
+ | |||
+ | SendIrCommand("INPUTM0") | ||
+ | |||
+ | ''#1098 6-ch Input'' | ||
+ | |||
+ | SendIrCommand("INPUTM3") |
Revision as of 02:39, 24 January 2011
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
DSP MODES
RECEIVER
#1094 Analog
SendIrCommand("INPUTM2")
#1095 DGTL Manual
SendIrCommand("INPUTM1")
#1096 Full Auto
SendIrCommand("INPUTM0")
#1098 6-ch Input
SendIrCommand("INPUTM3")