|
|
(8 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | [[Category: Hardware]]
| |
− | [[category: Audio]]
| |
− | {{versioninfo}}
| |
− | {{stub}}
| |
− | [[category: Tutorials]]
| |
− | == Using the Kenwood Sovereign with RS232 Control ==
| |
− | '''UNDER DEVELOPMENT'''
| |
| | | |
− | ----
| |
− |
| |
− | Current features supported:
| |
− | *On/Off
| |
− | *Mute
| |
− | *Volume control (Up/Down)
| |
− |
| |
− | Defined but not tested:
| |
− | *Input selection
| |
− | *DSP Modes
| |
− | *THX contols
| |
− |
| |
− |
| |
− | Also, Logging events is not up to par either.
| |
− |
| |
− |
| |
− | ----
| |
− |
| |
− | == Ruby Codes ==
| |
− |
| |
− |
| |
− | '''#373 Private Method Listing'''
| |
− |
| |
− | # Private - Date: 2011-01-17
| |
− | 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.
| |
− |
| |
− | # for now.. populate an array manually
| |
− | end
| |
− |
| |
− |
| |
− | '''#350 Process Incoming Data'''
| |
− |
| |
− | buf = conn_.Recv(1000,1000)
| |
− | log("Received '" + buf + "' data from Receiver")
| |
− |
| |
− | '''#355 Process Initialize'''
| |
− |
| |
− | # Kenwood VR5x00 Receiver initialization
| |
− |
| |
− | $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")
| |
− |
| |
− | '''#193 Off'''
| |
− |
| |
− | SendIrCommand("PWR0")
| |
− |
| |
− |
| |
− | '''#192 On'''
| |
− |
| |
− | SendIrCommand("PWR1")
| |
− | sleep(2)
| |
− | SendIrCommand("MUTE0")
| |
− | @mute=false
| |