ubinos
Classes | Typedefs | Functions
hrtick.h File Reference

ubik high resolution tick API More...

#include <ubinos_config.h>
#include <ubinos/type.h>

Go to the source code of this file.

Classes

struct  _hrtick_t
 

Typedefs

typedef struct _hrtick_t hrtick_t
 

Functions

int ubik_hrtick_enable (int htimerno)
 
int ubik_hrtick_disable (void)
 
int ubik_hrtick_reset (void)
 
unsigned int ubik_hrtick_gettickpersec (void)
 
unsigned int ubik_hrtick_gethrtickpermsec (void)
 
int ubik_hrtick_gettick (hrtick_t *tick_p)
 
int ubik_hrtick_gettickdiff (hrtick_t *tick1_p, hrtick_t *tick2_p, hrtick_t *tickdiff_p)
 
int ubik_hrtick_hrticktotime (hrtick_t *tick_p, unsigned int *nsec_p, unsigned int *usec_p, unsigned int *msec_p)
 
int ubik_hrtick_hrticktotimens (hrtick_t *tick_p, unsigned int *nsec_p)
 
int ubik_hrtick_hrticktotimeus (hrtick_t *tick_p, unsigned int *usec_p)
 

Detailed Description

ubik high resolution tick API

ubik 고해상도 tick API를 정의합니다.

Typedef Documentation

◆ hrtick_t

typedef struct _hrtick_t hrtick_t

고해상도 tick 자료 구조

Function Documentation

◆ ubik_hrtick_disable()

int ubik_hrtick_disable ( void  )

고해상도 tick 기능을 비활성화하는 함수

Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음

◆ ubik_hrtick_enable()

int ubik_hrtick_enable ( int  htimerno)

고해상도 tick 기능을 활성화하는 함수

Parameters
htimerno고해상도 tick을 위한 하드웨어 타이머 번호
Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음

◆ ubik_hrtick_gethrtickpermsec()

unsigned int ubik_hrtick_gethrtickpermsec ( void  )

천분의 일초당 고해상도 tick 수(htick)를 돌려주는 함수

Returns
천분의 일초당 고해상도 tick 수(htick)

◆ ubik_hrtick_gettick()

int ubik_hrtick_gettick ( hrtick_t tick_p)

현재까지 누적된 고해상도 tick 수를 돌려주는 함수

Parameters
tick_p현재까지 누적된 고해상도 tick 수를 저장할 변수의 주소
Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음

◆ ubik_hrtick_gettickdiff()

int ubik_hrtick_gettickdiff ( hrtick_t tick1_p,
hrtick_t tick2_p,
hrtick_t tickdiff_p 
)

고해상도 tick 수의 차이(tick2에서 tick1을 뺀 값)를 돌려주는 함수

비교 대상 tick 1이 비교 대상 tick 2보다 클 경우 오버플로우가 일어난 것으로 간주하고 차이를 계산함

Parameters
tick1_p비교 대상 고해상도 tick 1의 포인터

tick2_p비교 대상 고해상도 tick 2의 포인터

tickdiff_p고해상도 tick 수의 차이를 저장할 변수의 주소
Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음

◆ ubik_hrtick_gettickpersec()

unsigned int ubik_hrtick_gettickpersec ( void  )

초당 tick 수(high, low)를 돌려주는 함수

Returns
초당 tick 수(high, low)

◆ ubik_hrtick_hrticktotime()

int ubik_hrtick_hrticktotime ( hrtick_t tick_p,
unsigned int *  nsec_p,
unsigned int *  usec_p,
unsigned int *  msec_p 
)

고해상도 tick 수를 시간 단위로 변환하는 함수

Parameters
tick_p대상 고해상도 tick 수의 포인터
nsec_p변환한 십억분의 일초 단위 값을 저장할 변수의 주소
NULL이면 무시함
usec_p변환한 백만분의 일초 단위 값을 저장할 변수의 주소
NULL이면 무시함
msec_p변환한 천분의 일초 단위 값을 저장할 변수의 주소
NULL이면 무시함
Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음

◆ ubik_hrtick_hrticktotimens()

int ubik_hrtick_hrticktotimens ( hrtick_t tick_p,
unsigned int *  nsec_p 
)

고해상도 tick 수를 십억분의 일초 단위로 변환하는 함수

Parameters
tick_p대상 고해상도 tick 수의 포인터
nsec_p변환한 십억분의 일초 단위 값을 저장할 변수의 주소
Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음

◆ ubik_hrtick_hrticktotimeus()

int ubik_hrtick_hrticktotimeus ( hrtick_t tick_p,
unsigned int *  usec_p 
)

고해상도 tick 수를 백만분의 일초 단위로 변환하는 함수

Parameters
tick_p대상 고해상도 tick 수의 포인터
usec_p변환한 백만분의 일초 단위 값을 저장할 변수의 주소
Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음

◆ ubik_hrtick_reset()

int ubik_hrtick_reset ( void  )

고해상도 tick counter를 초기화 하는 함수 (hrtick만 초기화 됨)

Returns
0: 성공

-1: 오류
-n: n-1 번째 매개변수가 잘못되었음