AudioConsole/AudioConsole.X/Source/AudioConsoleLedMgr.h
2025-02-23 18:02:35 -05:00

58 lines
1.3 KiB
C

/*
* File: AudioConsoleLedMgr.h
* Author: JF
*
* Created on February 23, 2025, 3:26 PM
*/
#ifndef AUDIOCONSOLELEDMGR_H
#define AUDIOCONSOLELEDMGR_H
#include "define.h"
#include "BoardCfg.h"
#include "AudioConsole.h"
#define LED_EFFECT_TIMEOUT 50 //millisecs
#define AUDIO_CONSOLE_MAIN_PWR_STATUS_LED VU1_BACKLIGHT_PIN
#define AUDIO_CONSOLE_ZONE2_PWR_STATUS_LED VU2_BACKLIGHT_PIN
#define AUDIO_CONSOLE_LINK_Z2_STATUS_LED PUSH_BUTTON_LED1_PIN
enum eAudioConsoleLED
{
AUDIO_CONSOLE_SYNC_Z2_LED,
AUDIO_CONSOLE_MAIN_PWR_LED, //VU1 backlight
AUDIO_CONSOLE_Z2_PWR_LED, //VU2 backlight
AUDIO_CONSOLE_PUSHBTN_2_LED,
AUDIO_CONSOLE_PUSHBTN_3_LED,
AUDIO_CONSOLE_PUSHBTN_4_LED,
AUDIO_CONSOLE_PUSHBTN_5_LED,
AUDIO_CONSOLE_PUSHBTN_6_LED,
AUDIO_CONSOLE_PUSHBTN_7_LED,
AUDIO_CONSOLE_NB_LED
};
typedef struct BtnLEDDimmer
{
int Counter;
int ONPeriod;
int TotalPeriod;
bool IsON;
bool BreathEffect;
int DimmerSlope;
}BtnLedDimmer_t;
void AudioConsoleLedMgrInit();
void AudioConsoleLedMgrTick();
int UpdatePushButtonLEDs(AVReceiverStatus_t *MainZoneStatus, AVReceiverStatus_t* Z2Status);
int LedMgrShowOfflineMode(bool Offline);
int LedMgrSetLED(int LedID, bool ON, int Percent, bool breathe);
int TurnON(int LedID);
int TurnOFF(int LedID);
#endif /* AUDIOCONSOLELEDMGR_H */