Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 

174 lignes
5.3 KiB

  1. #include "define.h"
  2. #include "AudioConsoleInterface.h"
  3. #include "WiFiCtrl.h"
  4. #include "NetworkProtocol.h"
  5. #include "ProtocolDefs.h"
  6. #include "timer.h"
  7. #include "AudioConsole.h"
  8. #include <stdio.h>
  9. #include "BoardCfg.h"
  10. void AudioConsoleIFExecuteMasterCommand(unsigned char SenderID, unsigned char Command, unsigned char *Data, int DataSize)
  11. {
  12. switch(Command)
  13. {
  14. case AV_RECEIVER_INTERFACE_ACK:
  15. {
  16. break;
  17. }
  18. case AV_RECEIVER_INTERFACE_GENERAL_STATUS_RESPONSE:
  19. {
  20. ONBOARD_LED2_PIN = ~ONBOARD_LED2_PIN;
  21. AVReceiverStatus_t MainZone, Zone2;
  22. // bool MainPwrStatus = false;
  23. // bool MainSleepStatus = false;
  24. // bool IsMute;
  25. // bool DataValid = false;
  26. // bool ReceiverOnline = false;
  27. // bool SyncZones = false;
  28. // float MainVolume = 0.0;
  29. //
  30. // bool Zone2PwrStatus = false;
  31. // bool Zone2SleepStatus = false;
  32. // bool Zone2IsMute;
  33. // bool Zone2DataValid = false;
  34. // bool Zone2ReceiverOnline = false;
  35. // bool Zone2SyncZones = false;
  36. // float Zone2MainVolume = 0.0;
  37. int IntToFloat = 0;
  38. //Main Zone status
  39. MainZone.MainPwrStatus = Data[0];
  40. MainZone.MainSleepStatus = Data[1];
  41. MainZone.MainVolume = Data[2];
  42. MainZone.IsMute = Data[3];
  43. MainZone.DataValid = Data[4];
  44. MainZone.ReceiverOnline = Data[5];
  45. MainZone.SyncZones = Data[6];
  46. //Zone 2 status
  47. IntToFloat = 0;
  48. Zone2.MainPwrStatus = Data[7];
  49. Zone2.MainSleepStatus = Data[8];
  50. Zone2.MainVolume = Data[9];
  51. Zone2.IsMute = Data[10];
  52. Zone2.DataValid = Data[11];
  53. Zone2.ReceiverOnline = Data[12];
  54. Zone2.SyncZones = Data[13];
  55. AudioConsoleSetReceiverStatus(&MainZone, &Zone2);
  56. break;
  57. }
  58. case AV_RECEIVER_INTERFACE_SET_MAIN_POWER_RESPONSE:
  59. {
  60. break;
  61. }
  62. case AV_RECEIVER_INTERFACE_SET_ZONE2_RESPONSE:
  63. {
  64. break;
  65. }
  66. case AV_RECEIVER_INTERFACE_SET_MAIN_ZONE_RESPONSE:
  67. {
  68. break;
  69. }
  70. case AV_RECEIVER_INTERFACE_SET_SPEAKERS_RESPONSE:
  71. {
  72. break;
  73. }
  74. case AV_RECEIVER_INTERFACE_SEND_DIRECT_CMD_RESPONSE:
  75. {
  76. break;
  77. }
  78. case AV_RECEIVER_INTERFACE_SELECT_SCENE_RESPONSE:
  79. {
  80. break;
  81. }
  82. case AV_RECEIVER_INTERFACE_SET_MAIN_VOLUME_RESPONSE:
  83. {
  84. break;
  85. }
  86. case AV_RECEIVER_INTERFACE_SET_ZONE2_VOLUME_RESPONSE:
  87. {
  88. break;
  89. }
  90. case AV_RECEIVER_INTERFACE_SET_ZONE2_INPUT_RESPONSE:
  91. {
  92. break;
  93. }
  94. case AV_RECEIVER_INTERFACE_SET_SYNC_Z2_WITH_Z1_RESPONSE:
  95. {
  96. break;
  97. }
  98. case ETH_NETWK_DEVICE_INFO_REQUEST:
  99. {
  100. char data[2];
  101. data[0] = ID_AVRECEIVER_CONSOLE_INTERFACE;
  102. data[1] = MY_DEVICE_ADDRESS;
  103. int PayloadSize;
  104. unsigned char *response = ProtocolGetFrame(ID_MASTER,MASTER_ADDRESS,ID_ETHERNET_VIRTUAL,ETH_NETWK_DEVICE_INFO_RESPONSE, data,2,0, &PayloadSize);
  105. SendAudioInterfaceData((char*)response,PayloadSize);
  106. break;
  107. }
  108. case ETH_NETWK_SET_DEVICE_INFO_ACK:
  109. {
  110. AudioConsoleSetIFConnectionStatus(true);
  111. break;
  112. }
  113. case ETH_NETWK_CONNECTION_REFUSED:
  114. {
  115. break;
  116. }
  117. case AV_RECEIVER_INTERFACE_INCREMENT_MAIN_VOLUME_RESPONSE:
  118. {
  119. break;
  120. }
  121. AV_RECEIVER_INTERFACE_INCREMENT_Z2_VOLUME_RESPONSE:
  122. {
  123. break;
  124. }
  125. case AV_RECEIVER_INTERFACE_GENERAL_STATUS_REQUEST:
  126. case AV_RECEIVER_INTERFACE_SET_MAIN_POWER_REQUEST:
  127. case AV_RECEIVER_INTERFACE_SET_ZONE2_REQUEST:
  128. case AV_RECEIVER_INTERFACE_SET_MAIN_ZONE_REQUEST:
  129. case AV_RECEIVER_INTERFACE_SET_SPEAKERS_REQUEST:
  130. case AV_RECEIVER_INTERFACE_SEND_DIRECT_CMD_REQUEST:
  131. case AV_RECEIVER_INTERFACE_SELECT_SCENE_REQUEST:
  132. case AV_RECEIVER_INTERFACE_SET_MAIN_VOLUME_REQUEST:
  133. case AV_RECEIVER_INTERFACE_SET_ZONE2_VOLUME_REQUEST:
  134. case AV_RECEIVER_INTERFACE_SET_ZONE2_INPUT_REQUEST:
  135. case AV_RECEIVER_INTERFACE_SET_SYNC_Z2_WITH_Z1_REQUEST:
  136. case AV_RECEIVER_INTERFACE_INCREMENT_MAIN_VOLUME_REQUEST:
  137. case AV_RECEIVER_INTERFACE_INCREMENT_Z2_VOLUME_REQUEST:
  138. default:
  139. {
  140. }
  141. }
  142. }
  143. void AudioConsoleSendCommand(int Command, unsigned char *Data, unsigned int DataSize)
  144. {
  145. unsigned char *Payload;
  146. unsigned int PayloadSize;
  147. Payload = ProtocolGetFrame(ID_MASTER,MASTER_ADDRESS,ID_AVRECEIVER_CONSOLE_INTERFACE,Command,Data,DataSize,0,&PayloadSize);
  148. SendAudioInterfaceData((char*)Payload,PayloadSize);
  149. }