Kenwood Sovereign Receivers: Difference between revisions
Ardirtbiker (talk | contribs) Kenwood Sovereign Receivers moved to User Ardirtbiker |
m Added category: GSD |
||
| (26 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
# | [[Category: Hardware]] | ||
[[category: Audio]] | |||
[[Category:Amps_Receivers]] | |||
[[Category: GSD]] | |||
{{versioninfo|810Status=relevant|810UpdatedDate=24 Jan 2011|810UpdatedBy=Dennis G}} | |||
{{stub}} | |||
== Using the Kenwood Sovereign Receivers with RS232 Control == | |||
[[Image:Sovereign.jpg]] | |||
'''THIS CODE IS STILL BEING DEVELOPED''' | |||
Models are VR 5900, VR 5700, VR 5090 and VR 5080 and maybe other models. | |||
Use a null-modem cable DB9 Female at each end. | |||
Com settings: 9600,N81 | |||
{{p}} | |||
== 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) | |||
* OTARadio (AM/FM) not working yet | |||
{{p}} | |||
== 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 < 255 | |||
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''' | |||
* These are Input Modes the receivers support for digital or analog input jacks | |||
* These were also defined by myself | |||
''#1094 Analog'' | |||
SendIrCommand("INPUTM2") | |||
''#1095 DGTL Manual'' | |||
SendIrCommand("INPUTM1") | |||
''#1096 Full Auto'' | |||
SendIrCommand("INPUTM0") | |||
''#1098 6-ch Input'' | |||
SendIrCommand("INPUTM3") | |||
Latest revision as of 13:56, 7 July 2016
| Version | Status | Date Updated | Updated By |
|---|---|---|---|
| 710 | Unknown | N/A | N/A |
| 810 | relevant | 24 Jan 2011 | Dennis G |
| 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 and maybe other models. Use a null-modem cable DB9 Female at each end. Com settings: 9600,N81
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)
- OTARadio (AM/FM) not working yet
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 < 255
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
- These are Input Modes the receivers support for digital or analog input jacks
- These were also defined by myself
#1094 Analog
SendIrCommand("INPUTM2")
#1095 DGTL Manual
SendIrCommand("INPUTM1")
#1096 Full Auto
SendIrCommand("INPUTM0")
#1098 6-ch Input
SendIrCommand("INPUTM3")