C2A_Core
obc_time.h
[詳解]
1 
5 #ifndef OBC_TIME_H_
6 #define OBC_TIME_H_
7 
8 #include <stdint.h>
9 
10 typedef uint32_t cycle_t;
11 typedef uint32_t step_t;
12 
17 typedef struct
18 {
22 } ObcTime;
23 
31 ObcTime OBCT_create(cycle_t total_cycle,
32  cycle_t mode_cycle,
33  step_t step);
34 
40 void OBCT_clear(ObcTime* time);
41 
47 void OBCT_count_up(ObcTime* time);
48 
54 ObcTime OBCT_get_max(void);
55 
62 
69 
75 step_t OBCT_get_step(const ObcTime* time);
76 
84 uint32_t OBCT_get_total_cycle_in_msec(const ObcTime* time);
85 
93 uint32_t OBCT_get_mode_cycle_in_msec(const ObcTime* time);
94 
101 double OBCT_get_total_cycle_in_sec(const ObcTime* time);
102 
109 double OBCT_get_mode_cycle_in_sec(const ObcTime* time);
110 
116 cycle_t OBCT_msec2cycle(uint32_t msec);
117 
123 uint32_t OBCT_cycle2msec(cycle_t cycle);
124 
130 cycle_t OBCT_sec2cycle(uint32_t sec);
131 
137 uint32_t OBCT_cycle2sec(cycle_t cycle);
138 
146 ObcTime OBCT_diff(const ObcTime* before,
147  const ObcTime* after);
148 
157 step_t OBCT_diff_in_step(const ObcTime* before,
158  const ObcTime* after);
159 
167 uint32_t OBCT_diff_in_msec(const ObcTime* before,
168  const ObcTime* after);
169 
177 double OBCT_diff_in_sec(const ObcTime* before,
178  const ObcTime* after);
179 
187 ObcTime OBCT_add(const ObcTime* left, const ObcTime* right);
188 
198 int OBCT_compare(const ObcTime* t1, const ObcTime* t2);
199 
205 void OBCT_print(const ObcTime* time);
206 
207 #endif
ObcTime OBCT_diff(const ObcTime *before, const ObcTime *after)
ObcTime の引き算を行う
Definition: obc_time.c:116
void OBCT_count_up(ObcTime *time)
ObcTimeをstep刻みでインクリメントする
Definition: obc_time.c:30
cycle_t OBCT_sec2cycle(uint32_t sec)
秒を cycle に変換する
Definition: obc_time.c:107
double OBCT_get_total_cycle_in_sec(const ObcTime *time)
引数で指定した ObcTime の total_cycle を秒単位で返す
Definition: obc_time.c:84
step_t OBCT_diff_in_step(const ObcTime *before, const ObcTime *after)
ObcTime の引き算を step 単位で行う
Definition: obc_time.c:146
step_t OBCT_get_step(const ObcTime *time)
引数で指定した ObcTime の step を返す
Definition: obc_time.c:69
void OBCT_print(const ObcTime *time)
デバッグ出力に ObcTime を表示する
Definition: obc_time.c:192
uint32_t OBCT_cycle2sec(cycle_t cycle)
cycle を秒に変換する
Definition: obc_time.c:112
uint32_t OBCT_diff_in_msec(const ObcTime *before, const ObcTime *after)
ObcTime の引き算をミリ秒単位で行う
Definition: obc_time.c:153
double OBCT_get_mode_cycle_in_sec(const ObcTime *time)
引数で指定した ObcTime の mode_cycle を秒単位で返す
Definition: obc_time.c:91
ObcTime OBCT_get_max(void)
ObcTime が取りうる最大値を返す
Definition: obc_time.c:54
ObcTime OBCT_add(const ObcTime *left, const ObcTime *right)
ObcTime の足し算を行う
Definition: obc_time.c:166
ObcTime OBCT_create(cycle_t total_cycle, cycle_t mode_cycle, step_t step)
引数から ObcTime を作成する
Definition: obc_time.c:10
double OBCT_diff_in_sec(const ObcTime *before, const ObcTime *after)
ObcTime の引き算を秒単位で行う
Definition: obc_time.c:159
uint32_t OBCT_cycle2msec(cycle_t cycle)
cycle をミリ秒に変換する
Definition: obc_time.c:103
int OBCT_compare(const ObcTime *t1, const ObcTime *t2)
ObcTime の比較
Definition: obc_time.c:181
uint32_t step_t
Definition: obc_time.h:11
cycle_t OBCT_msec2cycle(uint32_t msec)
ミリ秒を cycle に変換する
Definition: obc_time.c:98
uint32_t cycle_t
Definition: obc_time.h:10
cycle_t OBCT_get_total_cycle(const ObcTime *time)
引数で指定した ObcTime の total_cycle を返す
Definition: obc_time.c:59
cycle_t OBCT_get_mode_cycle(const ObcTime *time)
引数で指定した ObcTime の mode_cycle を返す
Definition: obc_time.c:64
uint32_t OBCT_get_mode_cycle_in_msec(const ObcTime *time)
引数で指定した ObcTime の mode_cycle をミリ秒単位で返す
Definition: obc_time.c:79
void OBCT_clear(ObcTime *time)
ObcTime をクリアし全てゼロにする
Definition: obc_time.c:23
uint32_t OBCT_get_total_cycle_in_msec(const ObcTime *time)
引数で指定した ObcTime の total_cycle をミリ秒単位で返す
Definition: obc_time.c:74
C89 環境用 stdint.h
OBCの時刻情報を保持する構造体
Definition: obc_time.h:18
cycle_t total_cycle
TI のこと. OBC が起動してから(正確には,構造体が初期化されてから)の経過時間
Definition: obc_time.h:19
cycle_t mode_cycle
最後に mode を変えてからの経過時間
Definition: obc_time.h:20
step_t step
内部 step. TimeLine での処理時間分割に使われる
Definition: obc_time.h:21