Complete with the OO changes. Also, added more built-in help information.

This commit is contained in:
2026-01-29 16:50:53 -06:00
parent 0d41768fe7
commit 87ece7eb14
6 changed files with 759 additions and 975 deletions

View File

@@ -14,9 +14,9 @@
#define LONGESTTEXT 150
using AVRSubsys = AVRInterface::AVRSubsystem_E;
using AVRSubsys = AVRInterface::AVRSubsystem_T;
using AVRFunc = AVRInterface::AVRFunction_E;
//using AVRArg = AVRInterface::AVRArgument_U;
using AVRArg = AVRInterface::AVRArg_T;
typedef enum {
eReady,
@@ -56,16 +56,6 @@ static const char * StateText[] = {
"Unknown State"
};
static const Message_T AVRCommands[] = {
{ eReady, "\x11" "000" "\x03", 5 },
{ ePowerOn, "\x02" "07A1D" "\x03", 7 },
{ ePowerOff,"\x02" "07A1E" "\x03", 7 },
{ eVolumeUp,"\x02" "07A1A" "\x03", 7 },
{ eVolumeDown,"\x02" "07A1B" "\x03", 7 },
{ eMute, "\x02" "07EA2" "\x03", 7 },
{ eUnMute, "\x02" "07EA3" "\x03", 7 },
};
// This is based on the longest thing from the MessageHandlers text field and the generated text
// "MultiCh Surround" "Surround"
const char *PCMessageFormat = "%18s %-20s";
@@ -208,16 +198,6 @@ AVRInterface::~AVRInterface() {
}
bool AVRInterface::IsSanityCheckOK() {
static bool checked = false;
if (!checked) {
checked = true;
if (sizeof(AVRCommands) / sizeof(Message_T) != AVRState_T::stMaxStates + 1) {
#ifdef _DEBUG
printf("AVRCommands array size mismatch!\n");
#endif
return false;
}
}
return true;
}
@@ -279,7 +259,7 @@ void AVRInterface::MessageReport(const char *prefix, const void *buf, size_t len
}
void AVRInterface::Tick(uint32_t now_ms) {
AVRInterface::AVRState_T AVRInterface::Tick(uint32_t now_ms) {
if (!bFirstTickInitialized) {
bFirstTickInitialized = true;
firstTick_ms = now_ms;
@@ -296,7 +276,8 @@ void AVRInterface::Tick(uint32_t now_ms) {
default:
case AVRState_T::stPoweringUp:
readyResponsReceived = false;
ProcessSerialQueue(AVRCommands[eReady].pMsg, AVRCommands[eReady].MsgLen);
AVRCommand(subMain, fncReady, eOn);
(*ReportInformation)(mtInfo, "Send Ready");
sentAtTime_ms = now_ms;
readyTries++;
state = stAwaitingReadyResponse;
@@ -307,7 +288,7 @@ void AVRInterface::Tick(uint32_t now_ms) {
} else if (elapsed_ms > RETRY_INTERVAL_ms) {
if (readyTries > MAXTRIES) {
// fail
state = stFailed;
} else {
state = stPoweringUp;
}
@@ -329,6 +310,7 @@ void AVRInterface::Tick(uint32_t now_ms) {
ProcessSerialQueue();
break;
}
return state;
}
/// @brief Handle a just received message by parsing it
@@ -434,30 +416,6 @@ bool AVRInterface::Initialize() {
return true;
}
bool AVRInterface::IsOnline() {
return true;
}
bool AVRInterface::Power(AVROnOff_E cmd) {
commandResponseReceived = false;
if (cmd == eOn)
ProcessSerialQueue(AVRCommands[ePowerOn].pMsg, AVRCommands[ePowerOn].MsgLen);
else
ProcessSerialQueue(AVRCommands[ePowerOff].pMsg, AVRCommands[ePowerOff].MsgLen);
state = stAwaitingResponse;
return true;
}
bool AVRInterface::VolumeButton(AVRUpDown_E cmd) {
switch (cmd) {
case eUp:
break;
case eDown:
break;
default:
return false;
}
return true;
}
bool AVRInterface::RegisterInformationCallback(void(*StatusChangeCallback)(AVRMessageType_T type, const char *msg)) {
ReportInformation = StatusChangeCallback;
@@ -540,7 +498,6 @@ bool AVRInterface::CheckTheChecksum(const uint8_t *szBuffer, uint32_t num) {
sum += szBuffer[i];
}
uint8_t cksum = (uint8_t)Hex2Dec(&szBuffer[num - 3], 2);
//printf("CheckSum: %02X v. %c%c\n", sum, szBuffer[num - 3], szBuffer[num - 2]);
return (sum == cksum);
}
@@ -614,8 +571,6 @@ bool AVRInterface::ProcessReportResponse(const uint8_t *szBuffer, uint32_t len)
if (!found && ReportInformation) {
sprintf_s(buf, LONGESTTEXT, "***** type: %X, guard: %X, cmd: %02X, data: %02X", type, guard, rcmd, rdat);
(*ReportInformation)(mtInfo, buf);
//Console_Write(buf);
//Console_ScrollBottomRegion();
}
return showAllFlag;
}
@@ -684,7 +639,7 @@ void AVRInterface::PCMessage(const char *msg, int len, uint8_t **src, const char
}
typedef const struct {
AVRInterface::AVRSubsystem_E subsystem;
AVRInterface::AVRSubsystem_T subsystem;
AVRInterface::AVRFunction_E function;
AVRInterface::AVRArg_T arg;
const char *Message;
@@ -693,228 +648,233 @@ typedef const struct {
} MessageTable_T;
MessageTable_T MessageTable[] = {
{ AVRSubsys::eMain, AVRFunc::fncVolume, AVRInterface::eUp, "\x02" "07A1A" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncVolume, AVRInterface::eDown, "\x02" "07A1B" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncMute, AVRInterface::eOn, "\x02" "07EA2" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncMute, AVRInterface::eOff, "\x02" "07EA3" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInput, AVRInterface::ePhono, "\x02" "07A14" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInput, AVRInterface::eCD, "\x02" "07A15" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInput, AVRInterface::eTuner, "\x02" "07A16" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInput, AVRInterface::eCDR, "\x02" "07A19" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInput, AVRInterface::eMD_Tape, "\x02" "07AC9" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInput, AVRInterface::eDVD, "\x02" "07AC1" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInput, AVRInterface::eDTV, "\x02" "07A54" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInput, AVRInterface::eCable, "\x02" "07AC0" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInput, AVRInterface::eSat, "\x02" "07ACA" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInput, AVRInterface::eVCR1, "\x02" "07A0F" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInput, AVRInterface::eVCR2_DVR, "\x02" "07A13" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInput, AVRInterface::eVCR3, "\x02" "07AC8" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInput, AVRInterface::eV_Aux, "\x02" "07A55" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fnc6ChInput, AVRInterface::eOn, "\x02" "07EA4" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fnc6ChInput, AVRInterface::eOff, "\x02" "07EA5" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInputMode, AVRInterface::eInpAuto, "\x02" "07EA6" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInputMode, AVRInterface::eDD_RF, "\x02" "07EA7" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInputMode, AVRInterface::eDTS, "\x02" "07EA8" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInputMode, AVRInterface::eDigital, "\x02" "07EA9" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInputMode, AVRInterface::eAnalog, "\x02" "07EAA" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncInputMode, AVRInterface::eAAC, "\x02" "07E3B" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncVolume, AVRInterface::eUp, "\x02" "07ADA" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncVolume, AVRInterface::eDown, "\x02" "07ADB" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncMute, AVRInterface::eOn, "\x02" "07EA0" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncMute, AVRInterface::eOff, "\x02" "07EA1" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncInput, AVRInterface::ePhono, "\x02" "07AD0" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncInput, AVRInterface::eCD, "\x02" "07AD1" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncInput, AVRInterface::eTuner, "\x02" "07AD2" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncInput, AVRInterface::eCDR, "\x02" "07AD4" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncInput, AVRInterface::eMD_Tape, "\x02" "07ACF" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncInput, AVRInterface::eDVD, "\x02" "07ACD" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncInput, AVRInterface::eDTV, "\x02" "07AD9" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncInput, AVRInterface::eCable, "\x02" "07ACC" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncInput, AVRInterface::eSat, "\x02" "07ACB" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncInput, AVRInterface::eVCR1, "\x02" "07AD6" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncInput, AVRInterface::eVCR2_DVR, "\x02" "07AD7" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncInput, AVRInterface::eVCR3, "\x02" "07ACE" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncInput, AVRInterface::eV_Aux, "\x02" "07AD8" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncPower, AVRInterface::eOn, "\x02" "07A1D" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncPower, AVRInterface::eOff, "\x02" "07A1E" "\x03", 7 },
{ AVRSubsys::eZone1, AVRFunc::fncPower, AVRInterface::eOn, "\x02" "07E7E" "\x03", 7 },
{ AVRSubsys::eZone1, AVRFunc::fncPower, AVRInterface::eOff, "\x02" "07E7F" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncPower, AVRInterface::eOn, "\x02" "07EBA" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncPower, AVRInterface::eOff, "\x02" "07EBB" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncPower, AVRInterface::eOn, "\x02" "07AED" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncPower, AVRInterface::eStandby, "\x02" "07AEE" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncMute, AVRInterface::eOn, "\x02" "07E26" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncMute, AVRInterface::eOff, "\x02" "07E66" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncVolume, AVRInterface::eUp, "\x02" "07AFD" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncVolume, AVRInterface::eDown, "\x02" "07AFE" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncInput, AVRInterface::ePhono, "\x02" "07AF1" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncInput, AVRInterface::eCD, "\x02" "07AF2" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncInput, AVRInterface::eTuner, "\x02" "07AF3" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncInput, AVRInterface::eCDR, "\x02" "07AF5" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncInput, AVRInterface::eMD_Tape, "\x02" "07AF4" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncInput, AVRInterface::eDVD, "\x02" "07AFC" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncInput, AVRInterface::eDTV, "\x02" "07AF6" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncInput, AVRInterface::eCable, "\x02" "07AF7" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncInput, AVRInterface::eSat, "\x02" "07AF8" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncInput, AVRInterface::eVCR1, "\x02" "07AF9" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncInput, AVRInterface::eVCR2_DVR, "\x02" "07AFA" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncInput, AVRInterface::eVCR3, "\x02" "07AFB" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncInput, AVRInterface::eV_Aux, "\x02" "07AF0" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncOSD, AVRInterface::eOSDOff, "\x02" "07EB0" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncOSD, AVRInterface::eOSDShort, "\x02" "07EB1" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncOSD, AVRInterface::eOSDFull, "\x02" "07EB2" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncSleep, AVRInterface::eSleepOff, "\x02" "07EB3" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncSleep, AVRInterface::eSleep120, "\x02" "07EB4" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncSleep, AVRInterface::eSleep90, "\x02" "07EB5" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncSleep, AVRInterface::eSleep60, "\x02" "07EB6" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncSleep, AVRInterface::eSleep30, "\x02" "07EB7" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEx_EsOnOff, AVRInterface::eOnMatrix, "\x02" "07EB8" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEx_EsOnOff, AVRInterface::eESESOff, "\x02" "07EB9" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEx_EsOnOff, AVRInterface::eAuto, "\x02" "07E7C" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEx_EsOnOff, AVRInterface::eDiscrete, "\x02" "07E7D" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncNightModeOnOff, AVRInterface::eOn, "\x02" "07E9B" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncNightModeOnOff, AVRInterface::eOff, "\x02" "07E9C" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::eEffectOn, "\x02" "07E27" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::eStereo, "\x02" "07EE0" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Hall_A, "\x02" "07EE1" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Hall_B, "\x02" "07EE2" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Hall_C, "\x02" "07EE3" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Hall_USA, "\x02" "07EE4" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Hall_E, "\x02" "07EE5" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Live_Concert, "\x02" "07EE6" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Tokyo, "\x02" "07EE7" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Freiburg, "\x02" "07EE8" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Royaumont, "\x02" "07EE9" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Village_Gate, "\x02" "07EEA" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Village_Vanguard, "\x02" "07EEB" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::The_Bottom_Line, "\x02" "07EEC" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::The_Roxy_Theater, "\x02" "07EED" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Warehouse_Loft, "\x02" "07EEE" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Arena, "\x02" "07EEF" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Disco, "\x02" "07EF0" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Party, "\x02" "07EF1" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Game, "\x02" "07EF2" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Stereo_6_8Ch, "\x02" "07EFF" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Pop_Rock, "\x02" "07EF3" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::DJ, "\x02" "07EF4" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Opera, "\x02" "07EF5" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Pavillion, "\x02" "07EF6" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Mono_Movie, "\x02" "07EF7" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Variety_Sports, "\x02" "07EF8" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Spectacre, "\x02" "07EF9" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Sci_Fi, "\x02" "07EFA" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Adventure, "\x02" "07EFB" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::General, "\x02" "07EFC" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Normal, "\x02" "07EFD" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Enhanced, "\x02" "07EFE" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::PLII_Movie, "\x02" "07E67" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::PLII_Music, "\x02" "07E68" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Neo_6_Movie, "\x02" "07E69" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Neo_6_Music, "\x02" "07E6A" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Direct_2Ch, "\x02" "07EC1" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::Stereo_2Ch, "\x02" "07EC0" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::THX_Ultra_PL, "\x02" "07EC2" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::THX_Music, "\x02" "07EC3" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::THX_Ultra_PL2, "\x02" "07EC7" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncEffect, AVRInterface::THX_Ultra_NEO6, "\x02" "07EC8" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetPage, AVRInterface::eA, "\x02" "07AE0" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetPage, AVRInterface::eB, "\x02" "07AE1" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetPage, AVRInterface::eC, "\x02" "07AE2" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetPage, AVRInterface::eD, "\x02" "07AE3" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetPage, AVRInterface::eE, "\x02" "07AE4" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetNumber, AVRInterface::e1, "\x02" "07AE5" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetNumber, AVRInterface::e2, "\x02" "07AE6" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetNumber, AVRInterface::e3, "\x02" "07AE7" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetNumber, AVRInterface::e4, "\x02" "07AE8" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetNumber, AVRInterface::e5, "\x02" "07AE9" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetNumber, AVRInterface::e6, "\x02" "07AEA" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetNumber, AVRInterface::e7, "\x02" "07AEB" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetNumber, AVRInterface::e8, "\x02" "07AEC" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioBand, AVRInterface::eFM, "\x02" "07EBC" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioBand, AVRInterface::eAM, "\x02" "07EBD" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioTune, AVRInterface::eUp, "\x02" "07EBE" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioTune, AVRInterface::eDown, "\x02" "07EBF" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncSpeakerAOnOff, AVRInterface::eOn, "\x02" "07EAB" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncSpeakerAOnOff, AVRInterface::eOff, "\x02" "07EAC" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncSpeakerBOnOff, AVRInterface::eOn, "\x02" "07EAD" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncSpeakerBOnOff, AVRInterface::eOff, "\x02" "07EAE" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetMemory, AVRInterface::eA, "\x02" "07E2B" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetMemory, AVRInterface::eB, "\x02" "07E2C" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetMemory, AVRInterface::eC, "\x02" "07E2D" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetMemory, AVRInterface::eD, "\x02" "07E2E" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetMemory, AVRInterface::eE, "\x02" "07E2F" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetMemory, AVRInterface::eF, "\x02" "07E20" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetRecall, AVRInterface::eA, "\x02" "07E35" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetRecall, AVRInterface::eB, "\x02" "07E36" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetRecall, AVRInterface::eC, "\x02" "07E37" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetRecall, AVRInterface::eD, "\x02" "07E38" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetRecall, AVRInterface::eE, "\x02" "07E39" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncRadioPresetRecall, AVRInterface::eF, "\x02" "07E3A" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncVolumeMemory, AVRInterface::eA, "\x02" "07E6B" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncVolumeMemory, AVRInterface::eB, "\x02" "07E6C" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncVolumeMemory, AVRInterface::eC, "\x02" "07E6D" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncVolumeMemory, AVRInterface::eD, "\x02" "07E6E" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncVolumeMemory, AVRInterface::eE, "\x02" "07E6F" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncVolumeMemory, AVRInterface::eF, "\x02" "07E60" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncVolumeRecall, AVRInterface::eA, "\x02" "07E75" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncVolumeRecall, AVRInterface::eB, "\x02" "07E76" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncVolumeRecall, AVRInterface::eC, "\x02" "07E77" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncVolumeRecall, AVRInterface::eD, "\x02" "07E78" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncVolumeRecall, AVRInterface::eE, "\x02" "07E79" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncVolumeRecall, AVRInterface::eF, "\x02" "07E7A" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncVolumeMemory, AVRInterface::eA, "\x02" "07E87" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncVolumeMemory, AVRInterface::eB, "\x02" "07E88" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncVolumeMemory, AVRInterface::eC, "\x02" "07E89" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncVolumeMemory, AVRInterface::eD, "\x02" "07E8A" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncVolumeMemory, AVRInterface::eE, "\x02" "07E8B" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncVolumeMemory, AVRInterface::eF, "\x02" "07E8C" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncVolumeRecall, AVRInterface::eA, "\x02" "07E8D" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncVolumeRecall, AVRInterface::eB, "\x02" "07E8E" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncVolumeRecall, AVRInterface::eC, "\x02" "07E8F" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncVolumeRecall, AVRInterface::eD, "\x02" "07E90" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncVolumeRecall, AVRInterface::eE, "\x02" "07E91" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncVolumeRecall, AVRInterface::eF, "\x02" "07E92" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncVolumeMemory, AVRInterface::eA, "\x02" "07E20" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncVolumeMemory, AVRInterface::eB, "\x02" "07E21" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncVolumeMemory, AVRInterface::eC, "\x02" "07E22" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncVolumeMemory, AVRInterface::eD, "\x02" "07E23" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncVolumeMemory, AVRInterface::eE, "\x02" "07E24" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncVolumeMemory, AVRInterface::eF, "\x02" "07E25" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncVolumeRecall, AVRInterface::eA, "\x02" "07E60" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncVolumeRecall, AVRInterface::eB, "\x02" "07E61" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncVolumeRecall, AVRInterface::eC, "\x02" "07E62" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncVolumeRecall, AVRInterface::eD, "\x02" "07E63" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncVolumeRecall, AVRInterface::eE, "\x02" "07E64" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncVolumeRecall, AVRInterface::eF, "\x02" "07E65" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncDC1TrigControl, AVRInterface::eZone1, "\x02" "07E32" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncDC1TrigControl, AVRInterface::eZone2, "\x02" "07E33" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncDC1TrigControl, AVRInterface::eZone3, "\x02" "07E31" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncDC1OnOff, AVRInterface::eOn, "\x02" "07E71" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncDC1OnOff, AVRInterface::eOff, "\x02" "07E72" "\x03", 7 },
{ AVRSubsys::eZone1, AVRFunc::fncDC1OnOff, AVRInterface::eOn, "\x02" "07E73" "\x03", 7 },
{ AVRSubsys::eZone1, AVRFunc::fncDC1OnOff, AVRInterface::eOff, "\x02" "07E74" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncDC1OnOff, AVRInterface::eOn, "\x02" "07E83" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncDC1OnOff, AVRInterface::eOff, "\x02" "07E84" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncDualMono, AVRInterface::eDualMain, "\x02" "07E93" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncDualMono, AVRInterface::eDualSub, "\x02" "07E94" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncDualMono, AVRInterface::eDualAll, "\x02" "07E95" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncDC1TrigControl, AVRInterface::eZone1, "\x02" "07E96" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncDC1TrigControl, AVRInterface::eZone2, "\x02" "07E97" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncDC1TrigControl, AVRInterface::eZone3, "\x02" "07E9F" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncDC1TrigControl, AVRInterface::eZoneOR, "\x02" "07E98" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncDC2OnOff, AVRInterface::eOn, "\x02" "07E3C" "\x03", 7 },
{ AVRSubsys::eZone2, AVRFunc::fncDC2OnOff, AVRInterface::eOff, "\x02" "07E3D" "\x03", 7 },
{ AVRSubsys::eZone1, AVRFunc::fncDC2OnOff, AVRInterface::eOn, "\x02" "07E3E" "\x03", 7 },
{ AVRSubsys::eZone1, AVRFunc::fncDC2OnOff, AVRInterface::eOff, "\x02" "07E3F" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncDC2OnOff, AVRInterface::eOn, "\x02" "07E85" "\x03", 7 },
{ AVRSubsys::eZone3, AVRFunc::fncDC2OnOff, AVRInterface::eOff, "\x02" "07E86" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncSpeakerBZone, AVRInterface::eZone1, "\x02" "07E28" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncSpeakerBZone, AVRInterface::eZone2, "\x02" "07E29" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncZone2SpeakerOnOff, AVRInterface::eOn, "\x02" "07E99" "\x03", 7 },
{ AVRSubsys::eMain, AVRFunc::fncZone2SpeakerOnOff, AVRInterface::eOff, "\x02" "07E9A" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncReady, AVRInterface::eOn, "\x11" "000" "\x03", 5 },
{ AVRSubsys::subMain, AVRFunc::fncPower, AVRInterface::eOn, "\x02" "07A1D" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncPower, AVRInterface::eOff, "\x02" "07A1E" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncVolume, AVRInterface::eUp, "\x02" "07A1A" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncVolume, AVRInterface::eDown, "\x02" "07A1B" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncMute, AVRInterface::eOn, "\x02" "07EA2" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncMute, AVRInterface::eOff, "\x02" "07EA3" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncOSD, AVRInterface::eOSDOff, "\x02" "07EB0" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncOSD, AVRInterface::eOSDShort, "\x02" "07EB1" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncOSD, AVRInterface::eOSDFull, "\x02" "07EB2" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncNightModeOnOff, AVRInterface::eOn, "\x02" "07E9B" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncNightModeOnOff, AVRInterface::eOff, "\x02" "07E9C" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncSleep, AVRInterface::eSleepOff, "\x02" "07EB3" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncSleep, AVRInterface::eSleep120, "\x02" "07EB4" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncSleep, AVRInterface::eSleep90, "\x02" "07EB5" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncSleep, AVRInterface::eSleep60, "\x02" "07EB6" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncSleep, AVRInterface::eSleep30, "\x02" "07EB7" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncSpeakerAOnOff, AVRInterface::eOn, "\x02" "07EAB" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncSpeakerAOnOff, AVRInterface::eOff, "\x02" "07EAC" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncSpeakerBOnOff, AVRInterface::eOn, "\x02" "07EAD" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncSpeakerBOnOff, AVRInterface::eOff, "\x02" "07EAE" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncDC1TrigControl, AVRInterface::eZone1, "\x02" "07E32" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncDC1TrigControl, AVRInterface::eZone2, "\x02" "07E33" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncDC1TrigControl, AVRInterface::eZone3, "\x02" "07E31" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncDualMono, AVRInterface::eDualMain, "\x02" "07E93" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncDualMono, AVRInterface::eDualSub, "\x02" "07E94" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncDualMono, AVRInterface::eDualAll, "\x02" "07E95" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncDC1TrigControl, AVRInterface::eZone1, "\x02" "07E96" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncDC1TrigControl, AVRInterface::eZone2, "\x02" "07E97" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncDC1TrigControl, AVRInterface::eZone3, "\x02" "07E9F" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncDC1TrigControl, AVRInterface::eZoneOR, "\x02" "07E98" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncSpeakerBZone, AVRInterface::eZone1, "\x02" "07E28" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncSpeakerBZone, AVRInterface::eZone2, "\x02" "07E29" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncZone2SpeakerOnOff, AVRInterface::eOn, "\x02" "07E99" "\x03", 7 },
{ AVRSubsys::subMain, AVRFunc::fncZone2SpeakerOnOff, AVRInterface::eOff, "\x02" "07E9A" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioBand, AVRInterface::eFM, "\x02" "07EBC" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioBand, AVRInterface::eAM, "\x02" "07EBD" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioTune, AVRInterface::eUp, "\x02" "07EBE" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioTune, AVRInterface::eDown, "\x02" "07EBF" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetPage, AVRInterface::eA, "\x02" "07AE0" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetPage, AVRInterface::eB, "\x02" "07AE1" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetPage, AVRInterface::eC, "\x02" "07AE2" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetPage, AVRInterface::eD, "\x02" "07AE3" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetPage, AVRInterface::eE, "\x02" "07AE4" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetNumber, AVRInterface::e1, "\x02" "07AE5" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetNumber, AVRInterface::e2, "\x02" "07AE6" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetNumber, AVRInterface::e3, "\x02" "07AE7" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetNumber, AVRInterface::e4, "\x02" "07AE8" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetNumber, AVRInterface::e5, "\x02" "07AE9" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetNumber, AVRInterface::e6, "\x02" "07AEA" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetNumber, AVRInterface::e7, "\x02" "07AEB" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetNumber, AVRInterface::e8, "\x02" "07AEC" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetMemory, AVRInterface::eA, "\x02" "07E2B" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetMemory, AVRInterface::eB, "\x02" "07E2C" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetMemory, AVRInterface::eC, "\x02" "07E2D" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetMemory, AVRInterface::eD, "\x02" "07E2E" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetMemory, AVRInterface::eE, "\x02" "07E2F" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetMemory, AVRInterface::eF, "\x02" "07E20" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetRecall, AVRInterface::eA, "\x02" "07E35" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetRecall, AVRInterface::eB, "\x02" "07E36" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetRecall, AVRInterface::eC, "\x02" "07E37" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetRecall, AVRInterface::eD, "\x02" "07E38" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetRecall, AVRInterface::eE, "\x02" "07E39" "\x03", 7 },
{ AVRSubsys::subRadio, AVRFunc::fncRadioPresetRecall, AVRInterface::eF, "\x02" "07E3A" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fnc6ChInput, AVRInterface::eOn, "\x02" "07EA4" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fnc6ChInput, AVRInterface::eOff, "\x02" "07EA5" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncInputMode, AVRInterface::eInpAuto, "\x02" "07EA6" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncInputMode, AVRInterface::eDD_RF, "\x02" "07EA7" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncInputMode, AVRInterface::eDTS, "\x02" "07EA8" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncInputMode, AVRInterface::eDigital, "\x02" "07EA9" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncInputMode, AVRInterface::eAnalog, "\x02" "07EAA" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncInputMode, AVRInterface::eAAC, "\x02" "07E3B" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncEx_EsOnOff, AVRInterface::eOnMatrix, "\x02" "07EB8" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncEx_EsOnOff, AVRInterface::eESESOff, "\x02" "07EB9" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncEx_EsOnOff, AVRInterface::eAuto, "\x02" "07E7C" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncEx_EsOnOff, AVRInterface::eDiscrete, "\x02" "07E7D" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncEffect, AVRInterface::eEffectOn, "\x02" "07E27" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncEffect, AVRInterface::eStereo, "\x02" "07EE0" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Hall_A, "\x02" "07EE1" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Hall_B, "\x02" "07EE2" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Hall_C, "\x02" "07EE3" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Hall_USA, "\x02" "07EE4" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Hall_E, "\x02" "07EE5" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Live_Concert, "\x02" "07EE6" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Tokyo, "\x02" "07EE7" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Freiburg, "\x02" "07EE8" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Royaumont, "\x02" "07EE9" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Village_Gate, "\x02" "07EEA" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Village_Vanguard, "\x02" "07EEB" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::The_Bottom_Line, "\x02" "07EEC" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::The_Roxy_Theater, "\x02" "07EED" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Warehouse_Loft, "\x02" "07EEE" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Arena, "\x02" "07EEF" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Disco, "\x02" "07EF0" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Party, "\x02" "07EF1" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Game, "\x02" "07EF2" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Stereo_6_8Ch, "\x02" "07EFF" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Pop_Rock, "\x02" "07EF3" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::DJ, "\x02" "07EF4" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Opera, "\x02" "07EF5" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Pavillion, "\x02" "07EF6" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Mono_Movie, "\x02" "07EF7" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Variety_Sports, "\x02" "07EF8" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Spectacre, "\x02" "07EF9" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Sci_Fi, "\x02" "07EFA" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Adventure, "\x02" "07EFB" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::General, "\x02" "07EFC" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Normal, "\x02" "07EFD" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Enhanced, "\x02" "07EFE" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::PLII_Movie, "\x02" "07E67" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::PLII_Music, "\x02" "07E68" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Neo_6_Movie, "\x02" "07E69" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Neo_6_Music, "\x02" "07E6A" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Direct_2Ch, "\x02" "07EC1" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::Stereo_2Ch, "\x02" "07EC0" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::THX_Ultra_PL, "\x02" "07EC2" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::THX_Music, "\x02" "07EC3" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::THX_Ultra_PL2, "\x02" "07EC7" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncDSPSoundScape, AVRInterface::THX_Ultra_NEO6, "\x02" "07EC8" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncVolumeMemory, AVRInterface::eA, "\x02" "07E6B" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncVolumeMemory, AVRInterface::eB, "\x02" "07E6C" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncVolumeMemory, AVRInterface::eC, "\x02" "07E6D" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncVolumeMemory, AVRInterface::eD, "\x02" "07E6E" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncVolumeMemory, AVRInterface::eE, "\x02" "07E6F" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncVolumeMemory, AVRInterface::eF, "\x02" "07E60" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncVolumeRecall, AVRInterface::eA, "\x02" "07E75" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncVolumeRecall, AVRInterface::eB, "\x02" "07E76" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncVolumeRecall, AVRInterface::eC, "\x02" "07E77" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncVolumeRecall, AVRInterface::eD, "\x02" "07E78" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncVolumeRecall, AVRInterface::eE, "\x02" "07E79" "\x03", 7 },
{ AVRSubsys::subAudio, AVRFunc::fncVolumeRecall, AVRInterface::eF, "\x02" "07E7A" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncPower, AVRInterface::eOn, "\x02" "07E7E" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncPower, AVRInterface::eOff, "\x02" "07E7F" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncInput, AVRInterface::ePhono, "\x02" "07A14" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncInput, AVRInterface::eCD, "\x02" "07A15" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncInput, AVRInterface::eTuner, "\x02" "07A16" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncInput, AVRInterface::eCDR, "\x02" "07A19" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncInput, AVRInterface::eMD_Tape, "\x02" "07AC9" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncInput, AVRInterface::eDVD, "\x02" "07AC1" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncInput, AVRInterface::eDTV, "\x02" "07A54" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncInput, AVRInterface::eCable, "\x02" "07AC0" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncInput, AVRInterface::eSat, "\x02" "07ACA" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncInput, AVRInterface::eVCR1, "\x02" "07A0F" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncInput, AVRInterface::eVCR2_DVR, "\x02" "07A13" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncInput, AVRInterface::eVCR3, "\x02" "07AC8" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncInput, AVRInterface::eV_Aux, "\x02" "07A55" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncDC1OnOff, AVRInterface::eOn, "\x02" "07E73" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncDC1OnOff, AVRInterface::eOff, "\x02" "07E74" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncDC2OnOff, AVRInterface::eOn, "\x02" "07E3E" "\x03", 7 },
{ AVRSubsys::subZone1, AVRFunc::fncDC2OnOff, AVRInterface::eOff, "\x02" "07E3F" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncVolume, AVRInterface::eUp, "\x02" "07ADA" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncVolume, AVRInterface::eDown, "\x02" "07ADB" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncMute, AVRInterface::eOn, "\x02" "07EA0" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncMute, AVRInterface::eOff, "\x02" "07EA1" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncInput, AVRInterface::ePhono, "\x02" "07AD0" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncInput, AVRInterface::eCD, "\x02" "07AD1" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncInput, AVRInterface::eTuner, "\x02" "07AD2" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncInput, AVRInterface::eCDR, "\x02" "07AD4" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncInput, AVRInterface::eMD_Tape, "\x02" "07ACF" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncInput, AVRInterface::eDVD, "\x02" "07ACD" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncInput, AVRInterface::eDTV, "\x02" "07AD9" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncInput, AVRInterface::eCable, "\x02" "07ACC" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncInput, AVRInterface::eSat, "\x02" "07ACB" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncInput, AVRInterface::eVCR1, "\x02" "07AD6" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncInput, AVRInterface::eVCR2_DVR, "\x02" "07AD7" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncInput, AVRInterface::eVCR3, "\x02" "07ACE" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncInput, AVRInterface::eV_Aux, "\x02" "07AD8" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncPower, AVRInterface::eOn, "\x02" "07EBA" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncPower, AVRInterface::eOff, "\x02" "07EBB" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncVolumeMemory, AVRInterface::eA, "\x02" "07E87" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncVolumeMemory, AVRInterface::eB, "\x02" "07E88" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncVolumeMemory, AVRInterface::eC, "\x02" "07E89" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncVolumeMemory, AVRInterface::eD, "\x02" "07E8A" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncVolumeMemory, AVRInterface::eE, "\x02" "07E8B" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncVolumeMemory, AVRInterface::eF, "\x02" "07E8C" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncVolumeRecall, AVRInterface::eA, "\x02" "07E8D" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncVolumeRecall, AVRInterface::eB, "\x02" "07E8E" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncVolumeRecall, AVRInterface::eC, "\x02" "07E8F" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncVolumeRecall, AVRInterface::eD, "\x02" "07E90" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncVolumeRecall, AVRInterface::eE, "\x02" "07E91" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncVolumeRecall, AVRInterface::eF, "\x02" "07E92" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncDC1OnOff, AVRInterface::eOn, "\x02" "07E71" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncDC1OnOff, AVRInterface::eOff, "\x02" "07E72" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncDC2OnOff, AVRInterface::eOn, "\x02" "07E3C" "\x03", 7 },
{ AVRSubsys::subZone2, AVRFunc::fncDC2OnOff, AVRInterface::eOff, "\x02" "07E3D" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncPower, AVRInterface::eOn, "\x02" "07AED" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncPower, AVRInterface::eStandby, "\x02" "07AEE" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncMute, AVRInterface::eOn, "\x02" "07E26" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncMute, AVRInterface::eOff, "\x02" "07E66" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncVolume, AVRInterface::eUp, "\x02" "07AFD" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncVolume, AVRInterface::eDown, "\x02" "07AFE" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncInput, AVRInterface::ePhono, "\x02" "07AF1" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncInput, AVRInterface::eCD, "\x02" "07AF2" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncInput, AVRInterface::eTuner, "\x02" "07AF3" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncInput, AVRInterface::eCDR, "\x02" "07AF5" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncInput, AVRInterface::eMD_Tape, "\x02" "07AF4" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncInput, AVRInterface::eDVD, "\x02" "07AFC" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncInput, AVRInterface::eDTV, "\x02" "07AF6" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncInput, AVRInterface::eCable, "\x02" "07AF7" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncInput, AVRInterface::eSat, "\x02" "07AF8" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncInput, AVRInterface::eVCR1, "\x02" "07AF9" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncInput, AVRInterface::eVCR2_DVR, "\x02" "07AFA" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncInput, AVRInterface::eVCR3, "\x02" "07AFB" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncInput, AVRInterface::eV_Aux, "\x02" "07AF0" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncVolumeMemory, AVRInterface::eA, "\x02" "07E20" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncVolumeMemory, AVRInterface::eB, "\x02" "07E21" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncVolumeMemory, AVRInterface::eC, "\x02" "07E22" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncVolumeMemory, AVRInterface::eD, "\x02" "07E23" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncVolumeMemory, AVRInterface::eE, "\x02" "07E24" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncVolumeMemory, AVRInterface::eF, "\x02" "07E25" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncVolumeRecall, AVRInterface::eA, "\x02" "07E60" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncVolumeRecall, AVRInterface::eB, "\x02" "07E61" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncVolumeRecall, AVRInterface::eC, "\x02" "07E62" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncVolumeRecall, AVRInterface::eD, "\x02" "07E63" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncVolumeRecall, AVRInterface::eE, "\x02" "07E64" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncVolumeRecall, AVRInterface::eF, "\x02" "07E65" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncDC1OnOff, AVRInterface::eOn, "\x02" "07E83" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncDC1OnOff, AVRInterface::eOff, "\x02" "07E84" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncDC2OnOff, AVRInterface::eOn, "\x02" "07E85" "\x03", 7 },
{ AVRSubsys::subZone3, AVRFunc::fncDC2OnOff, AVRInterface::eOff, "\x02" "07E86" "\x03", 7 },
};
bool AVRInterface::AVRCommand(AVRInterface::AVRSubsystem_E subsystem,
bool AVRInterface::AVRCommand(AVRInterface::AVRSubsystem_T subsystem,
AVRInterface::AVRFunction_E function,
AVRArg_T arg) {
bool found = false;
@@ -926,11 +886,248 @@ bool AVRInterface::AVRCommand(AVRInterface::AVRSubsystem_E subsystem,
}
}
if (!found) {
// then what?
char buf[LONGESTTEXT] = "";
sprintf_s(buf, LONGESTTEXT, "AVRCommand(%d,%d,%d) is invalid.", subsystem, function, arg);
(*ReportInformation)(mtInfo, buf);
}
return true;
}
void AVRInterface::ExportInformation() {
char buf[LONGESTTEXT] = "";
typedef struct {
uint16_t value;
const char *helpText;
} ValuePurpose_T;
const ValuePurpose_T subsysList[] = {
{ subMain, "Main Subsystem" },
{ subRadio, "Radio Control" },
{ subAudio, "Audio Control" },
{ subZone1, "Zone 1 Control" },
{ subZone2, "Zone 2 Control" },
{ subZone3, "Zone 3 Control" },
};
const ValuePurpose_T funcList[] = {
{ fncReady, "Ready Check" },
{ fncPower, "Power" },
{ fncVolume, "Volume" },
{ fncMute, "Mute" },
{ fncVolumeMemory, "Volume Memory" },
{ fncVolumeRecall, "Volume Memory Recall" },
{ fncSpeakerAOnOff, "Speaker A" },
{ fncSpeakerBOnOff, "Speaker B" },
{ fncSpeakerBZone, "Speaker B Zone Assignment" },
{ fncZone2SpeakerOnOff, "Zone 2 Speaker" },
{ fncNightModeOnOff, "Night Mode Sound Level" },
{ fncEffect, "Effect <something> " },
{ fncDSPSoundScape, "DSP Sound Scape" },
{ fncInput, "Input Selection" },
{ fncRadioBand, "Radio Band Selection" },
{ fncRadioTune, "Radio Tune" },
{ fncRadioPresetPage, "Radio Preset Page" },
{ fncRadioPresetNumber, "Radio Preset Number" },
{ fncRadioPresetMemory, "Radio Preset Memory" },
{ fncRadioPresetRecall, "Radio Preset Recall" },
{ fncSleep, "Sleep Timer" },
{ fncOSD, "On Screen Display Control" },
{ fnc6ChInput, "6 Channel Input mode" },
{ fncEx_EsOnOff, "EX / ES Mode" },
{ fncInputMode, "Input Mode" },
{ fncDualMono, "Dual Mono" },
{ fncDC1TrigControl, "DC1 Trigger Control" },
{ fncDC2TrigControl, "DC2 Trigger Control" },
{ fncDC1OnOff, "DC1" },
{ fncDC2OnOff, "DC2" },
};
const ValuePurpose_T valueList[] = {
{ eOn, "On" },
{ eOff, "Off" },
{ eStandby, "Standby" },
{ eUp, "Up" },
{ eDown, "Down" },
{ eOSDOff, "Off" },
{ eOSDShort, "Short" },
{ eOSDFull, "Full" },
{ eSleepOff, "Off" },
{ eSleep120, "120" },
{ eSleep90, "90" },
{ eSleep60, "60" },
{ eSleep30, "30" },
{ eOnMatrix, "EX-ES Mode Matrix On" },
{ eESESOff, "EX-ES Mode Off" },
{ eAuto, "EX-ES Mode Auto" },
{ eDiscrete, "EX-ES Mode Discrete" },
{ eEffectOn, "Effect On" },
{ eStereo, "Effect Stereo" },
{ eFM, "FM Band" },
{ eAM, "AM Band" },
{ eA, "Group A" },
{ eB, "Group B" },
{ eC, "Group C" },
{ eD, "Group D" },
{ eE, "Group E" },
{ eF, "Group F" },
{ e1, "Preset 1" },
{ e2, "Preset 2" },
{ e3, "Preset 3" },
{ e4, "Preset 4" },
{ e5, "Preset 5" },
{ e6, "Preset 6" },
{ e7, "Preset 7" },
{ e8, "Preset 8" },
{ ePhono, "Phono" },
{ eCD, "CD" },
{ eTuner, "Tuner" },
{ eCDR, "CDR" },
{ eMD_Tape, "MD_Tape" },
{ eDVD, "DVD" },
{ eDTV, "DTV" },
{ eCable, "Cable" },
{ eSat, "Sat" },
{ eVCR1, "VCR1" },
{ eVCR2_DVR, "VCR2_DVR" },
{ eVCR3, "VCR3" },
{ eV_Aux, "V Aux" },
{ Hall_A, "Hall A" },
{ Hall_B, "Hall B" },
{ Hall_C, "Hall C" },
{ Hall_USA, "Hall USA" },
{ Hall_E, "Hall E" },
{ Live_Concert, "Live Concert" },
{ Tokyo, "Tokyo" },
{ Freiburg, "Freiburg" },
{ Royaumont, "Royaumont" },
{ Village_Gate, "Village Gate" },
{ Village_Vanguard, "Village Vanguard" },
{ The_Bottom_Line, "The Bottom Line" },
{ The_Roxy_Theater, "The Roxy Theater" },
{ Warehouse_Loft, "Warehouse Loft" },
{ Arena, "Arena" },
{ Disco, "Disco" },
{ Party, "Party" },
{ Game, "Game" },
{ Stereo_6_8Ch, "Stereo 6/8Ch" },
{ Pop_Rock, "Pop/Rock" },
{ DJ, "DJ" },
{ Opera, "Opera" },
{ Pavillion, "Pavillion" },
{ Mono_Movie, "Mono/Movie" },
{ Variety_Sports, "Variety/Sports" },
{ Spectacre, "Spectacre" },
{ Sci_Fi, "Sci-Fi" },
{ Adventure, "Adventure" },
{ General, "General" },
{ Normal, "Normal" },
{ Enhanced, "Enhanced" },
{ PLII_Movie, "PLII Movie" },
{ PLII_Music, "PLII Music" },
{ Neo_6_Movie, "Neo 6 Movie" },
{ Neo_6_Music, "Neo 6 Music" },
{ Direct_2Ch, "Direct 2Ch" },
{ Stereo_2Ch, "Stereo 2Ch" },
{ THX_Ultra_PL, "THX Ultra PL" },
{ THX_Music, "THX Music" },
{ THX_Ultra_PL2, "THX Ultra PL2" },
{ THX_Ultra_NEO6, "THX Ultra NEO6" },
{ eInpAuto, "Input Auto" },
{ eDD_RF, "Input DD/RF" },
{ eDTS, "Input DTS" },
{ eDigital, "Input Digital" },
{ eAnalog, "Input Analog" },
{ eAAC, "Input AAC" },
{ eZone1, "Zone 1" },
{ eZone2, "Zone 2" },
{ eZone3, "Zone 3" },
{ eZoneOR, "Zone OR" },
{ eDualMain, "Dual Main" },
{ eDualSub, "Dual Sub" },
{ eDualAll, "Dual All" },
};
ReportInformation(mtInfo, "");
ReportInformation(mtInfo, "AVR Command Line Control uses 3 numeric parameters:");
ReportInformation(mtInfo, " 1) Subsystem Identifier for the subsystem control");
ReportInformation(mtInfo, " 2) Function Identifier valid for the subsystem");
ReportInformation(mtInfo, " 3) Value Identifier valid for the subsystem and function");
ReportInformation(mtInfo, "");
ReportInformation(mtInfo, " NOTE: Most commands are unavailable when the system is off.");
ReportInformation(mtInfo, " ");
ReportInformation(mtInfo, "");
sprintf_s(buf, LONGESTTEXT, "%8d: %-21s | %3d: %-28s | %3d: %-22s | %-13s",
1, "Subsystem Identifier", 2, "Function Identifier", 3, "Value Identifier", "Stream"
);
ReportInformation(mtInfo, buf);
sprintf_s(buf, LONGESTTEXT, " %2s: %-21s | %3s: %-28s | %3s: %22s | %13s",
"##", "#####################", "##", "############################", "##", "######################", "#############"
);
ReportInformation(mtInfo, buf);
AVRSubsystem_T refSub = subSubsystemCount;
AVRFunction_E refFnc = fncFunctionCount;
const char *pSubsystemText = NULL, *pFunctionText = NULL, *pValueText = NULL;
for (int i = 0; i < sizeof(MessageTable) / sizeof(MessageTable_T); i++) {
if (refSub != MessageTable[i].subsystem) {
refSub = MessageTable[i].subsystem;
for (int j = 0; j < sizeof(subsysList) / sizeof(ValuePurpose_T); j++) {
if (subsysList[j].value == refSub) {
pSubsystemText = subsysList[j].helpText;
break;
} else {
pSubsystemText = "";
}
}
} else {
pSubsystemText = "";
}
if (refFnc != MessageTable[i].function) {
refFnc = MessageTable[i].function;
for (int j = 0; j < sizeof(funcList) / sizeof(ValuePurpose_T); j++) {
if (funcList[j].value == refFnc) {
pFunctionText = funcList[j].helpText;
break;
} else {
pFunctionText = "";
}
}
} else {
pFunctionText = "";
}
// @TODO Probably all the enum values must be merged into one big enum list for this to work.
for (int j = 0; j < sizeof(valueList) / sizeof(ValuePurpose_T); j++) {
if (valueList[j].value == MessageTable[i].arg) {
pValueText = valueList[j].helpText;
break;
} else {
pValueText = "";
}
}
sprintf_s(buf, LONGESTTEXT, "%8d: %-21s | %3d: %-28s | %3d: %-22s | %s",
refSub, pSubsystemText,
refFnc, pFunctionText,
MessageTable[i].arg, pValueText,
MessageToText(MessageTable[i].Message, MessageTable[i].MessageLen)
);
ReportInformation(mtInfo, buf);
}
};
const char *AVRInterface::MessageToText(const char *p, size_t len) {
static char privateBuffer[LONGESTTEXT] = "";
char *pOut = privateBuffer;
for (int i = 0; i < len; i++) {
if (isprint(*p)) {
*pOut++ = *p++;
} else {
pOut += sprintf_s(pOut, LONGESTTEXT - strlen(privateBuffer), "[%02X]", *p++);
}
*pOut = '\0'; // keep it null terminated
}
return privateBuffer;
}
/// ReportAllStatus
///