mirror of
https://github.com/LukeSpad/BeoGateway.git
synced 2024-12-23 21:51:51 +00:00
Delete CONSTANTS.py
This commit is contained in:
parent
0cd505151b
commit
5a2aa83831
1 changed files with 0 additions and 495 deletions
|
@ -1,495 +0,0 @@
|
||||||
# Constants for B&O telegram protocols
|
|
||||||
# ########################################################################################
|
|
||||||
# Config data (set on initialisation)
|
|
||||||
gateway = dict(
|
|
||||||
[
|
|
||||||
("Current Audio Source", 'Unknown'),
|
|
||||||
("Current Video Source", 'Unknown'),
|
|
||||||
("Now Playing", 'Unknown'),
|
|
||||||
("N.MUSIC Renderers", [])
|
|
||||||
]
|
|
||||||
)
|
|
||||||
rooms = []
|
|
||||||
devices = []
|
|
||||||
available_sources = []
|
|
||||||
|
|
||||||
# ########################################################################################
|
|
||||||
# Source Types
|
|
||||||
|
|
||||||
source_type_dict = dict(
|
|
||||||
[
|
|
||||||
("Video Sources", ("TV", "V.AUX/DTV2", "MEDIA", "V.TAPE/V.MEM/DVD2", "DVD", "CAMERA",
|
|
||||||
"SAT/DTV", "PC", "WEB", "DOORCAM", "PHOTO", "USB2", "WEBMEDIA", "AV.IN",
|
|
||||||
"HOMEMEDIA", "DVB_RADIO", "DNLA", "RECORDINGS", "CAMERA", "USB", "DNLA-DMR", "YOUTUBE",
|
|
||||||
"HOME.APP", "HDMI_1", "HDMI_2", "HDMI_3", "HDMI_4", "HDMI_5", "HDMI_6",
|
|
||||||
"HDMI_7", "HDMI_8", "MATRIX_1", "MATRIX_2", "MATRIX_3", "MATRIX_4", "MATRIX_5",
|
|
||||||
"MATRIX_6", "MATRIX_7", "MATRIX_8", "MATRIX_9", "MATRIX_10", "MATRIX_11",
|
|
||||||
"MATRIX_12", "MATRIX_13", "MATRIX_14", "MATRIX_15", "MATRIX_16", "PERSONAL_1",
|
|
||||||
"PERSONAL_2", "PERSONAL_3", "PERSONAL_4", "PERSONAL_5", "PERSONAL_6", "PERSONAL_7",
|
|
||||||
"PERSONAL_8")),
|
|
||||||
("Audio Sources", ("RADIO", "A.AUX", "A.TAPE/A.MEM", "CD", "PHONO/N.RADIO", "A.TAPE2/N.MUSIC",
|
|
||||||
"SERVER", "SPOTIFY", "CD2/JOIN", "TUNEIN", "DVB_RADIO", "LINE.IN", "BLUETOOTH",
|
|
||||||
"MUSIC", "AIRPLAY", "SPOTIFY", "DEEZER", "QPLAY"))
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
# ########################################################################################
|
|
||||||
# Beo4 Commands
|
|
||||||
beo4_commanddict = dict(
|
|
||||||
[
|
|
||||||
# Source selection:
|
|
||||||
(0x0C, "Standby"),
|
|
||||||
(0x47, "Sleep"),
|
|
||||||
(0x80, "TV"),
|
|
||||||
(0x81, "Radio"),
|
|
||||||
(0x82, "V.Aux/DTV2"),
|
|
||||||
(0x83, "A.Aux"),
|
|
||||||
(0x84, "Media"),
|
|
||||||
(0x85, "V.Tape/V.Mem"),
|
|
||||||
(0x86, "DVD"),
|
|
||||||
(0x87, "Camera"),
|
|
||||||
(0x88, "Text"),
|
|
||||||
(0x8A, "Sat/DTV"),
|
|
||||||
(0x8B, "PC"),
|
|
||||||
(0x8C, "Web"),
|
|
||||||
(0x8D, "Doorcam"),
|
|
||||||
(0x8E, "Photo"),
|
|
||||||
(0x90, "USB2"),
|
|
||||||
(0x91, "A.Tape/A.Mem"),
|
|
||||||
(0x92, "CD"),
|
|
||||||
(0x93, "Phono/N.Radio"),
|
|
||||||
(0x94, "A.Tape2/N.Music"),
|
|
||||||
(0x95, "Server"),
|
|
||||||
(0x96, "Spotify"),
|
|
||||||
(0x97, "CD2/Join"),
|
|
||||||
(0xBF, "AV"),
|
|
||||||
(0xFA, "P-IN-P"),
|
|
||||||
# Digits:
|
|
||||||
(0x00, "Digit-0"),
|
|
||||||
(0x01, "Digit-1"),
|
|
||||||
(0x02, "Digit-2"),
|
|
||||||
(0x03, "Digit-3"),
|
|
||||||
(0x04, "Digit-4"),
|
|
||||||
(0x05, "Digit-5"),
|
|
||||||
(0x06, "Digit-6"),
|
|
||||||
(0x07, "Digit-7"),
|
|
||||||
(0x08, "Digit-8"),
|
|
||||||
(0x09, "Digit-9"),
|
|
||||||
# Source control:
|
|
||||||
(0x1E, "Step Up"),
|
|
||||||
(0x1F, "Step Down"),
|
|
||||||
(0x32, "Rewind"),
|
|
||||||
(0x33, "Return"),
|
|
||||||
(0x34, "Wind"),
|
|
||||||
(0x35, "Go/Play"),
|
|
||||||
(0x36, "Stop"),
|
|
||||||
(0xD4, "Yellow"),
|
|
||||||
(0xD5, "Green"),
|
|
||||||
(0xD8, "Blue"),
|
|
||||||
(0xD9, "Red"),
|
|
||||||
# Sound and picture control
|
|
||||||
(0x0D, "Mute"),
|
|
||||||
(0x1C, "P.Mute"),
|
|
||||||
(0x2A, "Format"),
|
|
||||||
(0x44, "Sound/Speaker"),
|
|
||||||
(0x5C, "Menu"),
|
|
||||||
(0x60, "Volume Up"),
|
|
||||||
(0x64, "Volume Down"),
|
|
||||||
(0xDA, "Cinema_On"),
|
|
||||||
(0xDB, "Cinema_Off"),
|
|
||||||
# Other controls:
|
|
||||||
(0xF7, "Stand"),
|
|
||||||
(0x0A, "Clear"),
|
|
||||||
(0x0B, "Store"),
|
|
||||||
(0x0E, "Reset"),
|
|
||||||
(0x14, "Back"),
|
|
||||||
(0x15, "MOTS"),
|
|
||||||
(0x20, "Goto"),
|
|
||||||
(0x28, "Show Clock"),
|
|
||||||
(0x2D, "Eject"),
|
|
||||||
(0x37, "Record"),
|
|
||||||
(0x3F, "Select"),
|
|
||||||
(0x46, "Sound"),
|
|
||||||
(0x7F, "Exit"),
|
|
||||||
(0xC0, "Shift-0/Edit"),
|
|
||||||
(0xC1, "Shift-1/Random"),
|
|
||||||
(0xC2, "Shift-2"),
|
|
||||||
(0xC3, "Shift-3/Repeat"),
|
|
||||||
(0xC4, "Shift-4/Select"),
|
|
||||||
(0xC5, "Shift-5"),
|
|
||||||
(0xC6, "Shift-6"),
|
|
||||||
(0xC7, "Shift-7"),
|
|
||||||
(0xC8, "Shift-8"),
|
|
||||||
(0xC9, "Shift-9"),
|
|
||||||
# Continue functionality:
|
|
||||||
(0x70, "Rewind Repeat"),
|
|
||||||
(0x71, "Wind Repeat"),
|
|
||||||
(0x72, "Step_UP Repeat"),
|
|
||||||
(0x73, "Step_DW Repeat"),
|
|
||||||
(0x75, "Go Repeat"),
|
|
||||||
(0x76, "Green Repeat"),
|
|
||||||
(0x77, "Yellow Repeat"),
|
|
||||||
(0x78, "Blue Repeat"),
|
|
||||||
(0x79, "Red Repeat"),
|
|
||||||
(0x7E, "Key Release"),
|
|
||||||
# Functions:
|
|
||||||
(0x40, "Guide"),
|
|
||||||
(0x43, "Info"),
|
|
||||||
# Cursor functions:
|
|
||||||
(0x13, "Select"),
|
|
||||||
(0xCA, "Cursor_Up"),
|
|
||||||
(0xCB, "Cursor_Down"),
|
|
||||||
(0xCC, "Cursor_Left"),
|
|
||||||
(0xCD, "Cursor_Right"),
|
|
||||||
# Light/Control commands
|
|
||||||
(0x9B, "Light"),
|
|
||||||
(0x9C, "Command"),
|
|
||||||
(0x58, "Light Timeout"),
|
|
||||||
# Dummy for 'Listen for all commands'
|
|
||||||
(0xFF, "<all>"),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
BEO4_CMDS = {v.upper(): k for k, v in beo4_commanddict.items()}
|
|
||||||
|
|
||||||
# BeoRemote One Commands
|
|
||||||
beoremoteone_commanddict = dict(
|
|
||||||
[
|
|
||||||
# Source, (Cmd, Unit)
|
|
||||||
("TV", (0x80, 0)),
|
|
||||||
("RADIO", (0x81, 0)),
|
|
||||||
("TUNEIN", (0x81, 1)),
|
|
||||||
("DVB_RADIO", (0x81, 2)),
|
|
||||||
("AV.IN", (0x82, 0)),
|
|
||||||
("LINE.IN", (0x83, 0)),
|
|
||||||
("A.AUX", (0x83, 1)),
|
|
||||||
("BLUETOOTH", (0x83, 2)),
|
|
||||||
("HOMEMEDIA", (0x84, 0)),
|
|
||||||
("DNLA", (0x84, 1)),
|
|
||||||
("RECORDINGS", (0x85, 0)),
|
|
||||||
("CAMERA", (0x87, 0)),
|
|
||||||
("FUTURE.USE", (0x89, 0)),
|
|
||||||
("USB", (0x90, 0)),
|
|
||||||
("A.MEM", (0x91, 0)),
|
|
||||||
("CD", (0x92, 0)),
|
|
||||||
("N.RADIO", (0x93, 0)),
|
|
||||||
("MUSIC", (0x94, 0)),
|
|
||||||
("DNLA-DMR", (0x94, 1)),
|
|
||||||
("AIRPLAY", (0x94, 2)),
|
|
||||||
("SPOTIFY", (0x96, 0)),
|
|
||||||
("DEEZER", (0x96, 1)),
|
|
||||||
("QPLAY", (0x96, 2)),
|
|
||||||
("JOIN", (0x97, 0)),
|
|
||||||
("WEBMEDIA", (0x8C, 0)),
|
|
||||||
("YOUTUBE", (0x8C, 1)),
|
|
||||||
("HOME.APP", (0x8C, 2)),
|
|
||||||
("HDMI_1", (0xCE, 0)),
|
|
||||||
("HDMI_2", (0xCE, 1)),
|
|
||||||
("HDMI_3", (0xCE, 2)),
|
|
||||||
("HDMI_4", (0xCE, 3)),
|
|
||||||
("HDMI_5", (0xCE, 4)),
|
|
||||||
("HDMI_6", (0xCE, 5)),
|
|
||||||
("HDMI_7", (0xCE, 6)),
|
|
||||||
("HDMI_8", (0xCE, 7)),
|
|
||||||
("MATRIX_1", (0xCF, 0)),
|
|
||||||
("MATRIX_2", (0xCF, 1)),
|
|
||||||
("MATRIX_3", (0xCF, 2)),
|
|
||||||
("MATRIX_4", (0xCF, 3)),
|
|
||||||
("MATRIX_5", (0xCF, 4)),
|
|
||||||
("MATRIX_6", (0xCF, 5)),
|
|
||||||
("MATRIX_7", (0xCF, 6)),
|
|
||||||
("MATRIX_8", (0xCF, 7)),
|
|
||||||
("MATRIX_9", (0xD0, 0)),
|
|
||||||
("MATRIX_10", (0xD0, 1)),
|
|
||||||
("MATRIX_11", (0xD0, 2)),
|
|
||||||
("MATRIX_12", (0xD0, 3)),
|
|
||||||
("MATRIX_13", (0xD0, 4)),
|
|
||||||
("MATRIX_14", (0xD0, 5)),
|
|
||||||
("MATRIX_15", (0xD0, 6)),
|
|
||||||
("MATRIX_16", (0xD0, 7)),
|
|
||||||
("PERSONAL_1", (0xD1, 0)),
|
|
||||||
("PERSONAL_2", (0xD1, 1)),
|
|
||||||
("PERSONAL_3", (0xD1, 2)),
|
|
||||||
("PERSONAL_4", (0xD1, 3)),
|
|
||||||
("PERSONAL_5", (0xD1, 4)),
|
|
||||||
("PERSONAL_6", (0xD1, 5)),
|
|
||||||
("PERSONAL_7", (0xD1, 6)),
|
|
||||||
("PERSONAL_8", (0xD1, 7)),
|
|
||||||
("TV.ON", (0xD2, 0)),
|
|
||||||
("MUSIC.ON", (0xD3, 0)),
|
|
||||||
("PATTERNPLAY", (0xD3, 1)),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
# ########################################################################################
|
|
||||||
# Source Activity
|
|
||||||
sourceactivitydict = dict(
|
|
||||||
[
|
|
||||||
(0x00, "Unknown"),
|
|
||||||
(0x01, "Stop"),
|
|
||||||
(0x02, "Play"),
|
|
||||||
(0x03, "Wind"),
|
|
||||||
(0x04, "Rewind"),
|
|
||||||
(0x05, "Record Lock"),
|
|
||||||
(0x06, "Standby"),
|
|
||||||
(0x07, "Load/No Media"),
|
|
||||||
(0x08, "Still Picture"),
|
|
||||||
(0x14, "Scan Forward"),
|
|
||||||
(0x15, "Scan Reverse"),
|
|
||||||
(0xFF, "None"),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
# ########################################################################################
|
|
||||||
# ##### MasterLink (not MLGW) Protocol packet constants
|
|
||||||
ml_telegram_type_dict = dict(
|
|
||||||
[
|
|
||||||
(0x0A, "COMMAND"),
|
|
||||||
(0x0B, "REQUEST"),
|
|
||||||
(0x14, "RESPONSE"),
|
|
||||||
(0x2C, "INFO"),
|
|
||||||
(0x5E, "CONFIG"),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
ml_command_type_dict = dict(
|
|
||||||
[
|
|
||||||
(0x04, "MASTER_PRESENT"),
|
|
||||||
# REQUEST_DISTRIBUTED_SOURCE: seen when a device asks what source is being distributed
|
|
||||||
# subtypes seen 01:request 04:no source 06:has source (byte 13 is source)
|
|
||||||
(0x08, "REQUEST_DISTRIBUTED_SOURCE"),
|
|
||||||
(0x0D, "BEO4_KEY"),
|
|
||||||
(0x10, "STANDBY"),
|
|
||||||
(0x11, "RELEASE"), # when a device turns off
|
|
||||||
(0x20, "MLGW_REMOTE_BEO4"),
|
|
||||||
# REQUEST_LOCAL_SOURCE: Seen when a device asks what source is playing locally to a device
|
|
||||||
# subtypes seen 02:request 04:no source 05:secondary source 06:primary source (byte 11 is source)
|
|
||||||
# byte 10 is bitmask for distribution: 0x01: coaxial cable - 0x02: MasterLink ML_BUS -
|
|
||||||
# 0x08: local screen
|
|
||||||
(0x30, "REQUEST_LOCAL_SOURCE"),
|
|
||||||
(0x3C, "TIMER"),
|
|
||||||
(0x40, "CLOCK"),
|
|
||||||
(0x44, "TRACK_INFO"),
|
|
||||||
(0x45, "GOTO_SOURCE"),
|
|
||||||
# LOCKMANAGER_COMMAND: Lock to Determine what device issues source commands
|
|
||||||
# reference: https://tidsskrift.dk/daimipb/article/download/7043/6004/0
|
|
||||||
(0x5C, "LOCK_MANAGER_COMMAND"),
|
|
||||||
(0x6C, "DISTRIBUTION_REQUEST"),
|
|
||||||
(0x82, "TRACK_INFO_LONG"),
|
|
||||||
# Source Status
|
|
||||||
# byte 10:source - byte 13: 80 when DTV is turned off. 00 when it's on
|
|
||||||
# byte 18H 17L: source medium - byte 19: channel/track - byte 21:activity
|
|
||||||
# byte 22: 01: audio source 02: video source ff:undefined - byte 23: picture identifier
|
|
||||||
(0x87, "STATUS_INFO"),
|
|
||||||
(0x94, "VIDEO_TRACK_INFO"),
|
|
||||||
#
|
|
||||||
# -----------------------------------------------------------------------
|
|
||||||
# More packets that we see on the bus, with a guess of the type
|
|
||||||
# DISPLAY_SOURCE: Message sent with a payload showing the displayed source name.
|
|
||||||
# subtype 3 has the printable source name starting at byte 10 of the payload
|
|
||||||
(0x06, "DISPLAY_SOURCE"),
|
|
||||||
# START_VIDEO_DISTRIBUTION: Sent when a locally playing source starts being distributed on coaxial cable
|
|
||||||
(0x07, "START_VIDEO_DISTRIBUTION"),
|
|
||||||
# EXTENDED_SOURCE_INFORMATION: message with 6 subtypes showing information about the source.
|
|
||||||
# Printable info at byte 14 of the payload
|
|
||||||
# For Radio: 1: "" 2: Genre 3: Country 4: RDS info 5: Associated beo4 button 6: "Unknown"
|
|
||||||
# For A.Mem: 1: Genre 2: Album 3: Artist 4: Track name 5: Associated beo4 button 6: "Unknown"
|
|
||||||
(0x0B, "EXTENDED_SOURCE_INFORMATION"),
|
|
||||||
(0x96, "PC_PRESENT"),
|
|
||||||
# PICTURE AND SOUND STATUS
|
|
||||||
# byte 0: bit 0-1: sound status - bit 2-3: stereo mode (can be 0 in a 5.1 setup)
|
|
||||||
# byte 1: speaker mode (see below)
|
|
||||||
# byte 2: audio volume
|
|
||||||
# byte 3: picture format identifier (see below)
|
|
||||||
# byte 4: bit 0: screen1 mute - bit 1: screen2 mute - bit 2: screen1 active -
|
|
||||||
# bit 3: screen2 active - bit 4: cinema mode
|
|
||||||
(0x98, "PICT_SOUND_STATUS"),
|
|
||||||
# Unknown commands - seen on power up and initialisation
|
|
||||||
#########################################################
|
|
||||||
# On power up all devices send out a request key telegram. If
|
|
||||||
# no lock manager is allocated the devices send out a key_lost telegram. The Video Master (or Power
|
|
||||||
# Master in older implementations) then asserts a NEW_LOCKmANAGER telegram and assumes responsibility
|
|
||||||
# for LOCKMANAGER_COMMAND telegrams until a key transfer occurs.
|
|
||||||
# reference: https://tidsskrift.dk/daimipb/article/download/7043/6004/0
|
|
||||||
(0x12, "KEY_LOST"), # ?
|
|
||||||
# Unknown command with payload of length 1.
|
|
||||||
# bit 0: unknown
|
|
||||||
# bit 1: unknown
|
|
||||||
(0xA0, "NEW_LOCKMANAGER"), # ?
|
|
||||||
# Unknown command with payload of length 2
|
|
||||||
# bit 0: unknown
|
|
||||||
# bit 1: unknown
|
|
||||||
# bit 2: unknown
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
ml_command_type_request_key_subtype_dict = dict(
|
|
||||||
[
|
|
||||||
(0x01, "Request Key"),
|
|
||||||
(0x02, "Transfer Key"),
|
|
||||||
(0x03, "Transfer Impossible"),
|
|
||||||
(0x04, "Key Received"),
|
|
||||||
(0x05, "Timeout"),
|
|
||||||
(0xFF, "Undefined"),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
ml_activity_dict = dict(
|
|
||||||
[
|
|
||||||
(0x01, "Request Source"),
|
|
||||||
(0x02, "Request Source"),
|
|
||||||
(0x04, "No Source"),
|
|
||||||
(0x06, "Source Active"),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
ml_device_dict = dict(
|
|
||||||
[
|
|
||||||
(0xC0, "VIDEO MASTER"),
|
|
||||||
(0xC1, "AUDIO MASTER"),
|
|
||||||
(0xC2, "SOURCE CENTER/SLAVE DEVICE"),
|
|
||||||
(0x81, "ALL AUDIO LINK DEVICES"),
|
|
||||||
(0x82, "ALL VIDEO LINK DEVICES"),
|
|
||||||
(0x83, "ALL LINK DEVICES"),
|
|
||||||
(0x80, "ALL"),
|
|
||||||
(0xF0, "MLGW"),
|
|
||||||
(0x21, "BLC NL/ML"),
|
|
||||||
# Power Master exists in older (pre 1996?) ML implementations. Later revisions enforced the Video Master
|
|
||||||
# as lock key manager for the system and the concept was phased out. If your system is older than 2000
|
|
||||||
# you may see this device type on the network.
|
|
||||||
# reference: https://tidsskrift.dk/daimipb/article/download/7043/6004/0
|
|
||||||
(0xFF, "POWER MASTER"), # ?
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
ml_pictureformatdict = dict(
|
|
||||||
[
|
|
||||||
(0x00, "Not known"),
|
|
||||||
(0x01, "Known by decoder"),
|
|
||||||
(0x02, "4:3"),
|
|
||||||
(0x03, "16:9"),
|
|
||||||
(0x04, "4:3 Letterbox middle"),
|
|
||||||
(0x05, "4:3 Letterbox top"),
|
|
||||||
(0x06, "4:3 Letterbox bottom"),
|
|
||||||
(0xFF, "Blank picture"),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
ml_selectedsourcedict = dict(
|
|
||||||
[
|
|
||||||
(0x00, "NONE"),
|
|
||||||
(0x0B, "TV"),
|
|
||||||
(0x15, "V.TAPE/V.MEM"),
|
|
||||||
(0x16, "DVD2"),
|
|
||||||
(0x1F, "SAT/DTV"),
|
|
||||||
(0x29, "DVD"),
|
|
||||||
(0x33, "V.AUX/DTV2"),
|
|
||||||
(0x3E, "DOORCAM"),
|
|
||||||
(0x47, "PC"),
|
|
||||||
(0x6F, "RADIO"),
|
|
||||||
(0x79, "A.TAPE/A.MEM"),
|
|
||||||
(0x7A, "A.TAPE2/N.MUSIC"),
|
|
||||||
(0x8D, "CD"),
|
|
||||||
(0x97, "A.AUX"),
|
|
||||||
(0xA1, "PHONO/N.RADIO"),
|
|
||||||
# Dummy for 'Listen for all sources'
|
|
||||||
(0xFE, "ALL"), # have also seen 0xFF as "all"
|
|
||||||
(0xFF, "ALL"),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
ml_trackinfo_subtype_dict = dict([(0x05, "Current Source"), (0x07, "Change Source"), ])
|
|
||||||
|
|
||||||
ml_sourcekind_dict = dict([(0x01, "audio source"), (0x02, "video source"), (0xFF, "undefined")])
|
|
||||||
|
|
||||||
ml_selectedsource_type_dict = dict(
|
|
||||||
[
|
|
||||||
("VIDEO", (0x0B, 0x1F)),
|
|
||||||
("VIDEO_PAUSABLE", (0x15, 0x16, 0x29, 0x33)),
|
|
||||||
("AUDIO", (0x6F, 0x97)),
|
|
||||||
("AUDIO_PAUSABLE", (0x8D, 0x79, 0x7A, 0xA1, 0x8D)),
|
|
||||||
("ALL", (0xFE, 0xFF)),
|
|
||||||
("OTHER", (0x47, 0x3E)),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
# ########################################################################################
|
|
||||||
# ##### MLGW Protocol packet constants
|
|
||||||
mlgw_payloadtypedict = dict(
|
|
||||||
[
|
|
||||||
(0x01, "Beo4 Command"),
|
|
||||||
(0x02, "Source Status"),
|
|
||||||
(0x03, "Picture and Sound Status"),
|
|
||||||
(0x04, "Light and Control command"),
|
|
||||||
(0x05, "All standby notification"),
|
|
||||||
(0x06, "BeoRemote One control command"),
|
|
||||||
(0x07, "BeoRemote One source selection"),
|
|
||||||
(0x20, "MLGW virtual button event"),
|
|
||||||
(0x30, "Login request"),
|
|
||||||
(0x31, "Login status"),
|
|
||||||
(0x32, "Change password request"),
|
|
||||||
(0x33, "Change password response"),
|
|
||||||
(0x34, "Secure login request"),
|
|
||||||
(0x36, "Ping"),
|
|
||||||
(0x37, "Pong"),
|
|
||||||
(0x38, "Configuration change notification"),
|
|
||||||
(0x39, "Request Serial Number"),
|
|
||||||
(0x3A, "Serial Number"),
|
|
||||||
(0x40, "Location based event"),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
MLGW_PL = {v.upper(): k for k, v in mlgw_payloadtypedict.items()}
|
|
||||||
|
|
||||||
destselectordict = dict(
|
|
||||||
[
|
|
||||||
(0x00, "Video Source"),
|
|
||||||
(0x01, "Audio Source"),
|
|
||||||
(0x05, "Secondary Video Source (V.TAPE/V.MEM)"),
|
|
||||||
(0x0F, "All Products"),
|
|
||||||
(0x1B, "MLGW"),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
CMDS_DEST = {v.upper(): k for k, v in destselectordict.items()}
|
|
||||||
|
|
||||||
mlgw_secsourcedict = dict([(0x00, "V.TAPE/V.MEM"), (0x01, "V.TAPE2/DVD2/V.MEM2")])
|
|
||||||
mlgw_linkdict = dict([(0x00, "Local/Default Source"), (0x01, "Remote Source/Option 4 Product")])
|
|
||||||
|
|
||||||
mlgw_virtualactiondict = dict([(0x01, "PRESS"), (0x02, "HOLD"), (0x03, "RELEASE")])
|
|
||||||
|
|
||||||
# for '0x03: Picture and Sound Status'
|
|
||||||
mlgw_soundstatusdict = dict([(0x00, "Not muted"), (0x01, "Muted")])
|
|
||||||
|
|
||||||
mlgw_speakermodedict = dict(
|
|
||||||
[
|
|
||||||
(0x01, "Center channel"),
|
|
||||||
(0x02, "2 channel stereo"),
|
|
||||||
(0x03, "Front surround"),
|
|
||||||
(0x04, "4 channel stereo"),
|
|
||||||
(0x05, "Full surround"),
|
|
||||||
(0xFD, "<all>"), # Dummy for 'Listen for all modes'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
mlgw_screenmutedict = dict([(0x00, "not muted"), (0x01, "muted")])
|
|
||||||
mlgw_screenactivedict = dict([(0x00, "not active"), (0x01, "active")])
|
|
||||||
mlgw_cinemamodedict = dict([(0x00, "Cinema mode off"), (0x01, "Cinema mode on")])
|
|
||||||
mlgw_stereoindicatordict = dict([(0x00, "Mono"), (0x01, "Stereo")])
|
|
||||||
|
|
||||||
# for '0x04: Light and Control command'
|
|
||||||
mlgw_lctypedict = dict([(0x01, "LIGHT"), (0x02, "CONTROL")])
|
|
||||||
|
|
||||||
# for '0x31: Login Status
|
|
||||||
mlgw_loginstatusdict = dict([(0x00, "OK"), (0x01, "FAIL")])
|
|
||||||
|
|
||||||
# ########################################################################################
|
|
||||||
# ##### BeoLink Gateway Protocol packet constants
|
|
||||||
blgw_srcdict = dict(
|
|
||||||
[
|
|
||||||
("TV", "TV"),
|
|
||||||
("DVD", "DVD"),
|
|
||||||
("RADIO", "RADIO"),
|
|
||||||
("TP1", "A.TAPE/A.MEM"),
|
|
||||||
("TP2", "A.TAPE2/N.MUSIC"),
|
|
||||||
("CD", "CD"),
|
|
||||||
("PH", "PHONO/N.RADIO"),
|
|
||||||
]
|
|
||||||
)
|
|
Loading…
Reference in a new issue