|
- #include "AudioConsoleLedMgr.h"
- #include "timer.h"
- //BtnLedDimmer_t mLinkZ2LEDDimmer;
- //int DimmerSlope = 5;
-
- BtnLedDimmer_t mLedDimmerList[AUDIO_CONSOLE_NB_LED];
- BtnLedDimmer_t mLinkZ2LEDDimmer;
- int DimmerSlope = 5;
-
- void AudioConsoleLedMgrInit()
- {
- mLinkZ2LEDDimmer.IsON = false;
- mLinkZ2LEDDimmer.TotalPeriod = 200;
- mLinkZ2LEDDimmer.ONPeriod = 200;
- mLinkZ2LEDDimmer.Counter = 0;
- mLinkZ2LEDDimmer.BreathEffect = true;
-
- int i;
- for(i = 0; i < AUDIO_CONSOLE_NB_LED; i++)
- {
- mLedDimmerList[i].IsON = false;
- mLedDimmerList[i].TotalPeriod = 200;
- mLedDimmerList[i].ONPeriod = 200;
- mLedDimmerList[i].Counter = 0;
- mLedDimmerList[i].BreathEffect = false;
- mLedDimmerList[i].DimmerSlope = 5;
- }
-
- TimerStart(LED_EFFECT_TIMER,LED_EFFECT_TIMEOUT);
- }
-
- void AudioConsoleLedMgrTick()
- {
- if(IsTimerExpired(LED_EFFECT_TIMER) == true) //Reuse pushbutton timer :)
- {
- int i;
- for(i = 0; i < AUDIO_CONSOLE_NB_LED; i++)
- {
- if(mLedDimmerList[i].BreathEffect == true && mLedDimmerList[i].IsON == true)
- {
- mLedDimmerList[i].ONPeriod += mLedDimmerList[i].DimmerSlope;
- if(mLedDimmerList[i].ONPeriod >= mLedDimmerList[i].TotalPeriod)
- {
- mLedDimmerList[i].DimmerSlope = -5;
- mLedDimmerList[i].ONPeriod = mLedDimmerList[i].TotalPeriod - 5;
- }
- else if(mLedDimmerList[i].ONPeriod <= 5)
- {
- mLedDimmerList[i].DimmerSlope = 5;
- }
- }
- }
- TimerStart(LED_EFFECT_TIMER,LED_EFFECT_TIMEOUT);
- }
-
- int i;
- for(i = 0; i < AUDIO_CONSOLE_NB_LED; i++)
- {
- if(mLedDimmerList[i].IsON)
- {
- if(mLedDimmerList[i].Counter++ >= mLedDimmerList[i].ONPeriod)
- {
- TurnOFF(i);
- if(mLedDimmerList[i].Counter >= mLedDimmerList[i].TotalPeriod)
- {
- TurnON(i);
- mLedDimmerList[i].Counter = 0;
- }
- }
- }
- }
-
-
- }
-
- int UpdatePushButtonLEDs(AVReceiverStatus_t *MainZoneStatus, AVReceiverStatus_t* Z2Status)
- {
- if(MainZoneStatus->MainPwrStatus == true)
- {
- LedMgrSetLED(AUDIO_CONSOLE_MAIN_PWR_LED,true,100,false);
- }
- else
- {
- LedMgrSetLED(AUDIO_CONSOLE_MAIN_PWR_LED,false,100,false);
- }
-
- if(Z2Status->MainPwrStatus == true)
- {
- LedMgrSetLED(AUDIO_CONSOLE_Z2_PWR_LED,true,100,false);
- }
- else
- {
- LedMgrSetLED(AUDIO_CONSOLE_Z2_PWR_LED,false,100,false);
- }
-
- if(MainZoneStatus->SyncZones == true)
- {
- LedMgrSetLED(AUDIO_CONSOLE_SYNC_Z2_LED,true,100,false);
- }
- else
- {
- LedMgrSetLED(AUDIO_CONSOLE_SYNC_Z2_LED,false,100,false);
- }
-
- if(MainZoneStatus->IsMute == true)
- {
- LedMgrSetLED(AUDIO_CONSOLE_MAIN_MUTE_LED,true,100,true);
- }
- else
- {
- LedMgrSetLED(AUDIO_CONSOLE_MAIN_MUTE_LED,false,100,false);
- }
- if(Z2Status->IsMute == true)
- {
- LedMgrSetLED(AUDIO_CONSOLE_Z2_MUTE_LED,true,100,true);
- }
- else
- {
- LedMgrSetLED(AUDIO_CONSOLE_Z2_MUTE_LED,false,100,false);
- }
-
- return RET_OK;
- }
-
- int LedMgrSetLED(int LedID, bool ON, int Percent, bool breathe)
- {
- if(LedID >= AUDIO_CONSOLE_NB_LED)
- return RET_ERROR;
- if(Percent > 100)
- return RET_ERROR;
-
- if(ON == true)
- {
- TurnON(LedID);
- }
- else
- {
- TurnOFF(LedID);
- }
-
-
- if(ON != mLedDimmerList[LedID].IsON || breathe == false)
- {
- mLedDimmerList[LedID].ONPeriod = (((float)Percent/100)*mLedDimmerList[LedID].TotalPeriod);
- mLedDimmerList[LedID].Counter = 0;
- }
- mLedDimmerList[LedID].IsON = ON;
- mLedDimmerList[LedID].BreathEffect = breathe;
-
-
-
-
- return RET_OK;
- }
-
- int TurnON(int LedID)
- {
- switch(LedID)
- {
- case AUDIO_CONSOLE_SYNC_Z2_LED:
- {
- AUDIO_CONSOLE_LINK_Z2_STATUS_LED = LED_ON;
- break;
- }
- case AUDIO_CONSOLE_MAIN_PWR_LED:
- {
- AUDIO_CONSOLE_MAIN_PWR_STATUS_LED = LED_ON;
- break;
- }
- case AUDIO_CONSOLE_Z2_PWR_LED:
- {
- AUDIO_CONSOLE_ZONE2_PWR_STATUS_LED = LED_ON;
- break;
- }
- case AUDIO_CONSOLE_MAIN_MUTE_LED:
- {
- AUDIO_CONSOLE_MAIN_MUTE_STATUS_LED = LED_ON;
- break;
- }
- case AUDIO_CONSOLE_Z2_MUTE_LED:
- {
- AUDIO_CONSOLE_Z2_MUTE_STATUS_LED = LED_ON;
- break;
- }
- case AUDIO_CONSOLE_PUSHBTN_4_LED:
- {
- PUSH_BUTTON_LED4_PIN = LED_ON;
- break;
- }
- case AUDIO_CONSOLE_PUSHBTN_5_LED:
- {
- PUSH_BUTTON_LED5_PIN = LED_ON;
- break;
- }
- case AUDIO_CONSOLE_PUSHBTN_6_LED:
- {
- PUSH_BUTTON_LED6_PIN = LED_ON;
- break;
- }
- case AUDIO_CONSOLE_PUSHBTN_7_LED:
- {
- PUSH_BUTTON_LED7_PIN = LED_ON;
- break;
- }
- }
- return RET_OK;
- }
- int TurnOFF(int LedID)
- {
- switch(LedID)
- {
- case AUDIO_CONSOLE_SYNC_Z2_LED:
- {
- AUDIO_CONSOLE_LINK_Z2_STATUS_LED = LED_OFF;
- break;
- }
- case AUDIO_CONSOLE_MAIN_PWR_LED:
- {
- AUDIO_CONSOLE_MAIN_PWR_STATUS_LED = LED_OFF;
- break;
- }
- case AUDIO_CONSOLE_Z2_PWR_LED:
- {
- AUDIO_CONSOLE_ZONE2_PWR_STATUS_LED = LED_OFF;
- break;
- }
- case AUDIO_CONSOLE_MAIN_MUTE_LED:
- {
- AUDIO_CONSOLE_MAIN_MUTE_STATUS_LED = LED_OFF;
- break;
- }
- case AUDIO_CONSOLE_Z2_MUTE_LED:
- {
- AUDIO_CONSOLE_Z2_MUTE_STATUS_LED = LED_OFF;
- break;
- }
- case AUDIO_CONSOLE_PUSHBTN_4_LED:
- {
- PUSH_BUTTON_LED4_PIN = LED_OFF;
- break;
- }
- case AUDIO_CONSOLE_PUSHBTN_5_LED:
- {
- PUSH_BUTTON_LED5_PIN = LED_OFF;
- break;
- }
- case AUDIO_CONSOLE_PUSHBTN_6_LED:
- {
- PUSH_BUTTON_LED6_PIN = LED_OFF;
- break;
- }
- case AUDIO_CONSOLE_PUSHBTN_7_LED:
- {
- PUSH_BUTTON_LED7_PIN = LED_OFF;
- break;
- }
- }
- return RET_OK;
- }
-
- int LedMgrShowOfflineMode(bool Offline)
- {
- int i = 0;
-
- for(i = 0; i < AUDIO_CONSOLE_NB_LED; i++)
- {
- LedMgrSetLED(i,Offline,100,true);
- }
-
- }
|