[rotel] Other commands added for RSP-1576, RSP-1582, RAP-1580, RDD-1580, RA-1592, RC-1590 (#13223)

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
This commit is contained in:
lolodomo 2022-08-07 22:50:19 +02:00 committed by GitHub
parent 70eb7dc511
commit 0e3a9f3c7e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 349 additions and 71 deletions

View File

@ -191,15 +191,15 @@ Here are the list of channels available for each thing type:
| ra12 | power, source, volume, mute, bass, treble, playControl, frequency, brightness, tcbypass, balance, otherCommand | | ra12 | power, source, volume, mute, bass, treble, playControl, frequency, brightness, tcbypass, balance, otherCommand |
| ra1570 | power, source, volume, mute, bass, treble, playControl, frequency, brightness, tcbypass, balance, speakera, speakerb, otherCommand | | ra1570 | power, source, volume, mute, bass, treble, playControl, frequency, brightness, tcbypass, balance, speakera, speakerb, otherCommand |
| ra1572 | power, source, volume, mute, bass, treble, frequency, brightness, tcbypass, balance, speakera, speakerb, otherCommand | | ra1572 | power, source, volume, mute, bass, treble, frequency, brightness, tcbypass, balance, speakera, speakerb, otherCommand |
| ra1592 | power, source, volume, mute, bass, treble, frequency, brightness, tcbypass, balance, speakera, speakerb | | ra1592 | power, source, volume, mute, bass, treble, frequency, brightness, tcbypass, balance, speakera, speakerb, otherCommand |
| rap1580 | power, source, dsp, volume, mute, brightness | | rap1580 | power, source, dsp, volume, mute, brightness, otherCommand |
| rc1570 | power, source, volume, mute, bass, treble, playControl, frequency, brightness, tcbypass, balance, otherCommand | | rc1570 | power, source, volume, mute, bass, treble, playControl, frequency, brightness, tcbypass, balance, otherCommand |
| rc1572 | power, source, volume, mute, bass, treble, frequency, brightness, tcbypass, balance, otherCommand | | rc1572 | power, source, volume, mute, bass, treble, frequency, brightness, tcbypass, balance, otherCommand |
| rc1590 | power, source, volume, mute, bass, treble, frequency, brightness, tcbypass, balance | | rc1590 | power, source, volume, mute, bass, treble, frequency, brightness, tcbypass, balance, otherCommand |
| rcd1570 | power, playControl, brightness | | rcd1570 | power, playControl, brightness |
| rcd1572 | power, playControl, track, random, repeat, brightness, otherCommand | | rcd1572 | power, playControl, track, random, repeat, brightness, otherCommand |
| rcx1500 | power, source, volume, mute, playControl | | rcx1500 | power, source, volume, mute, playControl |
| rdd1580 | power, source, playControl, frequency | | rdd1580 | power, source, playControl, frequency, otherCommand |
| rdg1520 | power, source, playControl | | rdg1520 | power, source, playControl |
| rsp1066 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volumeUpDown, mainZone#mute, mainZone#bass, mainZone#treble, mainZone#line1, mainZone#otherCommand, zone2#power, zone2#source, zone2#volumeUpDown | | rsp1066 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volumeUpDown, mainZone#mute, mainZone#bass, mainZone#treble, mainZone#line1, mainZone#otherCommand, zone2#power, zone2#source, zone2#volumeUpDown |
| rsp1068 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volume, mainZone#mute, mainZone#bass, mainZone#treble, mainZone#line1, mainZone#line2, mainZone#otherCommand, zone2#power, zone2#source, zone2#volume, zone2#mute, zone3#power, zone3#source, zone3#volume, zone3#mute, zone4#power, zone4#source, zone4#volume, zone4#mute | | rsp1068 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volume, mainZone#mute, mainZone#bass, mainZone#treble, mainZone#line1, mainZone#line2, mainZone#otherCommand, zone2#power, zone2#source, zone2#volume, zone2#mute, zone3#power, zone3#source, zone3#volume, zone3#mute, zone4#power, zone4#source, zone4#volume, zone4#mute |
@ -207,8 +207,8 @@ Here are the list of channels available for each thing type:
| rsp1098 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volume, mainZone#mute, mainZone#bass, mainZone#treble, mainZone#line1, mainZone#otherCommand, zone2#power, zone2#source, zone2#volume, zone2#mute | | rsp1098 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volume, mainZone#mute, mainZone#bass, mainZone#treble, mainZone#line1, mainZone#otherCommand, zone2#power, zone2#source, zone2#volume, zone2#mute |
| rsp1570 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volume, mainZone#mute, mainZone#bass, mainZone#treble, mainZone#line1, mainZone#line2, mainZone#otherCommand, zone2#power, zone2#source, zone2#volume, zone2#mute, zone3#power, zone3#source, zone3#volume, zone3#mute, zone4#power, zone4#source, zone4#volume, zone4#mute | | rsp1570 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volume, mainZone#mute, mainZone#bass, mainZone#treble, mainZone#line1, mainZone#line2, mainZone#otherCommand, zone2#power, zone2#source, zone2#volume, zone2#mute, zone3#power, zone3#source, zone3#volume, zone3#mute, zone4#power, zone4#source, zone4#volume, zone4#mute |
| rsp1572 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volume, mainZone#mute, mainZone#line1, mainZone#line2, mainZone#otherCommand, zone2#power, zone2#source, zone2#volume, zone2#mute, zone3#power, zone3#source, zone3#volume, zone3#mute, zone4#power, zone4#source, zone4#volume, zone4#mute | | rsp1572 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volume, mainZone#mute, mainZone#line1, mainZone#line2, mainZone#otherCommand, zone2#power, zone2#source, zone2#volume, zone2#mute, zone3#power, zone3#source, zone3#volume, zone3#mute, zone4#power, zone4#source, zone4#volume, zone4#mute |
| rsp1576 | power, source, dsp, volume, mute, brightness | | rsp1576 | power, source, dsp, volume, mute, brightness, otherCommand |
| rsp1582 | power, source, dsp, volume, mute, brightness | | rsp1582 | power, source, dsp, volume, mute, brightness, otherCommand |
| rsx1055 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volumeUpDown, mainZone#mute, mainZone#bass, mainZone#treble, mainZone#line1, mainZone#otherCommand, zone2#power, zone2#source, zone2#volumeUpDown | | rsx1055 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volumeUpDown, mainZone#mute, mainZone#bass, mainZone#treble, mainZone#line1, mainZone#otherCommand, zone2#power, zone2#source, zone2#volumeUpDown |
| rsx1056 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volume, mainZone#mute, mainZone#bass, mainZone#treble, mainZone#line1, mainZone#otherCommand, zone2#power, zone2#source, zone2#volume, zone2#mute | | rsx1056 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volume, mainZone#mute, mainZone#bass, mainZone#treble, mainZone#line1, mainZone#otherCommand, zone2#power, zone2#source, zone2#volume, zone2#mute |
| rsx1057 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volume, mainZone#mute, mainZone#bass, mainZone#treble, mainZone#line1, mainZone#otherCommand, zone2#power, zone2#source, zone2#volume, zone2#mute | | rsx1057 | mainZone#power, mainZone#source, mainZone#recordSource, mainZone#dsp, mainZone#volume, mainZone#mute, mainZone#bass, mainZone#treble, mainZone#line1, mainZone#otherCommand, zone2#power, zone2#source, zone2#volume, zone2#mute |
@ -232,27 +232,35 @@ Here are the available commands for the otherCommand channel depending on the th
| Thing Type | Available commands for the otherCommand channel | | Thing Type | Available commands for the otherCommand channel |
|--------------------|-------------------------------------------------------------------------------| |--------------------|-------------------------------------------------------------------------------|
| a11 | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK | | a11 | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK |
| a12 | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK | | a12 | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, PCUSB_CLASS |
| a14 | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK | | a14 | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, PCUSB_CLASS |
| cd11 | FAST_FWD, FAST_BACK, EJECT, TIME_TOGGLE, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0 | | cd11 | FAST_FWD, FAST_BACK, EJECT, TIME_TOGGLE, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0 |
| cd14 | FAST_FWD, FAST_BACK, EJECT, TIME_TOGGLE, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0 | | cd14 | FAST_FWD, FAST_BACK, EJECT, TIME_TOGGLE, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0 |
| p5 | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK | | p5 | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK |
| ra11 | FAST_FWD, FAST_BACK, RANDOM_TOGGLE, REPEAT_TOGGLE, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0 | | ra11 | FAST_FWD, FAST_BACK, RANDOM_TOGGLE, REPEAT_TOGGLE, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0 |
| ra12 | FAST_FWD, FAST_BACK, RANDOM_TOGGLE, REPEAT_TOGGLE, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0 | | ra12 | FAST_FWD, FAST_BACK, RANDOM_TOGGLE, REPEAT_TOGGLE, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0 |
| ra1570 | FAST_FWD, FAST_BACK, RANDOM_TOGGLE, REPEAT_TOGGLE, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0, PCUSB_CLASS_1, PCUSB_CLASS_2 | | ra1570 | FAST_FWD, FAST_BACK, RANDOM_TOGGLE, REPEAT_TOGGLE, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0, PCUSB_CLASS, PCUSB_CLASS_1, PCUSB_CLASS_2 |
| ra1572 (ASCII V1) | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, PCUSB_CLASS_1, PCUSB_CLASS_2, RESET_FACTORY | | ra1572 (ASCII V1) | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, PCUSB_CLASS, PCUSB_CLASS_1, PCUSB_CLASS_2, POWER_MODE, RESET_FACTORY |
| ra1572 (ASCII V2) | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, PCUSB_CLASS_1, PCUSB_CLASS_2, RESET_FACTORY | | ra1572 (ASCII V2) | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, PCUSB_CLASS, PCUSB_CLASS_1, PCUSB_CLASS_2, RESET_FACTORY |
| rc1570 | FAST_FWD, FAST_BACK, RANDOM_TOGGLE, REPEAT_TOGGLE, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0, PCUSB_CLASS_1, PCUSB_CLASS_2 | | ra1592 (ASCII V1) | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, FAST_FWD, FAST_BACK, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0, PCUSB_CLASS, PCUSB_CLASS_1, PCUSB_CLASS_2, POWER_MODE, POWER_MODE_QUICK, POWER_MODE_NORMAL, RESET_FACTORY |
| rc1572 (ASCII V1) | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, PCUSB_CLASS_1, PCUSB_CLASS_2, RESET_FACTORY | | ra1592 (ASCII V2) | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, PCUSB_CLASS, PCUSB_CLASS_1, PCUSB_CLASS_2 |
| rc1572 (ASCII V2) | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, PCUSB_CLASS_1, PCUSB_CLASS_2, RESET_FACTORY | | rap1580 | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, SUB_LEVEL_UP, SUB_LEVEL_DOWN, C_LEVEL_UP, C_LEVEL_DOWN, SR_LEVEL_UP, SR_LEVEL_DOWN, SL_LEVEL_UP, SL_LEVEL_DOWN, CBR_LEVEL_UP, CBR_LEVEL_DOWN, CBL_LEVEL_UP, CBL_LEVEL_DOWN, CFR_LEVEL_UP, CFR_LEVEL_DOWN, CFL_LEVEL_UP, CFL_LEVEL_DOWN, CRR_LEVEL_UP, CRR_LEVEL_DOWN, CRL_LEVEL_UP, CRL_LEVEL_DOWN, NEXT_MODE, RESET_FACTORY |
| rc1570 | FAST_FWD, FAST_BACK, RANDOM_TOGGLE, REPEAT_TOGGLE, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0, PCUSB_CLASS, PCUSB_CLASS_1, PCUSB_CLASS_2 |
| rc1572 (ASCII V1) | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, PCUSB_CLASS, PCUSB_CLASS_1, PCUSB_CLASS_2, POWER_MODE, RESET_FACTORY |
| rc1572 (ASCII V2) | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, PCUSB_CLASS, PCUSB_CLASS_1, PCUSB_CLASS_2, RESET_FACTORY |
| rc1590 (ASCII V1) | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, FAST_FWD, FAST_BACK, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0, PCUSB_CLASS, PCUSB_CLASS_1, PCUSB_CLASS_2, POWER_MODE, POWER_MODE_QUICK, POWER_MODE_NORMAL, RESET_FACTORY |
| rc1590 (ASCII V2) | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, PCUSB_CLASS, PCUSB_CLASS_1, PCUSB_CLASS_2 |
| rcd1572 (ASCII V1) | FAST_FWD, FAST_BACK, EJECT, TIME_TOGGLE, PROGRAM, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0 | | rcd1572 (ASCII V1) | FAST_FWD, FAST_BACK, EJECT, TIME_TOGGLE, PROGRAM, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0 |
| rcd1572 (ASCII V2) | FAST_FWD, FAST_BACK, EJECT, TIME_TOGGLE, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0 | | rcd1572 (ASCII V2) | FAST_FWD, FAST_BACK, EJECT, TIME_TOGGLE, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0 |
| rdd1580 | RANDOM_TOGGLE, REPEAT_TOGGLE, PCUSB_CLASS, PCUSB_CLASS_1, PCUSB_CLASS_2 |
| rsp1066 | DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE | | rsp1066 | DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE |
| rsp1068 | DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE | | rsp1068 | DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE |
| rsp1069 | DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE, POWER_OFF_ALL_ZONES, PARTY_MODE_TOGGLE, ZONE2_PARTY_MODE_TOGGLE, ZONE3_PARTY_MODE_TOGGLE, ZONE4_PARTY_MODE_TOGGLE, OUTPUT_RESOLUTION, HDMI_AMP_MODE, HDMI_TV_MODE | | rsp1069 | DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE, POWER_OFF_ALL_ZONES, PARTY_MODE_TOGGLE, ZONE2_PARTY_MODE_TOGGLE, ZONE3_PARTY_MODE_TOGGLE, ZONE4_PARTY_MODE_TOGGLE, OUTPUT_RESOLUTION, HDMI_AMP_MODE, HDMI_TV_MODE |
| rsp1098 | DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE, REMOTE_VOLUME_UP, REMOTE_VOLUME_DOWN | | rsp1098 | DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE, REMOTE_VOLUME_UP, REMOTE_VOLUME_DOWN |
| rsp1570 | STEREO_BYPASS_TOGGLE, DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE, POWER_OFF_ALL_ZONES, PARTY_MODE_TOGGLE, ZONE2_PARTY_MODE_TOGGLE, ZONE3_PARTY_MODE_TOGGLE, ZONE4_PARTY_MODE_TOGGLE, OUTPUT_RESOLUTION, HDMI_AMP_MODE, HDMI_TV_MODE, RESET_FACTORY | | rsp1570 | STEREO_BYPASS_TOGGLE, DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE, POWER_OFF_ALL_ZONES, PARTY_MODE_TOGGLE, ZONE2_PARTY_MODE_TOGGLE, ZONE3_PARTY_MODE_TOGGLE, ZONE4_PARTY_MODE_TOGGLE, OUTPUT_RESOLUTION, HDMI_AMP_MODE, HDMI_TV_MODE, RESET_FACTORY |
| rsp1572 | STEREO_BYPASS_TOGGLE, DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0, MENU, EXIT, UP_PRESSED, UP_RELEASED, DOWN_PRESSED, DOWN_RELEASED, LEFT_PRESSED, LEFT_RELEASED, RIGHT_PRESSED, RIGHT_RELEASED, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE, POWER_OFF_ALL_ZONES, PARTY_MODE_TOGGLE, ZONE2_PARTY_MODE_TOGGLE, ZONE3_PARTY_MODE_TOGGLE, ZONE4_PARTY_MODE_TOGGLE, OUTPUT_RESOLUTION, HDMI_AMP_MODE, HDMI_TV_MODE, ROOM_EQ_TOGGLE, SPEAKER_SETTING_TOGGLE, RESET_FACTORY | | rsp1572 | STEREO_BYPASS_TOGGLE, DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0, MENU, EXIT, UP_PRESSED, UP_RELEASED, DOWN_PRESSED, DOWN_RELEASED, LEFT_PRESSED, LEFT_RELEASED, RIGHT_PRESSED, RIGHT_RELEASED, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE, POWER_OFF_ALL_ZONES, PARTY_MODE_TOGGLE, ZONE2_PARTY_MODE_TOGGLE, ZONE3_PARTY_MODE_TOGGLE, ZONE4_PARTY_MODE_TOGGLE, OUTPUT_RESOLUTION, HDMI_AMP_MODE, HDMI_TV_MODE, ROOM_EQ_TOGGLE, SPEAKER_SETTING_TOGGLE, RESET_FACTORY |
| rsp1576 | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, SUB_LEVEL_UP, SUB_LEVEL_DOWN, C_LEVEL_UP, C_LEVEL_DOWN, SR_LEVEL_UP, SR_LEVEL_DOWN, SL_LEVEL_UP, SL_LEVEL_DOWN, CBR_LEVEL_UP, CBR_LEVEL_DOWN, CBL_LEVEL_UP, CBL_LEVEL_DOWN, CFR_LEVEL_UP, CFR_LEVEL_DOWN, CFL_LEVEL_UP, CFL_LEVEL_DOWN, CRR_LEVEL_UP, CRR_LEVEL_DOWN, CRL_LEVEL_UP, CRL_LEVEL_DOWN, NEXT_MODE, RESET_FACTORY |
| rsp1582 | PLAY, PAUSE, STOP, TRACK_FWD, TRACK_BACK, MENU, EXIT, UP, DOWN, LEFT, RIGHT, ENTER, SUB_LEVEL_UP, SUB_LEVEL_DOWN, C_LEVEL_UP, C_LEVEL_DOWN, SR_LEVEL_UP, SR_LEVEL_DOWN, SL_LEVEL_UP, SL_LEVEL_DOWN, CBR_LEVEL_UP, CBR_LEVEL_DOWN, CBL_LEVEL_UP, CBL_LEVEL_DOWN, NEXT_MODE, RESET_FACTORY |
| rsx1055 | DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, TUNE_UP, TUNE_DOWN, MEMORY, BAND_TOGGLE, AM, FM, TUNE_PRESET_TOGGLE, TUNING_MODE_SELECT, PRESET_MODE_SELECT, FREQUENCY_DIRECT, PRESET_SCAN, TUNER_DISPLAY, RDS_PTY, RDS_TP, RDS_TA, FM_MONO_TOGGLE, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE | | rsx1055 | DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, TUNE_UP, TUNE_DOWN, MEMORY, BAND_TOGGLE, AM, FM, TUNE_PRESET_TOGGLE, TUNING_MODE_SELECT, PRESET_MODE_SELECT, FREQUENCY_DIRECT, PRESET_SCAN, TUNER_DISPLAY, RDS_PTY, RDS_TP, RDS_TA, FM_MONO_TOGGLE, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE |
| rsx1056 | DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, TUNE_UP, TUNE_DOWN, MEMORY, BAND_TOGGLE, AM, FM, TUNE_PRESET_TOGGLE, TUNING_MODE_SELECT, PRESET_MODE_SELECT, FREQUENCY_DIRECT, PRESET_SCAN, TUNER_DISPLAY, RDS_PTY, RDS_TP, RDS_TA, FM_MONO_TOGGLE, ZONE2_TUNE_UP, ZONE2_TUNE_DOWN, ZONE2_BAND_TOGGLE, ZONE2_AM, ZONE2_FM, ZONE2_TUNE_PRESET_TOGGLE, ZONE2_TUNING_MODE_SELECT, ZONE2_PRESET_MODE_SELECT, ZONE2_PRESET_SCAN, ZONE2_FM_MONO_TOGGLE, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0, ZONE2_KEY1, ZONE2_KEY2, ZONE2_KEY3, ZONE2_KEY4, ZONE2_KEY5, ZONE2_KEY6, ZONE2_KEY7, ZONE2_KEY8, ZONE2_KEY9, ZONE2_KEY0, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE | | rsx1056 | DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, TUNE_UP, TUNE_DOWN, MEMORY, BAND_TOGGLE, AM, FM, TUNE_PRESET_TOGGLE, TUNING_MODE_SELECT, PRESET_MODE_SELECT, FREQUENCY_DIRECT, PRESET_SCAN, TUNER_DISPLAY, RDS_PTY, RDS_TP, RDS_TA, FM_MONO_TOGGLE, ZONE2_TUNE_UP, ZONE2_TUNE_DOWN, ZONE2_BAND_TOGGLE, ZONE2_AM, ZONE2_FM, ZONE2_TUNE_PRESET_TOGGLE, ZONE2_TUNING_MODE_SELECT, ZONE2_PRESET_MODE_SELECT, ZONE2_PRESET_SCAN, ZONE2_FM_MONO_TOGGLE, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0, ZONE2_KEY1, ZONE2_KEY2, ZONE2_KEY3, ZONE2_KEY4, ZONE2_KEY5, ZONE2_KEY6, ZONE2_KEY7, ZONE2_KEY8, ZONE2_KEY9, ZONE2_KEY0, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE |
| rsx1057 | DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, TUNE_UP, TUNE_DOWN, PRESET_UP, PRESET_DOWN, FREQUENCY_UP, FREQUENCY_DOWN, MEMORY, BAND_TOGGLE, AM, FM, TUNE_PRESET_TOGGLE, TUNING_MODE_SELECT, PRESET_MODE_SELECT, FREQUENCY_DIRECT, PRESET_SCAN, TUNER_DISPLAY, RDS_PTY, RDS_TP, RDS_TA, FM_MONO_TOGGLE, ZONE2_TUNE_UP, ZONE2_TUNE_DOWN, ZONE2_PRESET_UP, ZONE2_PRESET_DOWN, ZONE2_FREQUENCY_UP, ZONE2_FREQUENCY_DOWN, ZONE2_BAND_TOGGLE, ZONE2_AM, ZONE2_FM, ZONE2_TUNE_PRESET_TOGGLE, ZONE2_TUNING_MODE_SELECT, ZONE2_PRESET_MODE_SELECT, ZONE2_PRESET_SCAN, ZONE2_FM_MONO_TOGGLE, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0, ZONE2_KEY1, ZONE2_KEY2, ZONE2_KEY3, ZONE2_KEY4, ZONE2_KEY5, ZONE2_KEY6, ZONE2_KEY7, ZONE2_KEY8, ZONE2_KEY9, ZONE2_KEY0, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE | | rsx1057 | DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE, TUNE_UP, TUNE_DOWN, PRESET_UP, PRESET_DOWN, FREQUENCY_UP, FREQUENCY_DOWN, MEMORY, BAND_TOGGLE, AM, FM, TUNE_PRESET_TOGGLE, TUNING_MODE_SELECT, PRESET_MODE_SELECT, FREQUENCY_DIRECT, PRESET_SCAN, TUNER_DISPLAY, RDS_PTY, RDS_TP, RDS_TA, FM_MONO_TOGGLE, ZONE2_TUNE_UP, ZONE2_TUNE_DOWN, ZONE2_PRESET_UP, ZONE2_PRESET_DOWN, ZONE2_FREQUENCY_UP, ZONE2_FREQUENCY_DOWN, ZONE2_BAND_TOGGLE, ZONE2_AM, ZONE2_FM, ZONE2_TUNE_PRESET_TOGGLE, ZONE2_TUNING_MODE_SELECT, ZONE2_PRESET_MODE_SELECT, ZONE2_PRESET_SCAN, ZONE2_FM_MONO_TOGGLE, KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8, KEY9, KEY0, ZONE2_KEY1, ZONE2_KEY2, ZONE2_KEY3, ZONE2_KEY4, ZONE2_KEY5, ZONE2_KEY6, ZONE2_KEY7, ZONE2_KEY8, ZONE2_KEY9, ZONE2_KEY0, MENU, UP, DOWN, LEFT, RIGHT, ENTER, RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE |

View File

@ -240,6 +240,7 @@ public class RotelBindingConstants {
public static final String KEY_DSP_MODE = "dsp_mode"; public static final String KEY_DSP_MODE = "dsp_mode";
public static final String KEY_ERROR = "error"; public static final String KEY_ERROR = "error";
// Keys only used by the ASCII protocol // Keys only used by the ASCII protocol
public static final String KEY_POWER_MODE = "power_mode";
public static final String KEY_INPUT = "input"; public static final String KEY_INPUT = "input";
public static final String KEY_INPUT_ZONE1 = "input_zone1"; public static final String KEY_INPUT_ZONE1 = "input_zone1";
public static final String KEY_INPUT_ZONE2 = "input_zone2"; public static final String KEY_INPUT_ZONE2 = "input_zone2";
@ -279,6 +280,17 @@ public class RotelBindingConstants {
public static final String KEY_BALANCE_ZONE3 = "balance_zone3"; public static final String KEY_BALANCE_ZONE3 = "balance_zone3";
public static final String KEY_BALANCE_ZONE4 = "balance_zone4"; public static final String KEY_BALANCE_ZONE4 = "balance_zone4";
public static final String KEY_SPEAKER = "speaker"; public static final String KEY_SPEAKER = "speaker";
public static final String KEY_SUB_LEVEL = "subwoofer_level";
public static final String KEY_CENTER_LEVEL = "center_level";
public static final String KEY_SURROUND_RIGHT_LEVEL = "surround_right";
public static final String KEY_SURROUND_LEFT_LEVEL = "surround_left";
public static final String KEY_CENTER_BACK_RIGHT_LEVEL = "center_back_right";
public static final String KEY_CENTER_BACK_LEFT_LEVEL = "center_back_left";
public static final String KEY_CEILING_FRONT_RIGHT_LEVEL = "ceiling_front_right";
public static final String KEY_CEILING_FRONT_LEFT_LEVEL = "ceiling_front_left";
public static final String KEY_CEILING_REAR_RIGHT_LEVEL = "ceiling_rear_right";
public static final String KEY_CEILING_REAR_LEFT_LEVEL = "ceiling_rear_left";
public static final String KEY_PCUSB_CLASS = "pcusb_class";
public static final String KEY_MODEL = "model"; public static final String KEY_MODEL = "model";
public static final String KEY_VERSION = "version"; public static final String KEY_VERSION = "version";
// Output keys only used by the HEX protocol // Output keys only used by the HEX protocol
@ -299,6 +311,8 @@ public class RotelBindingConstants {
public static final String MSG_VALUE_ON = "on"; public static final String MSG_VALUE_ON = "on";
public static final String MSG_VALUE_NONE = "none"; public static final String MSG_VALUE_NONE = "none";
public static final String POWER_ON = "on"; public static final String POWER_ON = "on";
public static final String POWER_QUICK = "quick";
public static final String POWER_NORMAL = "normal";
public static final String STANDBY = "standby"; public static final String STANDBY = "standby";
public static final String POWER_OFF_DELAYED = "off_delayed"; public static final String POWER_OFF_DELAYED = "off_delayed";
public static final String MSG_VALUE_SPEAKER_A = "a"; public static final String MSG_VALUE_SPEAKER_A = "a";

View File

@ -50,10 +50,12 @@ public enum RotelModel {
concatenate(DSP_CMDS_SET1, MENU2_CTRL_CMDS, OTHER_CMDS_SET1, List.of(REMOTE_VOLUME_UP, REMOTE_VOLUME_DOWN)), concatenate(DSP_CMDS_SET1, MENU2_CTRL_CMDS, OTHER_CMDS_SET1, List.of(REMOTE_VOLUME_UP, REMOTE_VOLUME_DOWN)),
(byte) 0xA0, 13, 8, true, RotelFlagsMapping.MAPPING1), (byte) 0xA0, 13, 8, true, RotelFlagsMapping.MAPPING1),
RSP1570("RSP-1570", 115200, 1, 3, true, 96, true, 6, false, RECORD_FONCTION_SELECT, 3, RSP1570("RSP-1570", 115200, 1, 3, true, 96, true, 6, false, RECORD_FONCTION_SELECT, 3,
concatenate(DSP_CMDS_SET2, MENU2_CTRL_CMDS, OTHER_CMDS_SET1, OTHER_CMDS_SET2, List.of(RESET_FACTORY)), concatenate(DSP_CMDS_SET2, DSP_CMDS_SET1, MENU2_CTRL_CMDS, OTHER_CMDS_SET1, OTHER_CMDS_SET2,
List.of(RESET_FACTORY)),
(byte) 0xA3, 42, 5, true, RotelFlagsMapping.MAPPING5), (byte) 0xA3, 42, 5, true, RotelFlagsMapping.MAPPING5),
RSP1572("RSP-1572", 115200, 2, 3, true, 96, true, null, false, RECORD_FONCTION_SELECT, 4, RSP1572("RSP-1572", 115200, 2, 3, true, 96, true, null, false, RECORD_FONCTION_SELECT, 4,
concatenate(DSP_CMDS_SET2, NUMERIC_KEY_CMDS, MENU3_CTRL_CMDS, OTHER_CMDS_SET1, OTHER_CMDS_SET4), concatenate(DSP_CMDS_SET2, DSP_CMDS_SET1, NUMERIC_KEY_CMDS, MENU3_CTRL_CMDS, OTHER_CMDS_SET1,
OTHER_CMDS_SET4),
(byte) 0xA5, 42, 5, true, RotelFlagsMapping.MAPPING5), (byte) 0xA5, 42, 5, true, RotelFlagsMapping.MAPPING5),
RSX1055("RSX-1055", 19200, 3, 1, false, 90, false, 12, false, ZONE_SELECT, 1, RSX1055("RSX-1055", 19200, 3, 1, false, 90, false, 12, false, ZONE_SELECT, 1,
concatenate(DSP_CMDS_SET1, TUNER_CMDS_SET1, NUMERIC_KEY_CMDS, MENU2_CTRL_CMDS, OTHER_CMDS_SET1), concatenate(DSP_CMDS_SET1, TUNER_CMDS_SET1, NUMERIC_KEY_CMDS, MENU2_CTRL_CMDS, OTHER_CMDS_SET1),
@ -88,47 +90,65 @@ public enum RotelModel {
List.of(RESET_FACTORY)), List.of(RESET_FACTORY)),
(byte) 0xCA, 42, 5, true, RotelFlagsMapping.MAPPING5), (byte) 0xCA, 42, 5, true, RotelFlagsMapping.MAPPING5),
RSX1562("RSX-1562", 115200, 2, 3, true, 96, true, null, false, RECORD_FONCTION_SELECT, 4, RSX1562("RSX-1562", 115200, 2, 3, true, 96, true, null, false, RECORD_FONCTION_SELECT, 4,
concatenate(DSP_CMDS_SET2, TUNER_CMDS_SET2, ZONE234_TUNER_CMDS_SET1, NUMERIC_KEY_CMDS, concatenate(DSP_CMDS_SET2, DSP_CMDS_SET1, TUNER_CMDS_SET2, ZONE234_TUNER_CMDS_SET1, NUMERIC_KEY_CMDS,
ZONE234_NUMERIC_KEY_CMDS, MENU3_CTRL_CMDS, OTHER_CMDS_SET1, OTHER_CMDS_SET4), ZONE234_NUMERIC_KEY_CMDS, MENU3_CTRL_CMDS, OTHER_CMDS_SET1, OTHER_CMDS_SET4),
(byte) 0xCC, 42, 5, true, RotelFlagsMapping.MAPPING5), (byte) 0xCC, 42, 5, true, RotelFlagsMapping.MAPPING5),
A11("A11", 115200, 4, 96, true, 10, 15, false, -1, false, true, true, 6, 0, SRC_CTRL_CMDS_SET1, A11("A11", 115200, 4, 96, true, 10, 15, false, -1, false, true, true, 6, 0, SRC_CTRL_CMDS_SET1,
NO_SPECIAL_CHARACTERS), NO_SPECIAL_CHARACTERS),
A12("A12", 115200, 5, 96, true, 10, 15, false, -1, true, true, true, 6, 0, SRC_CTRL_CMDS_SET1, A12("A12", 115200, 5, 96, true, 10, 15, false, -1, true, true, true, 6, 0,
NO_SPECIAL_CHARACTERS), concatenate(SRC_CTRL_CMDS_SET1, List.of(PCUSB_CLASS)), NO_SPECIAL_CHARACTERS),
A14("A14", 115200, 5, 96, true, 10, 15, false, -1, true, true, true, 6, 0, SRC_CTRL_CMDS_SET1, A14("A14", 115200, 5, 96, true, 10, 15, false, -1, true, true, true, 6, 0,
NO_SPECIAL_CHARACTERS), concatenate(SRC_CTRL_CMDS_SET1, List.of(PCUSB_CLASS)), NO_SPECIAL_CHARACTERS),
CD11("CD11", 57600, 0, null, false, null, true, -1, false, true, 6, 0, CD11("CD11", 57600, 0, null, false, null, true, -1, false, true, 6, 0,
concatenate(SRC_CTRL_CMDS_SET3, NUMERIC_KEY_CMDS), NO_SPECIAL_CHARACTERS), concatenate(SRC_CTRL_CMDS_SET2, SRC_CTRL_CMDS_SET4, NUMERIC_KEY_CMDS), NO_SPECIAL_CHARACTERS),
CD14("CD14", 57600, 0, null, false, null, true, -1, false, true, 6, 0, CD14("CD14", 57600, 0, null, false, null, true, -1, false, true, 6, 0,
concatenate(SRC_CTRL_CMDS_SET3, NUMERIC_KEY_CMDS), NO_SPECIAL_CHARACTERS), concatenate(SRC_CTRL_CMDS_SET2, SRC_CTRL_CMDS_SET4, NUMERIC_KEY_CMDS), NO_SPECIAL_CHARACTERS),
RA11("RA-11", 115200, 6, 96, true, 10, 15, true, -1, true, false, false, 6, 0, RA11("RA-11", 115200, 6, 96, true, 10, 15, true, -1, true, false, false, 6, 0,
concatenate(SRC_CTRL_CMDS_SET2, MENU_CTRL_CMDS, NUMERIC_KEY_CMDS), SPECIAL_CHARACTERS), concatenate(SRC_CTRL_CMDS_SET2, SRC_CTRL_CMDS_SET3, MENU_CTRL_CMDS, NUMERIC_KEY_CMDS), SPECIAL_CHARACTERS),
RA12("RA-12", 115200, 6, 96, true, 10, 15, true, -1, true, false, false, 6, 0, RA12("RA-12", 115200, 6, 96, true, 10, 15, true, -1, true, false, false, 6, 0,
concatenate(SRC_CTRL_CMDS_SET2, MENU_CTRL_CMDS, NUMERIC_KEY_CMDS), SPECIAL_CHARACTERS), concatenate(SRC_CTRL_CMDS_SET2, SRC_CTRL_CMDS_SET3, MENU_CTRL_CMDS, NUMERIC_KEY_CMDS), SPECIAL_CHARACTERS),
RA1570("RA-1570", 115200, 7, 96, true, 10, 15, true, -1, true, true, false, 6, 0, RA1570("RA-1570", 115200, 7, 96, true, 10, 15, true, -1, true, true, false, 6, 0,
concatenate(SRC_CTRL_CMDS_SET2, MENU_CTRL_CMDS, NUMERIC_KEY_CMDS, PCUSB_CLASS_CMDS), SPECIAL_CHARACTERS), concatenate(SRC_CTRL_CMDS_SET2, SRC_CTRL_CMDS_SET3, MENU_CTRL_CMDS, NUMERIC_KEY_CMDS, PCUSB_CLASS_CMDS),
SPECIAL_CHARACTERS),
RA1572("RA-1572", 115200, 8, 96, true, 10, 15, false, -1, true, true, true, 6, 0, RA1572("RA-1572", 115200, 8, 96, true, 10, 15, false, -1, true, true, true, 6, 0,
concatenate(SRC_CTRL_CMDS_SET1, MENU_CTRL_CMDS, PCUSB_CLASS_CMDS, List.of(RESET_FACTORY)), concatenate(SRC_CTRL_CMDS_SET1, MENU_CTRL_CMDS, PCUSB_CLASS_CMDS, OTHER_CMDS_SET6), SPECIAL_CHARACTERS),
RA1592_V1("RA-1592", 115200, 9, 96, true, 10, 15, false, -1, true, true, true, 6, 0,
concatenate(SRC_CTRL_CMDS_SET1, SRC_CTRL_CMDS_SET2, MENU_CTRL_CMDS, NUMERIC_KEY_CMDS, PCUSB_CLASS_CMDS,
OTHER_CMDS_SET5),
SPECIAL_CHARACTERS), SPECIAL_CHARACTERS),
RA1592("RA-1592", 115200, 9, 96, true, 10, 15, false, -1, true, true, true, 6, 0, List.of(), SPECIAL_CHARACTERS), RA1592_V2("RA-1592", 115200, 9, 96, true, 10, 15, false, -1, true, true, true, 6, 0,
RAP1580("RAP-1580", 115200, 11, 96, true, null, false, 5, false, false, -10, 10, List.of(), NO_SPECIAL_CHARACTERS), concatenate(SRC_CTRL_CMDS_SET1, PCUSB_CLASS_CMDS), SPECIAL_CHARACTERS),
RAP1580("RAP-1580", 115200, 11, 96, true, null, false, 5, false, false, -10, 10,
concatenate(SRC_CTRL_CMDS_SET1, MENU_CTRL_CMDS, LEVEL_TRIM_CMDS_SET1, LEVEL_TRIM_CMDS_SET2,
OTHER_CMDS_SET7),
NO_SPECIAL_CHARACTERS),
RC1570("RC-1570", 115200, 7, 96, true, 10, 15, true, -1, true, false, false, 6, 0, RC1570("RC-1570", 115200, 7, 96, true, 10, 15, true, -1, true, false, false, 6, 0,
concatenate(SRC_CTRL_CMDS_SET2, MENU_CTRL_CMDS, NUMERIC_KEY_CMDS, PCUSB_CLASS_CMDS), SPECIAL_CHARACTERS), concatenate(SRC_CTRL_CMDS_SET2, SRC_CTRL_CMDS_SET3, MENU_CTRL_CMDS, NUMERIC_KEY_CMDS, PCUSB_CLASS_CMDS),
RC1572("RC-1572", 115200, 8, 96, true, 10, 15, false, -1, true, false, true, 6, 0,
concatenate(SRC_CTRL_CMDS_SET1, MENU_CTRL_CMDS, PCUSB_CLASS_CMDS, List.of(RESET_FACTORY)),
SPECIAL_CHARACTERS), SPECIAL_CHARACTERS),
RC1590("RC-1590", 115200, 9, 96, true, 10, 15, false, -1, true, false, true, 6, 0, List.of(), SPECIAL_CHARACTERS), RC1572("RC-1572", 115200, 8, 96, true, 10, 15, false, -1, true, false, true, 6, 0,
concatenate(SRC_CTRL_CMDS_SET1, MENU_CTRL_CMDS, PCUSB_CLASS_CMDS, OTHER_CMDS_SET6), SPECIAL_CHARACTERS),
RC1590_V1("RC-1590", 115200, 9, 96, true, 10, 15, false, -1, true, false, true, 6, 0,
concatenate(SRC_CTRL_CMDS_SET1, SRC_CTRL_CMDS_SET2, MENU_CTRL_CMDS, NUMERIC_KEY_CMDS, PCUSB_CLASS_CMDS,
OTHER_CMDS_SET5),
SPECIAL_CHARACTERS),
RC1590_V2("RC-1590", 115200, 9, 96, true, 10, 15, false, -1, true, false, true, 6, 0,
concatenate(SRC_CTRL_CMDS_SET1, PCUSB_CLASS_CMDS), SPECIAL_CHARACTERS),
RCD1570("RCD-1570", 115200, 0, null, false, null, true, -1, false, true, 6, 0, List.of(), SPECIAL_CHARACTERS), RCD1570("RCD-1570", 115200, 0, null, false, null, true, -1, false, true, 6, 0, List.of(), SPECIAL_CHARACTERS),
RCD1572("RCD-1572", 57600, 0, null, false, null, true, -1, false, true, 6, 0, RCD1572("RCD-1572", 57600, 0, null, false, null, true, -1, false, true, 6, 0,
concatenate(SRC_CTRL_CMDS_SET3, List.of(PROGRAM), MENU_CTRL_CMDS, NUMERIC_KEY_CMDS), concatenate(SRC_CTRL_CMDS_SET2, SRC_CTRL_CMDS_SET4, List.of(PROGRAM), MENU_CTRL_CMDS, NUMERIC_KEY_CMDS),
SPECIAL_CHARACTERS_RCD1572), SPECIAL_CHARACTERS_RCD1572),
RCX1500("RCX-1500", 115200, 17, 86, true, null, true, -1, false, false, null, null, List.of(), SPECIAL_CHARACTERS), RCX1500("RCX-1500", 115200, 17, 86, true, null, true, -1, false, false, null, null, List.of(), SPECIAL_CHARACTERS),
RDD1580("RDD-1580", 115200, 15, null, false, null, true, -1, true, false, null, null, List.of(), RDD1580("RDD-1580", 115200, 15, null, false, null, true, -1, true, false, null, null,
NO_SPECIAL_CHARACTERS), concatenate(SRC_CTRL_CMDS_SET3, PCUSB_CLASS_CMDS), NO_SPECIAL_CHARACTERS),
RDG1520("RDG-1520", 115200, 16, null, false, null, true, -1, false, false, null, null, List.of(), RDG1520("RDG-1520", 115200, 16, null, false, null, true, -1, false, false, null, null, List.of(),
SPECIAL_CHARACTERS), SPECIAL_CHARACTERS),
RSP1576("RSP-1576", 115200, 10, 96, true, null, false, 5, false, false, -10, 10, List.of(), NO_SPECIAL_CHARACTERS), RSP1576("RSP-1576", 115200, 10, 96, true, null, false, 5, false, false, -10, 10,
RSP1582("RSP-1582", 115200, 11, 96, true, null, false, 6, false, false, -10, 10, List.of(), NO_SPECIAL_CHARACTERS), concatenate(SRC_CTRL_CMDS_SET1, MENU_CTRL_CMDS, LEVEL_TRIM_CMDS_SET1, LEVEL_TRIM_CMDS_SET2,
OTHER_CMDS_SET7),
NO_SPECIAL_CHARACTERS),
RSP1582("RSP-1582", 115200, 11, 96, true, null, false, 6, false, false, -10, 10,
concatenate(SRC_CTRL_CMDS_SET1, MENU_CTRL_CMDS, LEVEL_TRIM_CMDS_SET1, OTHER_CMDS_SET7),
NO_SPECIAL_CHARACTERS),
RT11("RT-11", 115200, 12, null, false, null, false, -1, false, true, 6, 0, List.of(), NO_SPECIAL_CHARACTERS), RT11("RT-11", 115200, 12, null, false, null, false, -1, false, true, 6, 0, List.of(), NO_SPECIAL_CHARACTERS),
RT1570("RT-1570", 115200, 14, null, false, null, false, -1, false, true, 6, 0, List.of(), NO_SPECIAL_CHARACTERS), RT1570("RT-1570", 115200, 14, null, false, null, false, -1, false, true, 6, 0, List.of(), NO_SPECIAL_CHARACTERS),
T11("T11", 115200, 12, null, false, null, false, -1, false, true, 6, 0, List.of(), NO_SPECIAL_CHARACTERS), T11("T11", 115200, 12, null, false, null, false, -1, false, true, 6, 0, List.of(), NO_SPECIAL_CHARACTERS),

View File

@ -36,6 +36,9 @@ public enum RotelCommand {
POWER_ON("Power On", PRIMARY_CMD, (byte) 0x4B, "power_on", "power_on"), POWER_ON("Power On", PRIMARY_CMD, (byte) 0x4B, "power_on", "power_on"),
POWER_OFF_ALL_ZONES("Power Off All Zones", PRIMARY_CMD, (byte) 0x71), POWER_OFF_ALL_ZONES("Power Off All Zones", PRIMARY_CMD, (byte) 0x71),
POWER("Request current power status", "get_current_power", "power?"), POWER("Request current power status", "get_current_power", "power?"),
POWER_MODE_QUICK("Set power mode to quick", "power_mode_quick", null),
POWER_MODE_NORMAL("Set power mode to normal", "power_mode_normal", null),
POWER_MODE("Request current power mode", "get_power_mode", null),
ZONE_SELECT("Zone Select", PRIMARY_CMD, (byte) 0x23), ZONE_SELECT("Zone Select", PRIMARY_CMD, (byte) 0x23),
MAIN_ZONE_POWER_TOGGLE("Main Zone Power Toggle", MAIN_ZONE_CMD, (byte) 0x0A), MAIN_ZONE_POWER_TOGGLE("Main Zone Power Toggle", MAIN_ZONE_CMD, (byte) 0x0A),
MAIN_ZONE_POWER_OFF("Main Zone Power Off", MAIN_ZONE_CMD, (byte) 0x4A), MAIN_ZONE_POWER_OFF("Main Zone Power Off", MAIN_ZONE_CMD, (byte) 0x4A),
@ -245,7 +248,7 @@ public enum RotelCommand {
ATMOS("Dolby Atmos", "dolby_atmos", "dolby_atmos"), ATMOS("Dolby Atmos", "dolby_atmos", "dolby_atmos"),
NEURAL_X("dts Neural:X", "dts_neural", "dts_neural"), NEURAL_X("dts Neural:X", "dts_neural", "dts_neural"),
BYPASS("Analog Bypass", "bypass", "bypass"), BYPASS("Analog Bypass", "bypass", "bypass"),
NEXT_MODE("Next Surround Mode", PRIMARY_CMD, (byte) 0x22), NEXT_MODE("Next Surround Mode", PRIMARY_CMD, (byte) 0x22, "surround_next", null),
DSP_MODE("Request current DSP mode", "get_dsp_mode", null), DSP_MODE("Request current DSP mode", "get_dsp_mode", null),
TONE_MAX("Request Max tone level", "get_tone_max", null), TONE_MAX("Request Max tone level", "get_tone_max", null),
TONE_CONTROL_SELECT("Tone Control Select", PRIMARY_CMD, (byte) 0x67), TONE_CONTROL_SELECT("Tone Control Select", PRIMARY_CMD, (byte) 0x67),
@ -453,7 +456,7 @@ public enum RotelCommand {
PROGRAM("Program Key", "program", null), PROGRAM("Program Key", "program", null),
PCUSB_CLASS_1("Set PC-USB Audio Class to 1.0", "pcusb_class_1", "pcusb_class_1"), PCUSB_CLASS_1("Set PC-USB Audio Class to 1.0", "pcusb_class_1", "pcusb_class_1"),
PCUSB_CLASS_2("Set PC-USB Audio Class to 2.0", "pcusb_class_2", "pcusb_class_2"), PCUSB_CLASS_2("Set PC-USB Audio Class to 2.0", "pcusb_class_2", "pcusb_class_2"),
PCUSB_CLASS_GET("Request current PC-USB class", "get_pcusb_class", "pcusb?"), PCUSB_CLASS("Request current PC-USB class", "get_pcusb_class", "pcusb?"),
RESET_FACTORY("Reset unit to factory defaults", PRIMARY_CMD, (byte) 0x93, "factory_default_on", RESET_FACTORY("Reset unit to factory defaults", PRIMARY_CMD, (byte) 0x93, "factory_default_on",
"factory_default_on"), "factory_default_on"),
DYNAMIC_RANGE("Dynamic Range", PRIMARY_CMD, (byte) 0x16), DYNAMIC_RANGE("Dynamic Range", PRIMARY_CMD, (byte) 0x16),
@ -462,6 +465,26 @@ public enum RotelCommand {
CENTER_TRIM("Temporary Center Trim", PRIMARY_CMD, (byte) 0x4C), CENTER_TRIM("Temporary Center Trim", PRIMARY_CMD, (byte) 0x4C),
SUB_TRIM("Temporary Subwoofer Trim", PRIMARY_CMD, (byte) 0x4D), SUB_TRIM("Temporary Subwoofer Trim", PRIMARY_CMD, (byte) 0x4D),
SURROUND_TRIM("Temporary Surround Trim", PRIMARY_CMD, (byte) 0x4E), SURROUND_TRIM("Temporary Surround Trim", PRIMARY_CMD, (byte) 0x4E),
SUB_LEVEL_UP("Temporary increase sub level", "subwoofer_up", null),
SUB_LEVEL_DOWN("Temporary decrease sub level", "subwoofer_down", null),
C_LEVEL_UP("Temporary increase center level", "center_up", null),
C_LEVEL_DOWN("Temporary decrease center level", "center_down", null),
SR_LEVEL_UP("Temporary increase surround right level", "surround_right_up", null),
SR_LEVEL_DOWN("Temporary decrease surround right level", "surround_right_down", null),
SL_LEVEL_UP("Temporary increase surround left level", "surround_left_up", null),
SL_LEVEL_DOWN("Temporary decrease surround left level", "surround_left_down", null),
CBR_LEVEL_UP("Temporary increase center back right level", "center_back_right_up", null),
CBR_LEVEL_DOWN("Temporary decrease center back right level", "center_back_right_down", null),
CBL_LEVEL_UP("Temporary increase center back left level", "center_back_left_up", null),
CBL_LEVEL_DOWN("Temporary decrease center back left level", "center_back_left_down", null),
CFR_LEVEL_UP("Temporary increase ceiling front right level", "ceiling_front_right_up", null),
CFR_LEVEL_DOWN("Temporary decrease ceiling front right level", "ceiling_front_right_down", null),
CFL_LEVEL_UP("Temporary increase ceiling front left level", "ceiling_front_left_up", null),
CFL_LEVEL_DOWN("Temporary decrease ceiling front left level", "ceiling_front_left_down", null),
CRR_LEVEL_UP("Temporary increase ceiling rear right level", "ceiling_rear_right_up", null),
CRR_LEVEL_DOWN("Temporary decrease ceiling rear right level", "ceiling_rear_right_down", null),
CRL_LEVEL_UP("Temporary increase ceiling rear left level", "ceiling_rear_left_up", null),
CRL_LEVEL_DOWN("Temporary decrease ceiling rear left level", "ceiling_rear_left_down", null),
CINEMA_EQ_TOGGLE("Cinema EQ Toggle", PRIMARY_CMD, (byte) 0x4F), CINEMA_EQ_TOGGLE("Cinema EQ Toggle", PRIMARY_CMD, (byte) 0x4F),
DISPLAY_TOGGLE("Front Display On/Off", PRIMARY_CMD, (byte) 0x52), DISPLAY_TOGGLE("Front Display On/Off", PRIMARY_CMD, (byte) 0x52),
PARTY_MODE_TOGGLE("Party Mode Toggle", PRIMARY_CMD, (byte) 0x6E), PARTY_MODE_TOGGLE("Party Mode Toggle", PRIMARY_CMD, (byte) 0x6E),
@ -479,14 +502,12 @@ public enum RotelCommand {
public static final List<RotelCommand> DSP_CMDS_SET1 = List.of(DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE, public static final List<RotelCommand> DSP_CMDS_SET1 = List.of(DSP_TOGGLE, PROLOGIC_TOGGLE, DOLBY_TOGGLE,
PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP, PLII_CENTER_WIDTH_DOWN,
DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE); DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE);
public static final List<RotelCommand> DSP_CMDS_SET2 = List.of(STEREO_BYPASS_TOGGLE, DSP_TOGGLE, PROLOGIC_TOGGLE, public static final List<RotelCommand> DSP_CMDS_SET2 = List.of(STEREO_BYPASS_TOGGLE);
DOLBY_TOGGLE, PLII_PANORAMA_TOGGLE, PLII_DIMENSION_UP, PLII_DIMENSION_DOWN, PLII_CENTER_WIDTH_UP,
PLII_CENTER_WIDTH_DOWN, DDEX_TOGGLE, NEO6_TOGGLE, NEXT_MODE);
public static final List<RotelCommand> SRC_CTRL_CMDS_SET1 = List.of(PLAY, STOP, PAUSE, TRACK_FWD, TRACK_BACK); public static final List<RotelCommand> SRC_CTRL_CMDS_SET1 = List.of(PLAY, STOP, PAUSE, TRACK_FWD, TRACK_BACK);
public static final List<RotelCommand> SRC_CTRL_CMDS_SET2 = List.of(FAST_FWD, FAST_BACK, RANDOM_TOGGLE, public static final List<RotelCommand> SRC_CTRL_CMDS_SET2 = List.of(FAST_FWD, FAST_BACK);
REPEAT_TOGGLE); public static final List<RotelCommand> SRC_CTRL_CMDS_SET3 = List.of(RANDOM_TOGGLE, REPEAT_TOGGLE);
public static final List<RotelCommand> SRC_CTRL_CMDS_SET3 = List.of(FAST_FWD, FAST_BACK, EJECT, TIME_TOGGLE); public static final List<RotelCommand> SRC_CTRL_CMDS_SET4 = List.of(EJECT, TIME_TOGGLE);
public static final List<RotelCommand> TUNER_CMDS_SET1 = List.of(TUNE_UP, TUNE_DOWN, MEMORY, BAND_TOGGLE, AM, FM, public static final List<RotelCommand> TUNER_CMDS_SET1 = List.of(TUNE_UP, TUNE_DOWN, MEMORY, BAND_TOGGLE, AM, FM,
TUNE_PRESET_TOGGLE, TUNING_MODE_SELECT, PRESET_MODE_SELECT, FREQUENCY_DIRECT, PRESET_SCAN, TUNER_DISPLAY, TUNE_PRESET_TOGGLE, TUNING_MODE_SELECT, PRESET_MODE_SELECT, FREQUENCY_DIRECT, PRESET_SCAN, TUNER_DISPLAY,
@ -525,7 +546,13 @@ public enum RotelCommand {
ZONE3_KEY3, ZONE3_KEY4, ZONE3_KEY5, ZONE3_KEY6, ZONE3_KEY7, ZONE3_KEY8, ZONE3_KEY9, ZONE3_KEY0, ZONE4_KEY1, ZONE3_KEY3, ZONE3_KEY4, ZONE3_KEY5, ZONE3_KEY6, ZONE3_KEY7, ZONE3_KEY8, ZONE3_KEY9, ZONE3_KEY0, ZONE4_KEY1,
ZONE4_KEY2, ZONE4_KEY3, ZONE4_KEY4, ZONE4_KEY5, ZONE4_KEY6, ZONE4_KEY7, ZONE4_KEY8, ZONE4_KEY9, ZONE4_KEY0); ZONE4_KEY2, ZONE4_KEY3, ZONE4_KEY4, ZONE4_KEY5, ZONE4_KEY6, ZONE4_KEY7, ZONE4_KEY8, ZONE4_KEY9, ZONE4_KEY0);
public static final List<RotelCommand> PCUSB_CLASS_CMDS = List.of(PCUSB_CLASS_1, PCUSB_CLASS_2); public static final List<RotelCommand> PCUSB_CLASS_CMDS = List.of(PCUSB_CLASS, PCUSB_CLASS_1, PCUSB_CLASS_2);
public static final List<RotelCommand> LEVEL_TRIM_CMDS_SET1 = List.of(SUB_LEVEL_UP, SUB_LEVEL_DOWN, C_LEVEL_UP,
C_LEVEL_DOWN, SR_LEVEL_UP, SR_LEVEL_DOWN, SL_LEVEL_UP, SL_LEVEL_DOWN, CBR_LEVEL_UP, CBR_LEVEL_DOWN,
CBL_LEVEL_UP, CBL_LEVEL_DOWN);
public static final List<RotelCommand> LEVEL_TRIM_CMDS_SET2 = List.of(CFR_LEVEL_UP, CFR_LEVEL_DOWN, CFL_LEVEL_UP,
CFL_LEVEL_DOWN, CRR_LEVEL_UP, CRR_LEVEL_DOWN, CRL_LEVEL_UP, CRL_LEVEL_DOWN);
public static final List<RotelCommand> OTHER_CMDS_SET1 = List.of(RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT, public static final List<RotelCommand> OTHER_CMDS_SET1 = List.of(RECORD_FONCTION_SELECT, TONE_CONTROL_SELECT,
DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE); DYNAMIC_RANGE, DIGITAL_INPUT_SELECT, ZONE_TOGGLE, CENTER_TRIM, SUB_TRIM, SURROUND_TRIM, CINEMA_EQ_TOGGLE);
@ -537,6 +564,10 @@ public enum RotelCommand {
public static final List<RotelCommand> OTHER_CMDS_SET4 = List.of(POWER_OFF_ALL_ZONES, PARTY_MODE_TOGGLE, public static final List<RotelCommand> OTHER_CMDS_SET4 = List.of(POWER_OFF_ALL_ZONES, PARTY_MODE_TOGGLE,
ZONE2_PARTY_MODE_TOGGLE, ZONE3_PARTY_MODE_TOGGLE, ZONE4_PARTY_MODE_TOGGLE, OUTPUT_RESOLUTION, HDMI_AMP_MODE, ZONE2_PARTY_MODE_TOGGLE, ZONE3_PARTY_MODE_TOGGLE, ZONE4_PARTY_MODE_TOGGLE, OUTPUT_RESOLUTION, HDMI_AMP_MODE,
HDMI_TV_MODE, ROOM_EQ_TOGGLE, SPEAKER_SETTING_TOGGLE, RESET_FACTORY); HDMI_TV_MODE, ROOM_EQ_TOGGLE, SPEAKER_SETTING_TOGGLE, RESET_FACTORY);
public static final List<RotelCommand> OTHER_CMDS_SET5 = List.of(POWER_MODE, POWER_MODE_QUICK, POWER_MODE_NORMAL,
RESET_FACTORY);
public static final List<RotelCommand> OTHER_CMDS_SET6 = List.of(POWER_MODE, RESET_FACTORY);
public static final List<RotelCommand> OTHER_CMDS_SET7 = List.of(NEXT_MODE, RESET_FACTORY);
public static final byte PRIMARY_COMMAND = (byte) 0x10; public static final byte PRIMARY_COMMAND = (byte) 0x10;

View File

@ -44,6 +44,7 @@ import org.slf4j.LoggerFactory;
public class RotelSimuConnector extends RotelConnector { public class RotelSimuConnector extends RotelConnector {
private static final int STEP_TONE_LEVEL = 1; private static final int STEP_TONE_LEVEL = 1;
private static final double STEP_DECIBEL = 0.5;
private final Logger logger = LoggerFactory.getLogger(RotelSimuConnector.class); private final Logger logger = LoggerFactory.getLogger(RotelSimuConnector.class);
@ -57,6 +58,7 @@ public class RotelSimuConnector extends RotelConnector {
private int idxInFeedbackMsg = feedbackMsg.length; private int idxInFeedbackMsg = feedbackMsg.length;
private boolean[] powers = { false, false, false, false, false }; private boolean[] powers = { false, false, false, false, false };
private String powerMode = POWER_NORMAL;
private RotelSource[] sources; private RotelSource[] sources;
private RotelSource recordSource; private RotelSource recordSource;
private boolean multiinput; private boolean multiinput;
@ -78,6 +80,17 @@ public class RotelSimuConnector extends RotelConnector {
private boolean selectingRecord; private boolean selectingRecord;
private int showZone; private int showZone;
private int dimmer; private int dimmer;
private int pcUsbClass = 1;
private double subLevel;
private double centerLevel;
private double surroundRightLevel;
private double surroundLefLevel;
private double centerBackRightLevel;
private double centerBackLefLevel;
private double ceilingFrontRightLevel;
private double ceilingFrontLefLevel;
private double ceilingRearRightLevel;
private double ceilingRearLefLevel;
private int minVolume; private int minVolume;
private int maxVolume; private int maxVolume;
@ -551,6 +564,17 @@ public class RotelSimuConnector extends RotelConnector {
textAscii = buildAsciiResponse( textAscii = buildAsciiResponse(
protocol == RotelProtocol.ASCII_V1 ? KEY_DISPLAY_UPDATE : KEY_UPDATE_MODE, MANUAL); protocol == RotelProtocol.ASCII_V1 ? KEY_DISPLAY_UPDATE : KEY_UPDATE_MODE, MANUAL);
break; break;
case POWER_MODE_QUICK:
powerMode = POWER_QUICK;
textAscii = buildAsciiResponse(KEY_POWER_MODE, powerMode);
break;
case POWER_MODE_NORMAL:
powerMode = POWER_NORMAL;
textAscii = buildAsciiResponse(KEY_POWER_MODE, powerMode);
break;
case POWER_MODE:
textAscii = buildAsciiResponse(KEY_POWER_MODE, powerMode);
break;
case VOLUME_GET_MIN: case VOLUME_GET_MIN:
textAscii = buildAsciiResponse(KEY_VOLUME_MIN, minVolume); textAscii = buildAsciiResponse(KEY_VOLUME_MIN, minVolume);
break; break;
@ -929,6 +953,94 @@ public class RotelSimuConnector extends RotelConnector {
textAscii = model.getNumberOfZones() > 1 ? buildAsciiResponse(KEY_FREQ, "44.1,48,none,176.4") textAscii = model.getNumberOfZones() > 1 ? buildAsciiResponse(KEY_FREQ, "44.1,48,none,176.4")
: buildAsciiResponse(KEY_FREQ, "44.1"); : buildAsciiResponse(KEY_FREQ, "44.1");
break; break;
case SUB_LEVEL_UP:
subLevel += STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_SUB_LEVEL, buildDecibelValue(subLevel));
break;
case SUB_LEVEL_DOWN:
subLevel -= STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_SUB_LEVEL, buildDecibelValue(subLevel));
break;
case C_LEVEL_UP:
centerLevel += STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_CENTER_LEVEL, buildDecibelValue(centerLevel));
break;
case C_LEVEL_DOWN:
centerLevel -= STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_CENTER_LEVEL, buildDecibelValue(centerLevel));
break;
case SR_LEVEL_UP:
surroundRightLevel += STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_SURROUND_RIGHT_LEVEL, buildDecibelValue(surroundRightLevel));
break;
case SR_LEVEL_DOWN:
surroundRightLevel -= STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_SURROUND_RIGHT_LEVEL, buildDecibelValue(surroundRightLevel));
break;
case SL_LEVEL_UP:
surroundLefLevel += STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_SURROUND_LEFT_LEVEL, buildDecibelValue(surroundLefLevel));
break;
case SL_LEVEL_DOWN:
surroundLefLevel -= STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_SURROUND_LEFT_LEVEL, buildDecibelValue(surroundLefLevel));
break;
case CBR_LEVEL_UP:
centerBackRightLevel += STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_CENTER_BACK_RIGHT_LEVEL,
buildDecibelValue(centerBackRightLevel));
break;
case CBR_LEVEL_DOWN:
centerBackRightLevel -= STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_CENTER_BACK_RIGHT_LEVEL,
buildDecibelValue(centerBackRightLevel));
break;
case CBL_LEVEL_UP:
centerBackLefLevel += STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_CENTER_BACK_LEFT_LEVEL, buildDecibelValue(centerBackLefLevel));
break;
case CBL_LEVEL_DOWN:
centerBackLefLevel -= STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_CENTER_BACK_LEFT_LEVEL, buildDecibelValue(centerBackLefLevel));
break;
case CFR_LEVEL_UP:
ceilingFrontRightLevel += STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_CEILING_FRONT_RIGHT_LEVEL,
buildDecibelValue(ceilingFrontRightLevel));
break;
case CFR_LEVEL_DOWN:
ceilingFrontRightLevel -= STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_CEILING_FRONT_RIGHT_LEVEL,
buildDecibelValue(ceilingFrontRightLevel));
break;
case CFL_LEVEL_UP:
ceilingFrontLefLevel += STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_CEILING_FRONT_LEFT_LEVEL,
buildDecibelValue(ceilingFrontLefLevel));
break;
case CFL_LEVEL_DOWN:
ceilingFrontLefLevel -= STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_CEILING_FRONT_LEFT_LEVEL,
buildDecibelValue(ceilingFrontLefLevel));
break;
case CRR_LEVEL_UP:
ceilingRearRightLevel += STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_CEILING_REAR_RIGHT_LEVEL,
buildDecibelValue(ceilingRearRightLevel));
break;
case CRR_LEVEL_DOWN:
ceilingRearRightLevel -= STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_CEILING_REAR_RIGHT_LEVEL,
buildDecibelValue(ceilingRearRightLevel));
break;
case CRL_LEVEL_UP:
ceilingRearLefLevel += STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_CEILING_REAR_LEFT_LEVEL, buildDecibelValue(ceilingRearLefLevel));
break;
case CRL_LEVEL_DOWN:
ceilingRearLefLevel -= STEP_DECIBEL;
textAscii = buildAsciiResponse(KEY_CEILING_REAR_LEFT_LEVEL, buildDecibelValue(ceilingRearLefLevel));
break;
case DIMMER_LEVEL_SET: case DIMMER_LEVEL_SET:
if (value != null) { if (value != null) {
dimmer = value; dimmer = value;
@ -938,6 +1050,17 @@ public class RotelSimuConnector extends RotelConnector {
case DIMMER_LEVEL_GET: case DIMMER_LEVEL_GET:
textAscii = buildAsciiResponse(KEY_DIMMER, dimmer); textAscii = buildAsciiResponse(KEY_DIMMER, dimmer);
break; break;
case PCUSB_CLASS_1:
pcUsbClass = 1;
textAscii = buildAsciiResponse(KEY_PCUSB_CLASS, pcUsbClass);
break;
case PCUSB_CLASS_2:
pcUsbClass = 2;
textAscii = buildAsciiResponse(KEY_PCUSB_CLASS, pcUsbClass);
break;
case PCUSB_CLASS:
textAscii = buildAsciiResponse(KEY_PCUSB_CLASS, pcUsbClass);
break;
case MODEL: case MODEL:
textAscii = buildAsciiResponse(KEY_MODEL, model.getName()); textAscii = buildAsciiResponse(KEY_MODEL, model.getName());
break; break;
@ -1256,6 +1379,14 @@ public class RotelSimuConnector extends RotelConnector {
return buildAsciiResponse(KEY_DSP_MODE, dsp.getFeedback()); return buildAsciiResponse(KEY_DSP_MODE, dsp.getFeedback());
} }
private String buildDecibelValue(double value) {
if (value == 0.0) {
return "000.0db";
} else {
return String.format("%+05.1fdb", value).replace(",", ".");
}
}
private String buildSourceLine1Response() { private String buildSourceLine1Response() {
String text; String text;
if (!powers[0]) { if (!powers[0]) {

View File

@ -150,6 +150,28 @@ public class RotelHandler extends BaseThingHandler implements RotelMessageEventL
public void initialize() { public void initialize() {
logger.debug("Start initializing handler for thing {}", getThing().getUID()); logger.debug("Start initializing handler for thing {}", getThing().getUID());
RotelThingConfiguration config = getConfigAs(RotelThingConfiguration.class);
protocol = RotelProtocol.HEX;
if (config.protocol != null && !config.protocol.isEmpty()) {
try {
protocol = RotelProtocol.getFromName(config.protocol);
} catch (RotelException e) {
// Invalid protocol name in configuration, HEX will be considered by default
}
} else {
Map<String, String> properties = editProperties();
String property = properties.get(RotelBindingConstants.PROPERTY_PROTOCOL);
if (property != null && !property.isEmpty()) {
try {
protocol = RotelProtocol.getFromName(property);
} catch (RotelException e) {
// Invalid protocol name in thing property, HEX will be considered by default
}
}
}
logger.debug("rotelProtocol {}", protocol.getName());
switch (getThing().getThingTypeUID().getId()) { switch (getThing().getThingTypeUID().getId()) {
case THING_TYPE_ID_RSP1066: case THING_TYPE_ID_RSP1066:
model = RotelModel.RSP1066; model = RotelModel.RSP1066;
@ -224,7 +246,11 @@ public class RotelHandler extends BaseThingHandler implements RotelMessageEventL
model = RotelModel.RA1572; model = RotelModel.RA1572;
break; break;
case THING_TYPE_ID_RA1592: case THING_TYPE_ID_RA1592:
model = RotelModel.RA1592; if (protocol == RotelProtocol.ASCII_V1) {
model = RotelModel.RA1592_V1;
} else {
model = RotelModel.RA1592_V2;
}
break; break;
case THING_TYPE_ID_RAP1580: case THING_TYPE_ID_RAP1580:
model = RotelModel.RAP1580; model = RotelModel.RAP1580;
@ -236,7 +262,11 @@ public class RotelHandler extends BaseThingHandler implements RotelMessageEventL
model = RotelModel.RC1572; model = RotelModel.RC1572;
break; break;
case THING_TYPE_ID_RC1590: case THING_TYPE_ID_RC1590:
model = RotelModel.RC1590; if (protocol == RotelProtocol.ASCII_V1) {
model = RotelModel.RC1590_V1;
} else {
model = RotelModel.RC1590_V2;
}
break; break;
case THING_TYPE_ID_RCD1570: case THING_TYPE_ID_RCD1570:
model = RotelModel.RCD1570; model = RotelModel.RCD1570;
@ -295,28 +325,6 @@ public class RotelHandler extends BaseThingHandler implements RotelMessageEventL
break; break;
} }
RotelThingConfiguration config = getConfigAs(RotelThingConfiguration.class);
protocol = RotelProtocol.HEX;
if (config.protocol != null && !config.protocol.isEmpty()) {
try {
protocol = RotelProtocol.getFromName(config.protocol);
} catch (RotelException e) {
// Invalid protocol name in configuration, HEX will be considered by default
}
} else {
Map<String, String> properties = editProperties();
String property = properties.get(RotelBindingConstants.PROPERTY_PROTOCOL);
if (property != null && !property.isEmpty()) {
try {
protocol = RotelProtocol.getFromName(property);
} catch (RotelException e) {
// Invalid protocol name in thing property, HEX will be considered by default
}
}
}
logger.debug("rotelProtocol {}", protocol.getName());
Map<RotelSource, String> sourcesCustomLabels = new HashMap<>(); Map<RotelSource, String> sourcesCustomLabels = new HashMap<>();
Map<RotelSource, String> sourcesLabels = new HashMap<>(); Map<RotelSource, String> sourcesLabels = new HashMap<>();
@ -1368,6 +1376,9 @@ public class RotelHandler extends BaseThingHandler implements RotelMessageEventL
throw new RotelException("Invalid value"); throw new RotelException("Invalid value");
} }
break; break;
case KEY_POWER_MODE:
logger.debug("Power mode is set to {}", value);
break;
case KEY_VOLUME_MIN: case KEY_VOLUME_MIN:
minVolume = Integer.parseInt(value); minVolume = Integer.parseInt(value);
if (!model.hasDirectVolumeControl()) { if (!model.hasDirectVolumeControl()) {
@ -1652,6 +1663,39 @@ public class RotelHandler extends BaseThingHandler implements RotelMessageEventL
throw new RotelException("Invalid value"); throw new RotelException("Invalid value");
} }
break; break;
case KEY_SUB_LEVEL:
logger.debug("Sub level is set to {}", value);
break;
case KEY_CENTER_LEVEL:
logger.debug("Center level is set to {}", value);
break;
case KEY_SURROUND_RIGHT_LEVEL:
logger.debug("Surround right level is set to {}", value);
break;
case KEY_SURROUND_LEFT_LEVEL:
logger.debug("Surround left level is set to {}", value);
break;
case KEY_CENTER_BACK_RIGHT_LEVEL:
logger.debug("Center back right level is set to {}", value);
break;
case KEY_CENTER_BACK_LEFT_LEVEL:
logger.debug("Center back left level is set to {}", value);
break;
case KEY_CEILING_FRONT_RIGHT_LEVEL:
logger.debug("Ceiling front right level is set to {}", value);
break;
case KEY_CEILING_FRONT_LEFT_LEVEL:
logger.debug("Ceiling front left level is set to {}", value);
break;
case KEY_CEILING_REAR_RIGHT_LEVEL:
logger.debug("Ceiling rear right level is set to {}", value);
break;
case KEY_CEILING_REAR_LEFT_LEVEL:
logger.debug("Ceiling rear left level is set to {}", value);
break;
case KEY_PCUSB_CLASS:
logger.debug("PC-USB Audio Class is set to {}", value);
break;
case KEY_MODEL: case KEY_MODEL:
getThing().setProperty(Thing.PROPERTY_MODEL_ID, value); getThing().setProperty(Thing.PROPERTY_MODEL_ID, value);
break; break;

View File

@ -116,6 +116,9 @@ channel-type.rotel.frontPanelLine.label = Front Panel Line
channel-type.rotel.frontPanelLine.description = The line content displayed on the device front panel channel-type.rotel.frontPanelLine.description = The line content displayed on the device front panel
channel-type.rotel.otherCommand.label = Other Command channel-type.rotel.otherCommand.label = Other Command
channel-type.rotel.otherCommand.description = Choose the command to send to the device channel-type.rotel.otherCommand.description = Choose the command to send to the device
channel-type.rotel.otherCommand.command.option.POWER_MODE = Request current power mode
channel-type.rotel.otherCommand.command.option.POWER_MODE_QUICK = Set power mode to quick
channel-type.rotel.otherCommand.command.option.POWER_MODE_NORMAL = Set power mode to normal
channel-type.rotel.otherCommand.command.option.POWER_OFF_ALL_ZONES = Power Off All Zones channel-type.rotel.otherCommand.command.option.POWER_OFF_ALL_ZONES = Power Off All Zones
channel-type.rotel.otherCommand.command.option.REMOTE_VOLUME_UP = Remote Volume Up channel-type.rotel.otherCommand.command.option.REMOTE_VOLUME_UP = Remote Volume Up
channel-type.rotel.otherCommand.command.option.REMOTE_VOLUME_DOWN = Remote Volume Down channel-type.rotel.otherCommand.command.option.REMOTE_VOLUME_DOWN = Remote Volume Down
@ -260,6 +263,7 @@ channel-type.rotel.otherCommand.command.option.ZONE4_KEY8 = Zone 4 Number Key 8
channel-type.rotel.otherCommand.command.option.ZONE4_KEY9 = Zone 4 Number Key 9 channel-type.rotel.otherCommand.command.option.ZONE4_KEY9 = Zone 4 Number Key 9
channel-type.rotel.otherCommand.command.option.ZONE4_KEY0 = Zone 4 Number Key 0 channel-type.rotel.otherCommand.command.option.ZONE4_KEY0 = Zone 4 Number Key 0
channel-type.rotel.otherCommand.command.option.PROGRAM = Program Key channel-type.rotel.otherCommand.command.option.PROGRAM = Program Key
channel-type.rotel.otherCommand.command.option.PCUSB_CLASS = Request current PC-USB class
channel-type.rotel.otherCommand.command.option.PCUSB_CLASS_1 = Set PC-USB Audio Class to 1.0 channel-type.rotel.otherCommand.command.option.PCUSB_CLASS_1 = Set PC-USB Audio Class to 1.0
channel-type.rotel.otherCommand.command.option.PCUSB_CLASS_2 = Set PC-USB Audio Class to 2.0 channel-type.rotel.otherCommand.command.option.PCUSB_CLASS_2 = Set PC-USB Audio Class to 2.0
channel-type.rotel.otherCommand.command.option.RESET_FACTORY = Reset unit to factory defaults channel-type.rotel.otherCommand.command.option.RESET_FACTORY = Reset unit to factory defaults
@ -271,6 +275,26 @@ channel-type.rotel.otherCommand.command.option.ZONE_TOGGLE = Zone Toggle
channel-type.rotel.otherCommand.command.option.CENTER_TRIM = Temporary Center Trim channel-type.rotel.otherCommand.command.option.CENTER_TRIM = Temporary Center Trim
channel-type.rotel.otherCommand.command.option.SUB_TRIM = Temporary Subwoofer Trim channel-type.rotel.otherCommand.command.option.SUB_TRIM = Temporary Subwoofer Trim
channel-type.rotel.otherCommand.command.option.SURROUND_TRIM = Temporary Surround Trim channel-type.rotel.otherCommand.command.option.SURROUND_TRIM = Temporary Surround Trim
channel-type.rotel.otherCommand.command.option.SUB_LEVEL_UP = Temporary increase sub level
channel-type.rotel.otherCommand.command.option.SUB_LEVEL_DOWN = Temporary decrease sub level
channel-type.rotel.otherCommand.command.option.C_LEVEL_UP = Temporary increase center level
channel-type.rotel.otherCommand.command.option.C_LEVEL_DOWN = Temporary decrease center level
channel-type.rotel.otherCommand.command.option.SR_LEVEL_UP = Temporary increase surround right level
channel-type.rotel.otherCommand.command.option.SR_LEVEL_DOWN = Temporary decrease surround right level
channel-type.rotel.otherCommand.command.option.SL_LEVEL_UP = Temporary increase surround left level
channel-type.rotel.otherCommand.command.option.SL_LEVEL_DOWN = Temporary decrease surround left level
channel-type.rotel.otherCommand.command.option.CBR_LEVEL_UP = Temporary increase center back right level
channel-type.rotel.otherCommand.command.option.CBR_LEVEL_DOWN = Temporary decrease center back right level
channel-type.rotel.otherCommand.command.option.CBL_LEVEL_UP = Temporary increase center back left level
channel-type.rotel.otherCommand.command.option.CBL_LEVEL_DOWN = Temporary decrease center back left level
channel-type.rotel.otherCommand.command.option.CFR_LEVEL_UP = Temporary increase ceiling front right level
channel-type.rotel.otherCommand.command.option.CFR_LEVEL_DOWN = Temporary decrease ceiling front right level
channel-type.rotel.otherCommand.command.option.CFL_LEVEL_UP = Temporary increase ceiling front left level
channel-type.rotel.otherCommand.command.option.CFL_LEVEL_DOWN = Temporary decrease ceiling front left level
channel-type.rotel.otherCommand.command.option.CRR_LEVEL_UP = Temporary increase ceiling rear right level
channel-type.rotel.otherCommand.command.option.CRR_LEVEL_DOWN = Temporary decrease ceiling rear right level
channel-type.rotel.otherCommand.command.option.CRL_LEVEL_UP = Temporary increase ceiling rear left level
channel-type.rotel.otherCommand.command.option.CRL_LEVEL_DOWN = Temporary decrease ceiling rear left level
channel-type.rotel.otherCommand.command.option.CINEMA_EQ_TOGGLE = Cinema EQ Toggle channel-type.rotel.otherCommand.command.option.CINEMA_EQ_TOGGLE = Cinema EQ Toggle
channel-type.rotel.otherCommand.command.option.PARTY_MODE_TOGGLE = Party Mode Toggle channel-type.rotel.otherCommand.command.option.PARTY_MODE_TOGGLE = Party Mode Toggle
channel-type.rotel.otherCommand.command.option.ZONE2_PARTY_MODE_TOGGLE = Zone 2 Party Mode Toggle channel-type.rotel.otherCommand.command.option.ZONE2_PARTY_MODE_TOGGLE = Zone 2 Party Mode Toggle

View File

@ -22,6 +22,7 @@
<channel id="balance" typeId="balance"/> <channel id="balance" typeId="balance"/>
<channel id="speakera" typeId="speakera"/> <channel id="speakera" typeId="speakera"/>
<channel id="speakerb" typeId="speakerb"/> <channel id="speakerb" typeId="speakerb"/>
<channel id="otherCommand" typeId="otherCommand"/>
</channels> </channels>
<config-description-ref uri="thing-type:rotel:serialandipandprotocol"/> <config-description-ref uri="thing-type:rotel:serialandipandprotocol"/>

View File

@ -16,6 +16,7 @@
<channel id="volume" typeId="system.volume"/> <channel id="volume" typeId="system.volume"/>
<channel id="mute" typeId="system.mute"/> <channel id="mute" typeId="system.mute"/>
<channel id="brightness" typeId="brightness"/> <channel id="brightness" typeId="brightness"/>
<channel id="otherCommand" typeId="otherCommand"/>
</channels> </channels>
<properties> <properties>

View File

@ -20,6 +20,7 @@
<channel id="brightness" typeId="brightness"/> <channel id="brightness" typeId="brightness"/>
<channel id="tcbypass" typeId="tcbypass"/> <channel id="tcbypass" typeId="tcbypass"/>
<channel id="balance" typeId="balance"/> <channel id="balance" typeId="balance"/>
<channel id="otherCommand" typeId="otherCommand"/>
</channels> </channels>
<config-description-ref uri="thing-type:rotel:serialandipandprotocol"/> <config-description-ref uri="thing-type:rotel:serialandipandprotocol"/>

View File

@ -14,6 +14,7 @@
<channel id="source" typeId="source"/> <channel id="source" typeId="source"/>
<channel id="playControl" typeId="system.media-control"/> <channel id="playControl" typeId="system.media-control"/>
<channel id="frequency" typeId="frequency"/> <channel id="frequency" typeId="frequency"/>
<channel id="otherCommand" typeId="otherCommand"/>
</channels> </channels>
<properties> <properties>

View File

@ -16,6 +16,7 @@
<channel id="volume" typeId="system.volume"/> <channel id="volume" typeId="system.volume"/>
<channel id="mute" typeId="system.mute"/> <channel id="mute" typeId="system.mute"/>
<channel id="brightness" typeId="brightness"/> <channel id="brightness" typeId="brightness"/>
<channel id="otherCommand" typeId="otherCommand"/>
</channels> </channels>
<properties> <properties>

View File

@ -16,6 +16,7 @@
<channel id="volume" typeId="system.volume"/> <channel id="volume" typeId="system.volume"/>
<channel id="mute" typeId="system.mute"/> <channel id="mute" typeId="system.mute"/>
<channel id="brightness" typeId="brightness"/> <channel id="brightness" typeId="brightness"/>
<channel id="otherCommand" typeId="otherCommand"/>
</channels> </channels>
<properties> <properties>