#include "sr_app_time.h"
#include "sr_shell.h"
#include "sr_log.h"

static uint8_t tFlag1 = 0;
static uint8_t tFlag2 = 0;
static uint8_t tFlag3 = 0;

static SR_TIMER_CTL_T *timer1=SR_NULL;
static SR_TIMER_CTL_T *timer2=SR_NULL;
static SR_TIMER_CTL_T *timer3=SR_NULL;
static void _TimerCb1(void*args)
{
    tFlag1 =1;
}

static void _TimerCb2(void*args)
{
    tFlag2 =1;
}

static void _TimerCb3(void*args)
{
    tFlag3 =1;
}
int _TimerTest(int argc, char **argv)
{
    
	timer1 = SR_AppTimerStart(MODE_PERIOD,500,_TimerCb1,SR_NULL);
    timer2 = SR_AppTimerStart(MODE_PERIOD,1000,_TimerCb2,SR_NULL);
    timer3 = SR_AppTimerStart(MODE_PERIOD,2000,_TimerCb3,SR_NULL);

    gShellThreadRun =1;
    while(gShellThreadRun)
    {
        if(tFlag1==1)
        {
            tFlag1 =0;
            SR_LOG(INFO,"timer1 enter");
        }

        if(tFlag2==1)
        {
            tFlag2 =0;
            SR_LOG(INFO,"timer2 enter");
        }

        if(tFlag3==1)
        {
            tFlag3 =0;
            SR_LOG(INFO,"timer3 enter");
        }

    
    }

    SR_AppTimerStop(timer1);
    SR_AppTimerStop(timer2);
    SR_AppTimerStop(timer3);

	return 0;
}
SR_SHELL_CMD_EXPORT(timerTest, _TimerTest);