65 lines
1.3 KiB
C

/*
* File: AudioConsole.h
* Author: JF
*
* Created on February 20, 2025, 2:30 PM
*/
#ifndef AUDIOCONSOLE_H
#define AUDIOCONSOLE_H
#include "define.h"
#include "AudioConsoleInterface.h"
#include "WiFiCtrl.h"
#define AUDIO_CONSOLE_WAIT_FOR_WIFI_TIMEOUT 1000
#define AUDIO_CONSOLE_WAIT_FOR_CONNECT_TIMEOUT 5000
#define AUDIO_CONSOLE_STATUS_REQUEST_TIMEOUT 1000
#define AUDIO_CONSOLE_MIN_VOLUME 0
#define AUDIO_CONSOLE_MAX_VOLUME 194
typedef struct eAVReceiverStatus
{
bool MainPwrStatus;
bool MainSleepStatus;
bool IsMute;
bool DataValid;
bool ReceiverOnline;
bool SyncZones;
unsigned int MainVolume;
}AVReceiverStatus_t;
enum eAudioConsoleStates
{
AUDIO_CONSOLE_INIT_STATE,
AUDIO_CONSOLE_DISCONNECTED_STATE,
AUDIO_CONSOLE_CONNECTING_STATE,
AUDIO_CONSOLE_RUN_STATE,
AUDIO_CONSOLE_MAX_STATE
};
enum eAudioConsoleSMEvents
{
AUDIO_CONSOLE_SM_TICK_EVENT,
AUDIO_CONSOLE_SM_CONNECTED_EVENT,
AUDIO_CONSOLE_SM_DISCONNECTED_EVENT,
AUDIO_CONSOLE_MAX_EVENT
};
int AudioConsoleInit();
void AudioConsoleTick();
int AudioConsoleSetIFConnectionStatus(bool Connected);
int AudioConsoleSetReceiverStatus(AVReceiverStatus_t *MainZone, AVReceiverStatus_t *Zone2);
int AudioConsoleSM(int Event);
void RequestStatus();
#endif /* AUDIOCONSOLE_H */