Difference between revisions of "Kenwood Sovereign Receivers"

From LinuxMCE
Jump to: navigation, search
Line 4: Line 4:
 
{{stub}}
 
{{stub}}
 
[[category: Tutorials]]
 
[[category: Tutorials]]
== Using the Kenwood Sovereign Receivers with RS232 Control ==
+
== Using the Kenwood Sovereign Receivers with RS232 Control  
  
 
'''THIS CODE IS STILL BEING DEVELOPED'''
 
'''THIS CODE IS STILL BEING DEVELOPED'''
Line 296: Line 296:
  
 
SendIrCommand("INPUTM3")
 
SendIrCommand("INPUTM3")
 +
 +
 +
 +
 +
--[[User:Ardirtbiker|Dennis]] 04:10, 25 January 2011 (CET)Dennis G.

Revision as of 04:10, 25 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. 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 < 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

  • 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")



--Dennis 04:10, 25 January 2011 (CET)Dennis G.