C2A_Core
obc_time.c ファイル

OBCの時刻情報の定義と演算 [詳解]

#include "obc_time.h"
#include "obc_time_config.h"
#include "../../Library/print.h"
obc_time.c の依存先関係図:

[ソースコード]

関数

ObcTime OBCT_create (cycle_t total_cycle, cycle_t mode_cycle, step_t step)
 引数から ObcTime を作成する [詳解]
 
void OBCT_clear (ObcTime *time)
 ObcTime をクリアし全てゼロにする [詳解]
 
void OBCT_count_up (ObcTime *time)
 ObcTimeをstep刻みでインクリメントする [詳解]
 
ObcTime OBCT_get_max (void)
 ObcTime が取りうる最大値を返す [詳解]
 
cycle_t OBCT_get_total_cycle (const ObcTime *time)
 引数で指定した ObcTime の total_cycle を返す [詳解]
 
cycle_t OBCT_get_mode_cycle (const ObcTime *time)
 引数で指定した ObcTime の mode_cycle を返す [詳解]
 
step_t OBCT_get_step (const ObcTime *time)
 引数で指定した ObcTime の step を返す [詳解]
 
uint32_t OBCT_get_total_cycle_in_msec (const ObcTime *time)
 引数で指定した ObcTime の total_cycle をミリ秒単位で返す [詳解]
 
uint32_t OBCT_get_mode_cycle_in_msec (const ObcTime *time)
 引数で指定した ObcTime の mode_cycle をミリ秒単位で返す [詳解]
 
double OBCT_get_total_cycle_in_sec (const ObcTime *time)
 引数で指定した ObcTime の total_cycle を秒単位で返す [詳解]
 
double OBCT_get_mode_cycle_in_sec (const ObcTime *time)
 引数で指定した ObcTime の mode_cycle を秒単位で返す [詳解]
 
cycle_t OBCT_msec2cycle (uint32_t msec)
 ミリ秒を cycle に変換する [詳解]
 
uint32_t OBCT_cycle2msec (cycle_t cycle)
 cycle をミリ秒に変換する [詳解]
 
cycle_t OBCT_sec2cycle (uint32_t sec)
 秒を cycle に変換する [詳解]
 
uint32_t OBCT_cycle2sec (cycle_t cycle)
 cycle を秒に変換する [詳解]
 
ObcTime OBCT_diff (const ObcTime *before, const ObcTime *after)
 ObcTime の引き算を行う [詳解]
 
step_t OBCT_diff_in_step (const ObcTime *before, const ObcTime *after)
 ObcTime の引き算を step 単位で行う [詳解]
 
uint32_t OBCT_diff_in_msec (const ObcTime *before, const ObcTime *after)
 ObcTime の引き算をミリ秒単位で行う [詳解]
 
double OBCT_diff_in_sec (const ObcTime *before, const ObcTime *after)
 ObcTime の引き算を秒単位で行う [詳解]
 
ObcTime OBCT_add (const ObcTime *left, const ObcTime *right)
 ObcTime の足し算を行う [詳解]
 
int OBCT_compare (const ObcTime *t1, const ObcTime *t2)
 ObcTime の比較 [詳解]
 
void OBCT_print (const ObcTime *time)
 デバッグ出力に ObcTime を表示する [詳解]
 

詳解

OBCの時刻情報の定義と演算

obc_time.c に定義があります。

関数詳解

◆ OBCT_add()

ObcTime OBCT_add ( const ObcTime left,
const ObcTime right 
)

ObcTime の足し算を行う

覚え書き
オーバーフローに注意
引数
[in]left一項目
[in]right二項目
戻り値
引数を足し合わせた結果の ObcTime

obc_time.c166 行目に定義があります。

被呼び出し関係図:

◆ OBCT_clear()

void OBCT_clear ( ObcTime time)

ObcTime をクリアし全てゼロにする

引数
[in]timeクリアされる ObcTime 構造体
戻り値
void

obc_time.c23 行目に定義があります。

被呼び出し関係図:

◆ OBCT_compare()

int OBCT_compare ( const ObcTime t1,
const ObcTime t2 
)

ObcTime の比較

覚え書き
mode_cycle は見ない
引数
[in]t1比較対象
[in]t2比較対象
戻り値
1: t1 < t2
0: t1 == t2
-1: t2 > t1

obc_time.c181 行目に定義があります。

被呼び出し関係図:

◆ OBCT_count_up()

void OBCT_count_up ( ObcTime time)

ObcTimeをstep刻みでインクリメントする

引数
[in]timeカウントアップされる ObcTime 構造体
戻り値
void

obc_time.c30 行目に定義があります。

被呼び出し関係図:

◆ OBCT_create()

ObcTime OBCT_create ( cycle_t  total_cycle,
cycle_t  mode_cycle,
step_t  step 
)

引数から ObcTime を作成する

引数
[in]total_cycle
[in]mode_cycle
[in]step
戻り値
新規に作成した ObcTime 構造体

obc_time.c10 行目に定義があります。

被呼び出し関係図:

◆ OBCT_cycle2msec()

uint32_t OBCT_cycle2msec ( cycle_t  cycle)

cycle をミリ秒に変換する

引数
[in]cycle
戻り値
ミリ秒単位に変換された cycle

obc_time.c103 行目に定義があります。

◆ OBCT_cycle2sec()

uint32_t OBCT_cycle2sec ( cycle_t  cycle)

cycle を秒に変換する

引数
[in]cycle
戻り値
秒単位に変換されたcycle (端数は切り捨てて整数にする)

obc_time.c112 行目に定義があります。

◆ OBCT_diff()

ObcTime OBCT_diff ( const ObcTime before,
const ObcTime after 
)

ObcTime の引き算を行う

引数
[in]before
[in]after
戻り値
after>= before の場合: after から before を引いた結果の ObcTime
after< before の場合: {0, 0, 0}

obc_time.c116 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ OBCT_diff_in_msec()

uint32_t OBCT_diff_in_msec ( const ObcTime before,
const ObcTime after 
)

ObcTime の引き算をミリ秒単位で行う

引数
[in]before
[in]after
戻り値
after>= before の場合: after - before をミリ秒単位に変換したもの
after< before の場合: 0

obc_time.c153 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ OBCT_diff_in_sec()

double OBCT_diff_in_sec ( const ObcTime before,
const ObcTime after 
)

ObcTime の引き算を秒単位で行う

引数
[in]before
[in]after
戻り値
after>= before の場合: after - before を秒単位に変換したもの
after< before の場合: 0

obc_time.c159 行目に定義があります。

呼び出し関係図:

◆ OBCT_diff_in_step()

step_t OBCT_diff_in_step ( const ObcTime before,
const ObcTime after 
)

ObcTime の引き算を step 単位で行う

覚え書き
オーバーフローに注意
引数
[in]before
[in]after
戻り値
after>= before の場合: after - before を step 単位に変換したもの
after< before の場合: 0

obc_time.c146 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ OBCT_get_max()

ObcTime OBCT_get_max ( void  )

ObcTime が取りうる最大値を返す

引数
void
戻り値
各メンバーを最大値にして新規作成した ObcTime 構造体

obc_time.c54 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ OBCT_get_mode_cycle()

cycle_t OBCT_get_mode_cycle ( const ObcTime time)

引数で指定した ObcTime の mode_cycle を返す

引数
[in]time
戻り値
mode_cycle

obc_time.c64 行目に定義があります。

被呼び出し関係図:

◆ OBCT_get_mode_cycle_in_msec()

uint32_t OBCT_get_mode_cycle_in_msec ( const ObcTime time)

引数で指定した ObcTime の mode_cycle をミリ秒単位で返す

覚え書き
uint32_t がオーバーフローする可能性があるので注意
計算上はstepも考慮
引数
[in]time
戻り値
ミリ秒単位の mode_cycle

obc_time.c79 行目に定義があります。

被呼び出し関係図:

◆ OBCT_get_mode_cycle_in_sec()

double OBCT_get_mode_cycle_in_sec ( const ObcTime time)

引数で指定した ObcTime の mode_cycle を秒単位で返す

覚え書き
計算上はstepも考慮
引数
[in]time
戻り値
秒単位の mode_cycle. 少数点以下も保持

obc_time.c91 行目に定義があります。

◆ OBCT_get_step()

step_t OBCT_get_step ( const ObcTime time)

引数で指定した ObcTime の step を返す

引数
[in]time
戻り値
step

obc_time.c69 行目に定義があります。

被呼び出し関係図:

◆ OBCT_get_total_cycle()

cycle_t OBCT_get_total_cycle ( const ObcTime time)

引数で指定した ObcTime の total_cycle を返す

引数
[in]time
戻り値
total_cycle

obc_time.c59 行目に定義があります。

被呼び出し関係図:

◆ OBCT_get_total_cycle_in_msec()

uint32_t OBCT_get_total_cycle_in_msec ( const ObcTime time)

引数で指定した ObcTime の total_cycle をミリ秒単位で返す

覚え書き
uint32_t がオーバーフローする可能性があるので注意
計算上はstepも考慮
引数
[in]time
戻り値
ミリ秒単位の total_cycle

obc_time.c74 行目に定義があります。

被呼び出し関係図:

◆ OBCT_get_total_cycle_in_sec()

double OBCT_get_total_cycle_in_sec ( const ObcTime time)

引数で指定した ObcTime の total_cycle を秒単位で返す

覚え書き
計算上はstepも考慮
引数
[in]time
戻り値
秒単位の total_cycle. 少数点以下も保持

obc_time.c84 行目に定義があります。

被呼び出し関係図:

◆ OBCT_msec2cycle()

cycle_t OBCT_msec2cycle ( uint32_t  msec)

ミリ秒を cycle に変換する

引数
[in]msec
戻り値
cycle (端数は切り捨て)

obc_time.c98 行目に定義があります。

◆ OBCT_print()

void OBCT_print ( const ObcTime time)

デバッグ出力に ObcTime を表示する

引数
[in]time
戻り値
void

obc_time.c192 行目に定義があります。

呼び出し関係図:

◆ OBCT_sec2cycle()

cycle_t OBCT_sec2cycle ( uint32_t  sec)

秒を cycle に変換する

引数
[in]sec
戻り値
cycle

obc_time.c107 行目に定義があります。

被呼び出し関係図: