ocs init
This commit is contained in:
155
plat/public/ut/timer/wxc_tmtest.c
Normal file
155
plat/public/ut/timer/wxc_tmtest.c
Normal file
@@ -0,0 +1,155 @@
|
||||
|
||||
#include "assert.h"
|
||||
#include "../../src/include/includes.h"
|
||||
#include "../../src/include/public.h"
|
||||
#include "../../src/include/wxc_timer.h"
|
||||
|
||||
|
||||
u32 hlr_timer_flag;
|
||||
u32 hlr_20ms_flag;
|
||||
|
||||
void system_init ( void )
|
||||
{
|
||||
sleep ( 3 );
|
||||
hlr_timer_flag = 0;
|
||||
hlr_20ms_flag = 0;
|
||||
}
|
||||
|
||||
void timer_callback ( )
|
||||
{
|
||||
hlr_20ms_flag++;
|
||||
hlr_timer_flag++;
|
||||
printf("10 ms call back : %d\n" , hlr_timer_flag);
|
||||
}
|
||||
|
||||
void set_timer ( )
|
||||
{
|
||||
struct sigaction act;
|
||||
struct itimerval value;
|
||||
struct itimerval old_value;
|
||||
|
||||
value.it_interval.tv_sec = 0;
|
||||
value.it_interval.tv_usec = 10000; // 10 ms
|
||||
value.it_value.tv_sec = 0;
|
||||
value.it_value.tv_usec = 10000; // 10 ms
|
||||
act.sa_handler = timer_callback;
|
||||
sigemptyset ( &act.sa_mask );
|
||||
act.sa_flags = 0;
|
||||
if( sigaction ( SIGALRM, &act, NULL ) == -1 )
|
||||
{
|
||||
printf ( "Timer error\n" );
|
||||
exit ( 0 );
|
||||
}
|
||||
setitimer ( ITIMER_REAL, &value, &old_value );
|
||||
iopl ( 3 );
|
||||
}
|
||||
|
||||
void tm_app_callback_10ms ( u16 dSuitId, u16 dData )
|
||||
{
|
||||
printf("10 ms call back\n");
|
||||
}
|
||||
|
||||
void tm_app_callback_1s ( u16 dSuitId, u16 dData )
|
||||
{
|
||||
printf("10 ms call back\n");
|
||||
}
|
||||
|
||||
void tm_app_callback_50s ( u16 dSuitId, u16 dData )
|
||||
{
|
||||
printf("10 ms call back\n");
|
||||
}
|
||||
|
||||
void tm_app_callback_5000s ( u16 dSuitId, u16 dData )
|
||||
{
|
||||
printf("10 ms call back\n");
|
||||
}
|
||||
|
||||
|
||||
void tm_app_init ( )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
int app_state;
|
||||
WxcTimer tTimer10ms;
|
||||
WxcTimer tTimer1s;
|
||||
WxcTimer tTimer50s;
|
||||
WxcTimer tTimer5000s;
|
||||
|
||||
typedef enum TMTEST_STATE
|
||||
{
|
||||
APP_REGSITER,
|
||||
APP_START,
|
||||
APP_TIMEROUT,
|
||||
APP_STOP,
|
||||
}
|
||||
TM_STATE;
|
||||
|
||||
|
||||
void tm_app_test ( )
|
||||
{
|
||||
|
||||
|
||||
switch ( app_state )
|
||||
{
|
||||
case APP_REGSITER:
|
||||
tTimer10ms.dExpires = 1;
|
||||
tTimer10ms.dSuitNumber = 1;
|
||||
tTimer10ms.pFunc = &tm_app_callback_10ms;
|
||||
tTimer10ms.dData = 0;
|
||||
TimerAdd ( &tTimer10ms );
|
||||
|
||||
tTimer1s.dExpires = 100;
|
||||
tTimer1s.dSuitNumber = 10;
|
||||
tTimer1s.pFunc = &tm_app_callback_1s;
|
||||
tTimer1s.dData = 0;
|
||||
TimerAdd ( &tTimer1s );
|
||||
|
||||
tTimer50s.dExpires = 5000;
|
||||
tTimer50s.dSuitNumber = 100;
|
||||
tTimer50s.pFunc = &tm_app_callback_50s;
|
||||
tTimer50s.dData = 0;
|
||||
TimerAdd ( &tTimer50s );
|
||||
|
||||
tTimer5000s.dExpires = 5000000;
|
||||
tTimer5000s.dSuitNumber = 10;
|
||||
tTimer5000s.pFunc = &tm_app_callback_5000s;
|
||||
tTimer5000s.dData = 0;
|
||||
TimerAdd ( &tTimer5000s );
|
||||
app_state++;
|
||||
break;
|
||||
|
||||
case APP_START:
|
||||
app_state++;
|
||||
break;
|
||||
|
||||
case APP_TIMEROUT:
|
||||
|
||||
TimerAdd ( &tTimer50s );
|
||||
app_state++;
|
||||
break;
|
||||
case APP_STOP:
|
||||
|
||||
TimerAdd ( &tTimer50s );
|
||||
app_state++;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int main ( int argc, char *argv[] )
|
||||
{
|
||||
|
||||
system_init ( );
|
||||
|
||||
set_timer ( );
|
||||
|
||||
while ( 1 )
|
||||
{
|
||||
usleep ( 1 );
|
||||
tm_app_test ( );
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
Reference in New Issue
Block a user