#include "main.h"
#include "func.h"
#include "Adc.h"
int bADCFlag = 0;
static uint16 adc0_group0_data[6];
static uint16 adc0_group1_data[6];
static uint16 adc0_group2_data[1];

static uint16 adc1_group0_data[6];
static uint16 adc1_group1_data[6]; 

 

void Adc_TriggerGroup5ms(void)
{
    Adc_StartGroupConversion(Adc0Grp0);
    Adc_StartGroupConversion(Adc0Grp1);
    Adc_StartGroupConversion(Adc0Grp2);
    Adc_StartGroupConversion(Adc1Grp0);
    Adc_StartGroupConversion(Adc1Grp1); 
    bADCFlag = 1; 
}

void Adc1Grp0NotifyFunc(void)
{
}
 

void InitADC(void)
{ 
    
 #if EN_ADC  
    
    #if (ADC_PRECOMPILE_SUPPORT == STD_ON)
    Adc_Init(NULL_PTR); 
    #else 
    Pwm_Init(&Adc_Config);
    #endif
   
    Adc_SetupResultBuffer(Adc0Grp0, adc0_group0_data);
    Adc_SetupResultBuffer(Adc0Grp1, adc0_group1_data);
    Adc_SetupResultBuffer(Adc0Grp2, adc0_group2_data);
    
    
    Adc_SetupResultBuffer(Adc1Grp0, adc1_group0_data);
    Adc_SetupResultBuffer(Adc1Grp1, adc1_group1_data); 
    
    Gpt_EnableNotification(GptChlADC);   
    Gpt_StartTimer(GptChlADC, 3000);
    
    
    Adc_EnableGroupNotification(Adc0Grp0) ;  
    Adc_EnableGroupNotification(Adc0Grp1) ;  
    Adc_EnableGroupNotification(Adc0Grp2) ;  
    Adc_EnableGroupNotification(Adc1Grp0) ;  
    Adc_EnableGroupNotification(Adc1Grp1) ;  
    
    
    /*
    Adc_ReadGroup(Adc0Grp0, adc_group0_data);
    Adc_ReadGroup(Adc1Grp0, adc_group1_data);
    Adc_ReadGroup(Adc1Grp1, adc_group2_data);
    */
#endif

}




Std_VersionInfoType Ex_Pwm_VersionInfo;

void InitPWM(void)
{ 
    
 #if EN_PWM  

#if (PWM_PRECOMPILE_SUPPORT == STD_ON)       
    Pwm_Init(NULL_PTR); 
#else 
    Pwm_Init(&Pwm_Config);
#endif
    Pwm_GetVersionInfo(&Ex_Pwm_VersionInfo); 
    
    
    int duty = 31000; 
 
    /*
    Pwm_SetPeriodAndDuty(0, 8000,duty);
    Pwm_SetPeriodAndDuty(1, 8000,duty); 
      
    */
      
<<<<<<< HEAD
    Pwm_SetPeriodAndDuty(PWMChl_PTE15_TIM2_CH6_STPCTRL1, 8000U,duty);
=======
    Pwm_SetPeriodAndDuty(PWMChl_PTD01_TIM2_CH1_LED1, 12500U, duty);
>>>>>>> ILCP-68  Add  E16 AN013 compile options
    
    Pwm_SetDutyCycle(PWMChl_PTD01_TIM2_CH1_LED1,duty);
    Pwm_SetDutyCycle(PWMChl_PTD00_TIM2_CH5_LED2,duty);
    Pwm_SetDutyCycle(PWMChl_PTD12_TIM2_CH2_LED3,duty);
    Pwm_SetDutyCycle(PWMChl_PTE13_TIM3_CH1_LED4,duty);
    Pwm_SetDutyCycle(PWMChl_PTC13_TIM3_CH7_LED5,duty);
    Pwm_SetDutyCycle(PWMChl_PTC12_TIM3_CH6_LED6,duty);
    Pwm_SetDutyCycle(PWMChl_PTD10_TIM2_CH0_LED7,duty);
    Pwm_SetDutyCycle(PWMChl_PTE16_TIM2_CH7_LED8,duty);
<<<<<<< HEAD
    Pwm_SetDutyCycle(PWMChl_PTB11_TIM3_CH3_STPCTRL2,duty);
    Pwm_SetDutyCycle(PWMChl_PTB10_TIM3_CH2_STPCTRL3,duty);
    Pwm_SetDutyCycle(PWMChl_PTB08_TIM3_CH0_STPCTRL4,duty); 
=======
    Pwm_SetDutyCycle(PWMChl_PTE15_TIM2_CH6_STPCTRL1,duty);
    Pwm_SetDutyCycle(PWMChl_PTB11_TIM3_CH3_STPCTRL2,duty);
    Pwm_SetDutyCycle(PWMChl_PTB10_TIM3_CH2_STPCTRL3,duty);
    Pwm_SetDutyCycle(PWMChl_PTB08_TIM3_CH0_STPCTRL4, duty);

>>>>>>> ILCP-68  Add  E16 AN013 compile options
    #endif
    
}



void Adc0Grp0NotifyFunc(void)
{
}


void Adc1Grp1NotifyFunc(void)
{
}

void OS_TriggerGroup1ms(void)
{
}


void Uart_Drv_0_IrqHandler(void) __attribute__((weak));
void Uart_Drv_0_IrqHandler(void)
{

}

void Uart_Drv_2_IrqHandler(void) __attribute__((weak));
void Uart_Drv_2_IrqHandler(void)  
{

}        


void Tim_Drv_1_ChIrqHandler(void)  __attribute__((weak));
void Tim_Drv_1_ChIrqHandler(void)  
{

}     


void Tim_Drv_1_OverflowIrqHandler(void) __attribute__((weak));
void Tim_Drv_1_OverflowIrqHandler(void)  
{

} 



void TIM1_CH3_IN_TimeStamp_Notify(void)  __attribute__((weak));
void TIM1_CH3_IN_TimeStamp_Notify(void)  
{

}


void TIM1_CH3_IN_OVF_Notify(void) __attribute__((weak));
void TIM1_CH3_IN_OVF_Notify(void)  
{

}


Std_ReturnType Can_CheckWakeup(uint8 Controller)  __attribute__((weak));
Std_ReturnType Can_CheckWakeup(uint8 Controller)   
{
    return (Std_ReturnType)0;
}

#ifdef __ghs__
    __attribute__((weak))
#endif
void Uart_Drv_1_IrqHandler(void)
{

}

     


#ifdef __ghs__
    __attribute__((weak))
#endif
void Icu_WakeupAndOvfNotification(uint16 Channel, boolean OvfFlag)
{

}

#ifdef __ghs__
    __attribute__((weak))
#endif
void Icu_SetupChannelStateHandler(uint16 Channel, uint8 mask, boolean OptType)
{

}
