174 lines
5.3 KiB
C
174 lines
5.3 KiB
C
|
|
#include "define.h"
|
|
#include "AudioConsoleInterface.h"
|
|
#include "WiFiCtrl.h"
|
|
#include "NetworkProtocol.h"
|
|
#include "ProtocolDefs.h"
|
|
#include "timer.h"
|
|
#include "AudioConsole.h"
|
|
#include <stdio.h>
|
|
#include "BoardCfg.h"
|
|
|
|
|
|
void AudioConsoleIFExecuteMasterCommand(unsigned char SenderID, unsigned char Command, unsigned char *Data, int DataSize)
|
|
{
|
|
|
|
switch(Command)
|
|
{
|
|
case AV_RECEIVER_INTERFACE_ACK:
|
|
{
|
|
break;
|
|
}
|
|
case AV_RECEIVER_INTERFACE_GENERAL_STATUS_RESPONSE:
|
|
{
|
|
ONBOARD_LED2_PIN = ~ONBOARD_LED2_PIN;
|
|
AVReceiverStatus_t MainZone, Zone2;
|
|
|
|
// bool MainPwrStatus = false;
|
|
// bool MainSleepStatus = false;
|
|
// bool IsMute;
|
|
// bool DataValid = false;
|
|
// bool ReceiverOnline = false;
|
|
// bool SyncZones = false;
|
|
// float MainVolume = 0.0;
|
|
//
|
|
// bool Zone2PwrStatus = false;
|
|
// bool Zone2SleepStatus = false;
|
|
// bool Zone2IsMute;
|
|
// bool Zone2DataValid = false;
|
|
// bool Zone2ReceiverOnline = false;
|
|
// bool Zone2SyncZones = false;
|
|
// float Zone2MainVolume = 0.0;
|
|
|
|
|
|
int IntToFloat = 0;
|
|
//Main Zone status
|
|
|
|
MainZone.MainPwrStatus = Data[0];
|
|
MainZone.MainSleepStatus = Data[1];
|
|
|
|
MainZone.MainVolume = Data[2];
|
|
|
|
MainZone.IsMute = Data[3];
|
|
MainZone.DataValid = Data[4];
|
|
MainZone.ReceiverOnline = Data[5];
|
|
MainZone.SyncZones = Data[6];
|
|
|
|
|
|
//Zone 2 status
|
|
IntToFloat = 0;
|
|
|
|
Zone2.MainPwrStatus = Data[7];
|
|
Zone2.MainSleepStatus = Data[8];
|
|
|
|
Zone2.MainVolume = Data[9];
|
|
|
|
Zone2.IsMute = Data[10];
|
|
Zone2.DataValid = Data[11];
|
|
Zone2.ReceiverOnline = Data[12];
|
|
Zone2.SyncZones = Data[13];
|
|
|
|
|
|
|
|
AudioConsoleSetReceiverStatus(&MainZone, &Zone2);
|
|
|
|
|
|
break;
|
|
}
|
|
case AV_RECEIVER_INTERFACE_SET_MAIN_POWER_RESPONSE:
|
|
{
|
|
break;
|
|
}
|
|
case AV_RECEIVER_INTERFACE_SET_ZONE2_RESPONSE:
|
|
{
|
|
break;
|
|
}
|
|
case AV_RECEIVER_INTERFACE_SET_MAIN_ZONE_RESPONSE:
|
|
{
|
|
break;
|
|
}
|
|
case AV_RECEIVER_INTERFACE_SET_SPEAKERS_RESPONSE:
|
|
{
|
|
break;
|
|
}
|
|
case AV_RECEIVER_INTERFACE_SEND_DIRECT_CMD_RESPONSE:
|
|
{
|
|
break;
|
|
}
|
|
case AV_RECEIVER_INTERFACE_SELECT_SCENE_RESPONSE:
|
|
{
|
|
break;
|
|
}
|
|
case AV_RECEIVER_INTERFACE_SET_MAIN_VOLUME_RESPONSE:
|
|
{
|
|
break;
|
|
}
|
|
case AV_RECEIVER_INTERFACE_SET_ZONE2_VOLUME_RESPONSE:
|
|
{
|
|
break;
|
|
}
|
|
case AV_RECEIVER_INTERFACE_SET_ZONE2_INPUT_RESPONSE:
|
|
{
|
|
break;
|
|
}
|
|
case AV_RECEIVER_INTERFACE_SET_SYNC_Z2_WITH_Z1_RESPONSE:
|
|
{
|
|
break;
|
|
}
|
|
case ETH_NETWK_DEVICE_INFO_REQUEST:
|
|
{
|
|
char data[2];
|
|
data[0] = ID_AVRECEIVER_CONSOLE_INTERFACE;
|
|
data[1] = MY_DEVICE_ADDRESS;
|
|
int PayloadSize;
|
|
unsigned char *response = ProtocolGetFrame(ID_MASTER,MASTER_ADDRESS,ID_ETHERNET_VIRTUAL,ETH_NETWK_DEVICE_INFO_RESPONSE, data,2,0, &PayloadSize);
|
|
SendAudioInterfaceData((char*)response,PayloadSize);
|
|
|
|
break;
|
|
}
|
|
case ETH_NETWK_SET_DEVICE_INFO_ACK:
|
|
{
|
|
AudioConsoleSetIFConnectionStatus(true);
|
|
break;
|
|
}
|
|
case ETH_NETWK_CONNECTION_REFUSED:
|
|
{
|
|
break;
|
|
}
|
|
case AV_RECEIVER_INTERFACE_INCREMENT_MAIN_VOLUME_RESPONSE:
|
|
{
|
|
break;
|
|
}
|
|
AV_RECEIVER_INTERFACE_INCREMENT_Z2_VOLUME_RESPONSE:
|
|
{
|
|
break;
|
|
}
|
|
case AV_RECEIVER_INTERFACE_GENERAL_STATUS_REQUEST:
|
|
case AV_RECEIVER_INTERFACE_SET_MAIN_POWER_REQUEST:
|
|
case AV_RECEIVER_INTERFACE_SET_ZONE2_REQUEST:
|
|
case AV_RECEIVER_INTERFACE_SET_MAIN_ZONE_REQUEST:
|
|
case AV_RECEIVER_INTERFACE_SET_SPEAKERS_REQUEST:
|
|
case AV_RECEIVER_INTERFACE_SEND_DIRECT_CMD_REQUEST:
|
|
case AV_RECEIVER_INTERFACE_SELECT_SCENE_REQUEST:
|
|
case AV_RECEIVER_INTERFACE_SET_MAIN_VOLUME_REQUEST:
|
|
case AV_RECEIVER_INTERFACE_SET_ZONE2_VOLUME_REQUEST:
|
|
case AV_RECEIVER_INTERFACE_SET_ZONE2_INPUT_REQUEST:
|
|
case AV_RECEIVER_INTERFACE_SET_SYNC_Z2_WITH_Z1_REQUEST:
|
|
case AV_RECEIVER_INTERFACE_INCREMENT_MAIN_VOLUME_REQUEST:
|
|
case AV_RECEIVER_INTERFACE_INCREMENT_Z2_VOLUME_REQUEST:
|
|
|
|
|
|
default:
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
void AudioConsoleSendCommand(int Command, unsigned char *Data, unsigned int DataSize)
|
|
{
|
|
unsigned char *Payload;
|
|
unsigned int PayloadSize;
|
|
Payload = ProtocolGetFrame(ID_MASTER,MASTER_ADDRESS,ID_AVRECEIVER_CONSOLE_INTERFACE,Command,Data,DataSize,0,&PayloadSize);
|
|
SendAudioInterfaceData((char*)Payload,PayloadSize);
|
|
} |