User:Bulek
Power
- 193 Off
SendMultiZoneCommand(cmd, ["@PWR:1", "@MSP:1", "@MAM:2"]) #SendMultiZoneCommand(cmd, ["@AMT:2", "@MSP:1", "@MAM:2"])
- 192 On
SendMultiZoneCommand(cmd, ["@PWR:2", "@MSP:2", "@MAM:1"]) #SendMultiZoneCommand(cmd, ["@AMT:1", "@MSP:2", "@MAM:1"])
Inputs
- 169 AM
SendMultiZoneCommand(cmd, ["@SRC:H", "@MSC:H", "@MSC:H"])
- 164 Aux
SendMultiZoneCommand(cmd, ["@SRC:9", "@MSC:9", "@MSC:9"])
- 172 Aux 2
SendMultiZoneCommand(cmd, ["@SRC:A", "@MSC:A", "@MSC:A"])
- 162 CD
SendMultiZoneCommand(cmd, ["@SRC:C", "@MSC:C", "@MSC:C"])
- 420 CDR
SendMultiZoneCommand(cmd, ["@SRC:D", "@MSC:D", "@MSC:D"])
- 178 DSS
SendMultiZoneCommand(cmd, ["@SRC:4", "@MSC:4", "@MSC:4"])
- 165 DVD
SendMultiZoneCommand(cmd, ["@SRC:2", "@MSC:2", "@MSC:2"])
- 170 FM
SendMultiZoneCommand(cmd, ["@SRC:G", "@MSC:G", "@MSC:G"])
- 160 Tape / Tape 1
SendMultiZoneCommand(cmd, ["@SRC:E", "@MSC:E", "@MSC:E"])
- 166 Tuner
SendMultiZoneCommand(cmd, ["@SRC:F", "@MSC:F", "@MSC:F"])
- 161 TV
SendMultiZoneCommand(cmd, ["@SRC:1", "@MSC:1", "@MSC:1"])
- 282 VCR-1
SendMultiZoneCommand(cmd, ["@SRC:3", "@MSC:3", "@MSC:3"])
DSP Modes (Audio)
- 891 All Ch Stereo
#<$"@SUR:0H\r"$> SendIrCommand("@SUR:0H")
Disk Handle
- 48 Eject Disk
General
- 190 Enter/Go
Internal
- 373 Private Method Listing
def ReceiveReportCommand() buff = conn_.RecvDelimited("\r", 1000) print "Cmd response from Marantz: " + buff + "\n" log("Cmd response from Marantz: " + buff + "\n") end def SendIrCommand(command) conn_.Send(command+ "\r") log("Sending Command: " + command + "\n") ReceiveReportCommand() end def log(word) logTime = Time.now timeStr = logTime.strftime("%d-%m-%Y %H:%M:%S ") print( timeStr + " " + word) if( $logFile.nil? == false ) then $logFile.print( timeStr + " " + word ) $logFile.flush() end end def SendMultiZoneCommand(cmd, commandsArray, commandParam="") log("Got Command with ID: " + cmd.id_.to_s + " from: " + cmd.devidfrom_.to_s + " to: " + cmd.devidto_.to_s + "\n") zone = GetZone(cmd.devidto_) if( zone >= 0 and zone < commandsArray.size ) log("Determine zone for command : " + zone.to_s + "\n") SendIrCommand(commandsArray[zone] + commandParam.to_s) else log("SendMultiZoneCommand: invalid zone " + zone.to_s) end end def GetZone(deviceDestination) if( device_.mapDevice_PortChannel_.has_key?(deviceDestination) and device_.mapDevice_PortChannel_[deviceDestination] != nil and !device_.mapDevice_PortChannel_[deviceDestination].empty? ) return device_.mapDevice_PortChannel_[deviceDestination].to_i end return 0 end def ShowZones() log("####### Dev 2 PortChanel") device_.mapDevice_PortChannel_.each do |key, value| log(key.to_s + " => " + value.to_s) end log("======= PortChanel 2 Dev") device_.mapPortChannel_Device_.each do |key, value| log(key.to_s + " => " + value.to_s) end end
- 351 Process IDLE
- 350 Process Incoming Data
buff = conn_.RecvDelimited("\r", 1000) print "Info from Marantz: " + buff + "\n" log("Info from Marantz: " + buff + "\n")
- 355 Process Initialize
$logFile = File.new("/var/log/pluto/Marantz_SR5600.log", "w") log("Initializing Marantz GSD Device\n") #<$"@AST:F\r"$> # max level of feedback SendIrCommand("@AST:F") #<$"@MPW:2\r"$> # multi room always on SendIrCommand("@MPW:2") #<$"@MSP:1\r"$> # turn multi room speakers off by default SendIrCommand("@MSP:1") #<$"@MAM:2\r"$> # mute multi room line out by default SendIrCommand("MAM:2") #<$"@VOL:0-20\r"$> # default main volume -20 SendIrCommand("@VOL:0-20") #<$"@MSV:0-60\r"$> # default multi speaker volume SendIrCommand("@MSV:0-60") #<$"@MVL:0-60\r"$> # default multi room line out volume SendIrCommand("@MVL:0-60") log("Initialization of Marantz GSD Device finished !!!!\n")
- 384 Process Receive Command For Child
- 356 Process Release
log("Shutting down Marantz GSD Device\n") SendIrCommand("@MAM:2") SendIrCommand("@MSP:1") log("Sending Marantz : Power Off: PWR:1\n") #<$"@PWR:1\r"</s></s>$> SendIrCommand("@PWR:1")
Misc
- 587 Preset/Prog/Freq
identifier = cmd.params_[216] # Main volume "TFQ:0xxxxx" from 08700 till + 10800 # Multiroom Frequency “MTF:0xxxxx“ from 08700 till + 10800 # Multiroom Speakers “MTF:0xxxxx“ from 08700 till + 10800 # switch to tuner mode first SendMultiZoneCommand(cmd, ["@SRC:G", "@MSC:G", "@MSC:G"]) # tune to desired frequency SendMultiZoneCommand(cmd, ["@TFQ:0"+identifier, "@MTF:0"+identifier, "@MTF:0"+identifier]) log("Sending Marantz : Setting tuner frequency to "+identifier+"\n")
On-Screen Menu Navig
- 240 Back / Prior Menu
- 225 Display
- 368 Help
- 86 Menu (Show Menu)
- 201 Move Down
- 202 Move Left
- 203 Move Right
- 200 Move Up
Simple Control
- 92 Pause
- 139 Play
- 102 Record
- 64 Skip Back - Channel/Track Lower
- 63 Skip Fwd - Channel/Track Greater
- 95 Stop
Sound & Volume
- 97 Mute
SendMultiZoneCommand(cmd, ["@AMT:0", "@MSM:0", "@MAM:0"])
- 313 Set Volume
level = cmd.params_[76] # Main volume “VOL:0xxx” from - 99 till + 18 # Multiroom Speakers "MSV:0xxx" from - 99 till + 0 # Multiroom Speakers “MVL:0xxx” from - 99 till + 0 SendMultiZoneCommand(cmd, ["@VOL:0"+level, "@MSV:0"+level, "@MVL:0"+level]) log("Sending Marantz : Set Volume Level to "+level+"\n")
- 90 Vol Down
SendMultiZoneCommand(cmd, ["@VOL:2", "@MSV:2", "@MVL:2"])
- 89 Vol Up
SendMultiZoneCommand(cmd, ["@VOL:1", "@MSV:1", "@MVL:1"])
Speed Ctrl
- 125 Scan Back/Rewind
- 93 Scan Fwd/Fast Fwd
- 98 Slow Scan Back
- 99 Slow Scan Forward
DSP ModesDSP Mode commands not implemented: Dolby Digital, DTS Surround, Surround (Click to add)
def ReceiveReportCommand() buff = conn_.RecvDelimited("\r", 1000) print "Cmd response from Marantz: " + buff + "\n" log("Cmd response from Marantz: " + buff + "\n") end
def SendIrCommand(command) conn_.Send(command+ "\r")
log("Sending Command: " + command + "\n")
ReceiveReportCommand() end
def log(word) logTime = Time.now timeStr = logTime.strftime("%d-%m-%Y %H:%M:%S ")
print( timeStr + " " + word) if( $logFile.nil? == false ) then $logFile.print( timeStr + " " + word ) $logFile.flush() end end
def SendMultiZoneCommand(cmd, commandsArray, commandParam="")
log("Got Command with ID: " + cmd.id_.to_s + " from: " + cmd.devidfrom_.to_s + " to: " + cmd.devidto_.to_s + "\n")
zone = GetZone(cmd.devidto_) if( zone >= 0 and zone < commandsArray.size ) log("Determine zone for command : " + zone.to_s + "\n") SendIrCommand(commandsArray[zone] + commandParam.to_s) else log("SendMultiZoneCommand: invalid zone " + zone.to_s) end end
def GetZone(deviceDestination) if( device_.mapDevice_PortChannel_.has_key?(deviceDestination) and device_.mapDevice_PortChannel_[deviceDestination] != nil and !device_.mapDevice_PortChannel_[deviceDestination].empty? ) return device_.mapDevice_PortChannel_[deviceDestination].to_i end
return 0 end
def ShowZones() log("####### Dev 2 PortChanel") device_.mapDevice_PortChannel_.each do |key, value| log(key.to_s + " => " + value.to_s) end
log("======= PortChanel 2 Dev") device_.mapPortChannel_Device_.each do |key, value| log(key.to_s + " => " + value.to_s) end end
buff = conn_.RecvDelimited("\r", 1000)
print "Info from Marantz: " + buff + "\n"
log("Info from Marantz: " + buff + "\n")
$logFile = File.new("/var/log/pluto/Marantz_SR5600.log", "w")
log("Initializing Marantz GSD Device\n")
- <$"@AST:F\r"$> # max level of feedback
SendIrCommand("@AST:F")
- <$"@MPW:2\r"$> # multi room always on
SendIrCommand("@MPW:2")
- <$"@MSP:1\r"$> # turn multi room speakers off by default
SendIrCommand("@MSP:1")
- <$"@MAM:2\r"$> # mute multi room line out by default
SendIrCommand("MAM:2")
- <$"@VOL:0-20\r"$> # default main volume -20
SendIrCommand("@VOL:0-20")
- <$"@MSV:0-60\r"$> # default multi speaker volume
SendIrCommand("@MSV:0-60")
- <$"@MVL:0-60\r"$> # default multi room line out volume
SendIrCommand("@MVL:0-60")
log("Initialization of Marantz GSD Device finished !!!!\n")
log("Shutting down Marantz GSD Device\n") SendIrCommand("@MAM:2") SendIrCommand("@MSP:1") log("Sending Marantz : Power Off: PWR:1\n")
- <$"@PWR:1\r"</s></s>$>
SendIrCommand("@PWR:1")
identifier = cmd.params_[216]
- Main volume "TFQ:0xxxxx" from 08700 till + 10800
- Multiroom Frequency “MTF:0xxxxx“ from 08700 till + 10800
- Multiroom Speakers “MTF:0xxxxx“ from 08700 till + 10800
- switch to tuner mode first
SendMultiZoneCommand(cmd, ["@SRC:G", "@MSC:G", "@MSC:G"])
- tune to desired frequency
SendMultiZoneCommand(cmd, ["@TFQ:0"+identifier, "@MTF:0"+identifier, "@MTF:0"+identifier]) log("Sending Marantz : Setting tuner frequency to "+identifier+"\n")
level = cmd.params_[76]
- Main volume “VOL:0xxx” from - 99 till + 18
- Multiroom Speakers "MSV:0xxx" from - 99 till + 0
- Multiroom Speakers “MVL:0xxx” from - 99 till + 0
SendMultiZoneCommand(cmd, ["@VOL:0"+level, "@MSV:0"+level, "@MVL:0"+level]) log("Sending Marantz : Set Volume Level to "+level+"\n")