Haga_Program
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[BANMSOM_Haga]]
*Prototype System Program [#c34b1931]
マクロ定義と関数の簡単な説明
**Common [#xe81924d]
***Define [#hea7b73b]
-'''prototype_system_define.h'''
>>
// system
-''MAIN_INTERVAL''
--メイン関数用ウェイト値
-''FUNCTION_TRUE''
--関数実行成功
-''FUNCTION_FAILURE''
--関数実行失敗
-''FLAG_TRUE''
--フラグ真
-''FLAG_FALSE''
--フラグ偽
-''POSITIVE''
--正値
-''NEGATIVE''
--負値
-''ONE_SECONDS''
--1秒値
-''ONE_MINUTE''
--1分値
// timer
-''TIMER_PPD_UNIT''
--PPDモジュール用タイマーのカウント単位
-''TIMER_PPD_1MS''
--PPDモジュール用1ms値
-''TIMER_MASTER_1MS''
--Masterモジュール用1ms値
-''TIMER_MASTER_50MS''
--Masterモジュール用50ms値
-''TIMER_MASTER_100MS''
--Masterモジュール用100ms値
-''TIMER_START''
--タイマー作動
-''TIMER_STOP''
--タイマー停止
// shared memory
-''SHARED_MEM_STATUS_RD''
--共有メモリ用状態読み込み用マクロ関数
-''SHARED_MEM_STATUS_WR''('''_value''')
--共有メモリ用状態書き込み用マクロ関数
---'''_value''':書き込み値
-''SHARED_MEM_RD''('''_addr''')
--共有メモリ用データ読み込み用マクロ関数
---'''_addr''':読み込み元アドレス
-''SHARED_MEM_WR''('''_addr''','''_value''')
--共有メモリ用データ書き込み用マクロ関数
---'''_addr''':書き込み先アドレス
---'''_value''':書き込みデータ
-''PPD_READY''
--共有メモリ用PPDモジュール処理可能状態
-''PPD_READY_MSK''
--共有メモリ用PPDモジュール処理可能状態用マスク
-''PPD_FINISH''
--共有メモリ用PPDモジュール処理終了状態
-''PPD_FINISH_MSK''
--共有メモリ用PPDモジュール処理終了状態用マスク
-''PPD_FLG_CLR''
--共有メモリ用PPDモジュール状態フラグクリア
-''PPD_FLG_MSK''
--共有メモリ用PPDモジュール状態フラグマスク
-''SM_FILTERED_DATA_BASE''
--共有メモリ用データ格納先先頭アドレス
-''SM_CURRENT_START_INDEX_BASE''
--共有メモリ用データ先頭index
-''SM_NEXT_START_INDEX_BASE''
--共有メモリ用次データ先頭index
-''SM_NUM_OF_INTERVAL_BASE''
--共有メモリ用インターバル数
-''SM_PPD_RESULT_BASE''
--共有メモリ用PPDモジュール処理結果
-''SM_PPD_RESULT_OFFSET''
--共有メモリ用PPDモジュール処理結果オフセット
-''SM_PPD_RESULT_INTERVAL_START''
--共有メモリ用インターバル開始位置
-''SM_PPD_RESULT_INTERVAL_END''
--共有メモリ用インターバル終了位置
-''SM_PPD_RESULT_INTERVAL_VAL''
--共有メモリ用インターバル値
-''SM_PPD_RESULT_P_POINT''
--共有メモリ用P位置
-''SM_PPD_RESULT_Q_POINT''
--共有メモリ用Q位置
-''SM_PPD_RESULT_R_POINT''
--共有メモリ用R位置
-''SM_PPD_RESULT_S_POINT''
--共有メモリ用S位置
-''SM_PPD_RESULT_T_POINT''
--共有メモリ用T位置
-''SM_PPD_RESULT_U_POINT''
--共有メモリ用U位置
-''EXE_TIME_COUNTERS_BASE''
--共有メモリ用PPDモジュール処理実行時間
// Period-Peaks Detection Algorithm
-''GUARD_OF_ARRAY''
--PPDアルゴリズム用配列番兵
-''ACF_STEP''
--PPDアルゴリズム用自己相関用データ数
-''DEV_STEP''
--PPDアルゴリズム用微分用データ数
-''ACF_PEAK_DETECTION_MAX''
--PPDアルゴリズム用ピーク検出数最大値(自己相関用)
-''PERIOD_INTERVAL_INFO_MAX''
--PPDアルゴリズム用インターバル情報数最大値
-''ECG_PEAK_DETECTION_MAX''
--PPDアルゴリズム用ピーク検出数最大値(ECG信号用)
-''PEAKS_DETECTION_FAILURE''
--PPDアルゴリズム用ピーク検出失敗
-'''simulation_parameter_defins.h'''
>>
// Raw ECG data
-''ECG_SAMPLE_DATA_NAME''
--サンプルデータ名
-''ECG_SAMPLING_FREQUENCY''
--サンプルデータサンプリング周波数値
-''ECG_RESOLUTION_RATE''
--サンプルデータ解像度
// FIR Filter
-''FILTER_STEP''
--フィルタステップ数
-''FILTER_LAG''
--フィルタ遅延値
// Fixed point
-''FRACTION_PART_RANGE''
--固定小数用小数部
-''SIGN_PART_MASK''
--固定小数用符号部
-''INTEGRAL_PART_MASK''
--固定小数用整数部マスク
-''FRACTION_PART_MASK''
--固定小数用小数部マスク
-''__DEBUG_MODE__''
--デバックモード
-''__FILTER_DEBUG__''
--フィルタデバックモード
**Master Module [#m5a821ea]
***Define [#haca975a]
// Raw ECG data
-''ECG_DATA_FROM''('''_addr''')
--サンプルデータをメモリから読み込む
---'''_addr''':読み込み元アドレス
-''ECG_DATA_NUM_BASE''
--メモリ上のサンプルデータの数を格納している場所のアドレス
-''ECG_DATA_BASE''
--メモリ上のサンプルデータの先頭アドレス
-''ECG_TIME_SCALE''
--サンプルデータのタイムスケール
// FIR Filter
-''FILTER_READY''
--フィルタモジュール処理可能状態
-''FILTER_RUN''
--フィルタモジュール処理実行状態
-''FILTER_ERROR''
--フィルタモジュール処理エラー
-''FILTER_INPUT_BUFF_EMPTY''
--フィルタモジュール入力バッファ空状態
-''FILTER_INPUT_BUFF_FULL''
--フィルタモジュール入力バッファ満杯状態
-''FILTER_OUTPUT_BUFF_EMPTY''
--フィルタモジュール出力バッファ空状態
-''FILTER_OUTPUT_BUFF_FULL''
--フィルタモジュール出力バッファ満杯状態
-''FILTER_STATUS_CHECK''('''_value''')
--フィルタ状態判定用マクロ関数
---'''_value''':フィルタ状態
-''FILTER_STATUS''
--フィルタ状態読み込み
-''FILTER_INPUT''('''_value''')
--フィルタモジュールへの入力用マクロ関数
---'''_value''':入力データ
-''FILTER_OUTPUT''
--フィルタ出力取得用マクロ関数
// Virtual External Memory
-''VEMEM_WR''('''_addr''','''_data''')
--仮想外部メモリへの書き込み用マクロ関数
---'''_addr''':書き込み先アドレス
---'''_data''':書き込むデータ
-''VEMEM_RD''('''_addr''')
--仮想外部メモリからのデータ読み込み用マクロ関数
---'''_addr''':読み込み元アドレス
// GLCD
-''GLCD_STR_BUFFER_SIZE''
--GLCD用文字列表示用バッファの最大サイズ
-''GLCD_INTERVAL_Y_BASE''
--GLCD用インターバル表示位置
-''GLCD_P_Y_BASE''
--GLCD用Pピーク表示位置
-''GLCD_Q_Y_BASE''
--GLCD用Qピーク表示位置
-''GLCD_R_Y_BASE''
--GLCD用Rピーク表示位置
-''GLCD_S_Y_BASE''
--GLCD用Sピーク表示位置
-''GLCD_T_Y_BASE''
--GLCD用Tピーク表示位置
-''GLCD_U_Y_BASE''
--GLCD用Uピーク表示位置
-''GLCD_RR_Y_BASE''
--GLCD用RRインターバル表示位置
***Function [#qbeb62b6]
-void ''master_system_init''( irq_components* '''_irq_components''' )
>>
Func:
>>>
システムの初期化をする関数
>>
Param:
>>>
'''_irq_components''': 割り込み処理時に使用する変数群
>>
Retval:
>>>
なし
-void ''master_timer_init''( irq_components* '''_irq_components''' )
>>
Func:
>>>
タイマーの初期化をする関数
>>
Param:
>>>
'''_irq_components''': 割り込み処理時に使用する変数群
>>
Retval:
>>>
なし
-static void ''master_timer_irq_handler''( void* '''ctx''', alt_u32 '''id''' )
>>
Func:
>>>
タイマー割り込みが発生したときに実行される関数
>>
Param:
>>>
'''ctx''': 割り込み関数に渡すデータのポインタ~
'''id''': 割り込み番号
>>
Retval:
>>>なし
-float ''fixity_to_float''( const int '''_ficity_value''' )
>>
Func:
>>>
固定小数値を浮動小数値に変換する関数
>>
Param:
>>>
'''_ficity_value''': 固定小数値
>>
Retval:
>>>
浮動小数値
-void ''convert_step_to_elapsed_time''( const int '''_step''', time_information_float* '''_time_info''' )
>>
Func:
>>>
サンプルデータのステップ値を経過時間に直す関数
>>
Param:
>>>
'''_step''': ステップ値~
'''_time_info''': 変換後のデータを格納するためのバッファ
>>
Retval:
>>>
なし
-void ''shared_memory_init''( void )
>>
Func:
>>>
共有メモリ(Mutexコア)の初期化をする関数
>>
Param:
>>>
なし
>>
Retval:
>>>
なし
-int ''set_filtered_data_to_shared_mem''( const int '''_current_start_index''', const int* '''const _filtered_data''' )
>>
Func:
>>>
フィルタ処理されたデータを共有メモリに格納するための関数
>>
Param:
>>>
'''_current_start_index''': フィルタ処理されたデータの先頭index~
'''const _filtered_data''': 格納するデータ
>>
Retval:
>>>
格納成功: FUNCTION_TRUE~
格納失敗: FUNCTION_FAILURE
-int ''get_ppd_results_from_shared_mem''( const int '''_current_start_index''', int* '''_next_start_index''', int* '''_previous_r_peak''' )
>>
Func:
>>>
PPDモジュールからの処理結果を共有メモリから受け取る関数~
同時に結果の出力も行う
>>
Param:
>>>
'''_current_start_index''': PPDモジュールに渡した、フィルタ処理されたデータの先頭index~
'''_next_start_index''': 次に渡すデータの先頭indexを格納するバッファ~
'''_previous_r_peak''': 以前のRピーク情報を格納するバッファ
>>
Retval:
>>>
なし
-void ''filtering''( const int '''_ecg_data_max''', int* '''_vemem_index''', int* '''_filtering_num''' )
>>
Func:
>>>
フィルタモジュールにデータを送り、フィルタ処理されたデータを仮想外部メモリに格納する関数
>>
Param:
>>>
'''_ecg_data_max''': サンプル数の最大値~
'''_vemem_index''': 仮想外部メモリのindex用バッファ~
'''_filtering_num''': フィルタモジュールに送ったデータ数のバッファ
>>
Retval:
>>>
なし
-void ''filter_status_display''( void )
>>
Func:
>>>
フィルタモジュールの状態を表示する関数
>>
Param:
>>>
なし
>>
Retval:
>>>
なし
-void ''system_status_to_LED''( int* '''_time_counter''' )
>>
Func:
>>>
システムの処理状態をLEDに表示させるための関数
>>
Param:
>>>
'''_time_counter''': LED用カウンタのバッファ
>>
Retval:
>>>
なし
-time_information_us_int ''get_execution_time''( time_information_us_int '''_start_time''', time_information_us_int '''_end_time''' )
>>
Func:
>>>
実行時間を求める関数~
__DEBUG_MODE__が定義されているときのみ有効
>>
Param:
>>>
'''_start_time''': 開始時間~
'''_end_time''': 終了時間
>>
Retval:
>>>
実行時間
-void ''ppd_exe_time_display''( void )
>>
Func:
>>>
PPDモジュール内の関数の実行時間を表示する関数~
__DEBUG_MODE__が定義されているときのみ有効
>>
Param:
>>>
なし
>>
Retval:
>>>
なし
////////////////////////////////////////////////////////////////////////////
**PPD Module [#n1ef7f1c]
***Define [#n9986491]
// Period-Peaks Detection Algorithm
-''ACF_PEAK_DETECTION_THRESHOLD_RATE_HIGTH''
--しきい値の割合(高域)
-''ACF_PEAK_DETECTION_THRESHOLD_RATE_LOW''
--しきい値の割合(低域)
-''ACF_PEAK_DETECTION_THRESHOLD_AREA_HIGTH''
--しきい値の割合(高域)の適用範囲
-''ACF_PEAK_DETECTION_THRESHOLD_AREA_LOW''
--しきい値の割合(低域)の適用範囲
***Function [#e343e059]
-void ''ppd_timer_init''( irq_components* '''_irq_components''' )
>>
Func:
>>>
タイマーの初期化をする関数
>>
Param:
>>>
'''_irq_components''': 割り込み処理時に使用する変数群
>>
Retval:
>>>
なし
-static void ''ppd_timer_irq_handler''( void* '''ctx''', alt_u32 '''id''' )
>>
Func:
>>>
タイマー割り込みが発生したときに実行される関数
>>
Param:
>>>
'''ctx''': 割り込み関数に渡すデータのポインタ~
'''id''': 割り込み番号
>>
Retval:
>>>なし
-int ''reading_data''( __int64* '''_read_values''', int* '''_current_start_index''' )
>>
Func:
>>>
共有メモリからデータを読み込む関数
>>
Param:
>>>
'''_read_values''': 読み込んだデータを格納するためのバッファ~
'''_current_start_index''': 読み込んだデータの先頭index
>>
Retval:
>>>
読み込み成功: FUNCTION_TRUE~
読み込み失敗: FUNCTION_FAILURE
-void ''derivation''( const __int64* '''_input_values''', __int64* '''_output_values''' )
>>
Func:
>>>
微分処理を行う関数
>>
Param:
>>>
'''_input_values''': フィルタ処理されたデータ~
'''_output_values''': 微分処理されたデータ
>>
Retval:
>>>
なし
-void ''autocorrelation''( const __int64* '''_input_values''', __int64* '''_output_values''' )
>>
Func:
>>>
自己相関処理を行う関数
>>
Param:
>>>
'''_input_values''': 微分処理されたデータ~
'''_output_values''': 自己相関処理されたデータ
>>
Retval:
>>>
なし
-void ''find_interval''( const __int64* '''_input_values''', const int '''_current_start_index''', int* '''_interval_info_num''', interval_information* '''_interval_info''', int* '''_next_start_index''' )
>>
Func:
>>>
インターバル検出を行う関数
>>
Param:
>>>
'''_input_values''': 自己相関処理されたデータ~
'''_current_start_index''': 読み込んだデータの先頭index~
'''_interval_info_num''': 検出したインターバル数を格納するバッファ~
'''_interval_info''': 検出したインターバル情報を格納するバッファ~
'''_next_start_index''': 次に読み込むデータの先頭indexを格納するバッファ~
>>
Retval:
>>>
なし
-void ''peaks_detection''( const __int64* '''_input_data''', const int '''_interval_num''', const interval_information* '''_interval_info''', peaks_information* '''_peaks_info''' )
>>
Func:
>>>
ピーク検出を行う関数
>>
Param:
>>>
'''_input_data''': 読み込んだデータ~
'''_interval_num''': 検出したインターバル数~
'''_interval_info''': インターバル情報~
'''_peaks_info''': ピーク情報を格納するバッファ
>>
Retval:
>>>
なし
-void ''store_results''( const int '''_next_start_index''', const int '''_interval_info_num''', const interval_information* const '''_interval_info''', const peaks_information* const '''_peaks_info''' )
>>
Func:
>>>
処理結果を共有メモリに格納する関数
>>
Param:
>>>
'''_next_start_index''': 次に読み込みデータの先頭index~
'''_interval_info_num''': 検出したインターバル数~
'''_interval_info''': インターバル情報~
'''_peaks_info''': ピーク情報
>>
Retval:
>>>
なし
-time_information_us_int ''get_execution_time''( time_information_us_int '''_start_time''', time_information_us_int '''_end_time''' )
>>
Func:
>>>
実行時間を求める関数~
__DEBUG_MODE__が定義されているときのみ有効
>>
Param:
>>>
'''_start_time''': 開始時間~
'''_end_time''': 終了時間
>>
Retval:
>>>
実行時間
-time_information_us_int ''exe_time_add''( time_information_us_int '''_dst_time''', time_information_us_int '''_src_time''' )
>>
Func:
>>>
実行時間カウンタを更新する関数~
__DEBUG_MODE__が定義されているときのみ有効
>>
Param:
>>>
'''_dst_time''': 実行時間カウンタ~
'''_src_time''': カウンタに加算する実行時間
>>
Retval:
>>>
なし
-void ''exe_time_counters_init''( void )
>>
Func:
>>>
実行時間カウンタの初期化をする関数~
__DEBUG_MODE__が定義されているときのみ有効
>>
Param:
>>>
なし
>>
Retval:
>>>
なし
終了行:
[[BANMSOM_Haga]]
*Prototype System Program [#c34b1931]
マクロ定義と関数の簡単な説明
**Common [#xe81924d]
***Define [#hea7b73b]
-'''prototype_system_define.h'''
>>
// system
-''MAIN_INTERVAL''
--メイン関数用ウェイト値
-''FUNCTION_TRUE''
--関数実行成功
-''FUNCTION_FAILURE''
--関数実行失敗
-''FLAG_TRUE''
--フラグ真
-''FLAG_FALSE''
--フラグ偽
-''POSITIVE''
--正値
-''NEGATIVE''
--負値
-''ONE_SECONDS''
--1秒値
-''ONE_MINUTE''
--1分値
// timer
-''TIMER_PPD_UNIT''
--PPDモジュール用タイマーのカウント単位
-''TIMER_PPD_1MS''
--PPDモジュール用1ms値
-''TIMER_MASTER_1MS''
--Masterモジュール用1ms値
-''TIMER_MASTER_50MS''
--Masterモジュール用50ms値
-''TIMER_MASTER_100MS''
--Masterモジュール用100ms値
-''TIMER_START''
--タイマー作動
-''TIMER_STOP''
--タイマー停止
// shared memory
-''SHARED_MEM_STATUS_RD''
--共有メモリ用状態読み込み用マクロ関数
-''SHARED_MEM_STATUS_WR''('''_value''')
--共有メモリ用状態書き込み用マクロ関数
---'''_value''':書き込み値
-''SHARED_MEM_RD''('''_addr''')
--共有メモリ用データ読み込み用マクロ関数
---'''_addr''':読み込み元アドレス
-''SHARED_MEM_WR''('''_addr''','''_value''')
--共有メモリ用データ書き込み用マクロ関数
---'''_addr''':書き込み先アドレス
---'''_value''':書き込みデータ
-''PPD_READY''
--共有メモリ用PPDモジュール処理可能状態
-''PPD_READY_MSK''
--共有メモリ用PPDモジュール処理可能状態用マスク
-''PPD_FINISH''
--共有メモリ用PPDモジュール処理終了状態
-''PPD_FINISH_MSK''
--共有メモリ用PPDモジュール処理終了状態用マスク
-''PPD_FLG_CLR''
--共有メモリ用PPDモジュール状態フラグクリア
-''PPD_FLG_MSK''
--共有メモリ用PPDモジュール状態フラグマスク
-''SM_FILTERED_DATA_BASE''
--共有メモリ用データ格納先先頭アドレス
-''SM_CURRENT_START_INDEX_BASE''
--共有メモリ用データ先頭index
-''SM_NEXT_START_INDEX_BASE''
--共有メモリ用次データ先頭index
-''SM_NUM_OF_INTERVAL_BASE''
--共有メモリ用インターバル数
-''SM_PPD_RESULT_BASE''
--共有メモリ用PPDモジュール処理結果
-''SM_PPD_RESULT_OFFSET''
--共有メモリ用PPDモジュール処理結果オフセット
-''SM_PPD_RESULT_INTERVAL_START''
--共有メモリ用インターバル開始位置
-''SM_PPD_RESULT_INTERVAL_END''
--共有メモリ用インターバル終了位置
-''SM_PPD_RESULT_INTERVAL_VAL''
--共有メモリ用インターバル値
-''SM_PPD_RESULT_P_POINT''
--共有メモリ用P位置
-''SM_PPD_RESULT_Q_POINT''
--共有メモリ用Q位置
-''SM_PPD_RESULT_R_POINT''
--共有メモリ用R位置
-''SM_PPD_RESULT_S_POINT''
--共有メモリ用S位置
-''SM_PPD_RESULT_T_POINT''
--共有メモリ用T位置
-''SM_PPD_RESULT_U_POINT''
--共有メモリ用U位置
-''EXE_TIME_COUNTERS_BASE''
--共有メモリ用PPDモジュール処理実行時間
// Period-Peaks Detection Algorithm
-''GUARD_OF_ARRAY''
--PPDアルゴリズム用配列番兵
-''ACF_STEP''
--PPDアルゴリズム用自己相関用データ数
-''DEV_STEP''
--PPDアルゴリズム用微分用データ数
-''ACF_PEAK_DETECTION_MAX''
--PPDアルゴリズム用ピーク検出数最大値(自己相関用)
-''PERIOD_INTERVAL_INFO_MAX''
--PPDアルゴリズム用インターバル情報数最大値
-''ECG_PEAK_DETECTION_MAX''
--PPDアルゴリズム用ピーク検出数最大値(ECG信号用)
-''PEAKS_DETECTION_FAILURE''
--PPDアルゴリズム用ピーク検出失敗
-'''simulation_parameter_defins.h'''
>>
// Raw ECG data
-''ECG_SAMPLE_DATA_NAME''
--サンプルデータ名
-''ECG_SAMPLING_FREQUENCY''
--サンプルデータサンプリング周波数値
-''ECG_RESOLUTION_RATE''
--サンプルデータ解像度
// FIR Filter
-''FILTER_STEP''
--フィルタステップ数
-''FILTER_LAG''
--フィルタ遅延値
// Fixed point
-''FRACTION_PART_RANGE''
--固定小数用小数部
-''SIGN_PART_MASK''
--固定小数用符号部
-''INTEGRAL_PART_MASK''
--固定小数用整数部マスク
-''FRACTION_PART_MASK''
--固定小数用小数部マスク
-''__DEBUG_MODE__''
--デバックモード
-''__FILTER_DEBUG__''
--フィルタデバックモード
**Master Module [#m5a821ea]
***Define [#haca975a]
// Raw ECG data
-''ECG_DATA_FROM''('''_addr''')
--サンプルデータをメモリから読み込む
---'''_addr''':読み込み元アドレス
-''ECG_DATA_NUM_BASE''
--メモリ上のサンプルデータの数を格納している場所のアドレス
-''ECG_DATA_BASE''
--メモリ上のサンプルデータの先頭アドレス
-''ECG_TIME_SCALE''
--サンプルデータのタイムスケール
// FIR Filter
-''FILTER_READY''
--フィルタモジュール処理可能状態
-''FILTER_RUN''
--フィルタモジュール処理実行状態
-''FILTER_ERROR''
--フィルタモジュール処理エラー
-''FILTER_INPUT_BUFF_EMPTY''
--フィルタモジュール入力バッファ空状態
-''FILTER_INPUT_BUFF_FULL''
--フィルタモジュール入力バッファ満杯状態
-''FILTER_OUTPUT_BUFF_EMPTY''
--フィルタモジュール出力バッファ空状態
-''FILTER_OUTPUT_BUFF_FULL''
--フィルタモジュール出力バッファ満杯状態
-''FILTER_STATUS_CHECK''('''_value''')
--フィルタ状態判定用マクロ関数
---'''_value''':フィルタ状態
-''FILTER_STATUS''
--フィルタ状態読み込み
-''FILTER_INPUT''('''_value''')
--フィルタモジュールへの入力用マクロ関数
---'''_value''':入力データ
-''FILTER_OUTPUT''
--フィルタ出力取得用マクロ関数
// Virtual External Memory
-''VEMEM_WR''('''_addr''','''_data''')
--仮想外部メモリへの書き込み用マクロ関数
---'''_addr''':書き込み先アドレス
---'''_data''':書き込むデータ
-''VEMEM_RD''('''_addr''')
--仮想外部メモリからのデータ読み込み用マクロ関数
---'''_addr''':読み込み元アドレス
// GLCD
-''GLCD_STR_BUFFER_SIZE''
--GLCD用文字列表示用バッファの最大サイズ
-''GLCD_INTERVAL_Y_BASE''
--GLCD用インターバル表示位置
-''GLCD_P_Y_BASE''
--GLCD用Pピーク表示位置
-''GLCD_Q_Y_BASE''
--GLCD用Qピーク表示位置
-''GLCD_R_Y_BASE''
--GLCD用Rピーク表示位置
-''GLCD_S_Y_BASE''
--GLCD用Sピーク表示位置
-''GLCD_T_Y_BASE''
--GLCD用Tピーク表示位置
-''GLCD_U_Y_BASE''
--GLCD用Uピーク表示位置
-''GLCD_RR_Y_BASE''
--GLCD用RRインターバル表示位置
***Function [#qbeb62b6]
-void ''master_system_init''( irq_components* '''_irq_components''' )
>>
Func:
>>>
システムの初期化をする関数
>>
Param:
>>>
'''_irq_components''': 割り込み処理時に使用する変数群
>>
Retval:
>>>
なし
-void ''master_timer_init''( irq_components* '''_irq_components''' )
>>
Func:
>>>
タイマーの初期化をする関数
>>
Param:
>>>
'''_irq_components''': 割り込み処理時に使用する変数群
>>
Retval:
>>>
なし
-static void ''master_timer_irq_handler''( void* '''ctx''', alt_u32 '''id''' )
>>
Func:
>>>
タイマー割り込みが発生したときに実行される関数
>>
Param:
>>>
'''ctx''': 割り込み関数に渡すデータのポインタ~
'''id''': 割り込み番号
>>
Retval:
>>>なし
-float ''fixity_to_float''( const int '''_ficity_value''' )
>>
Func:
>>>
固定小数値を浮動小数値に変換する関数
>>
Param:
>>>
'''_ficity_value''': 固定小数値
>>
Retval:
>>>
浮動小数値
-void ''convert_step_to_elapsed_time''( const int '''_step''', time_information_float* '''_time_info''' )
>>
Func:
>>>
サンプルデータのステップ値を経過時間に直す関数
>>
Param:
>>>
'''_step''': ステップ値~
'''_time_info''': 変換後のデータを格納するためのバッファ
>>
Retval:
>>>
なし
-void ''shared_memory_init''( void )
>>
Func:
>>>
共有メモリ(Mutexコア)の初期化をする関数
>>
Param:
>>>
なし
>>
Retval:
>>>
なし
-int ''set_filtered_data_to_shared_mem''( const int '''_current_start_index''', const int* '''const _filtered_data''' )
>>
Func:
>>>
フィルタ処理されたデータを共有メモリに格納するための関数
>>
Param:
>>>
'''_current_start_index''': フィルタ処理されたデータの先頭index~
'''const _filtered_data''': 格納するデータ
>>
Retval:
>>>
格納成功: FUNCTION_TRUE~
格納失敗: FUNCTION_FAILURE
-int ''get_ppd_results_from_shared_mem''( const int '''_current_start_index''', int* '''_next_start_index''', int* '''_previous_r_peak''' )
>>
Func:
>>>
PPDモジュールからの処理結果を共有メモリから受け取る関数~
同時に結果の出力も行う
>>
Param:
>>>
'''_current_start_index''': PPDモジュールに渡した、フィルタ処理されたデータの先頭index~
'''_next_start_index''': 次に渡すデータの先頭indexを格納するバッファ~
'''_previous_r_peak''': 以前のRピーク情報を格納するバッファ
>>
Retval:
>>>
なし
-void ''filtering''( const int '''_ecg_data_max''', int* '''_vemem_index''', int* '''_filtering_num''' )
>>
Func:
>>>
フィルタモジュールにデータを送り、フィルタ処理されたデータを仮想外部メモリに格納する関数
>>
Param:
>>>
'''_ecg_data_max''': サンプル数の最大値~
'''_vemem_index''': 仮想外部メモリのindex用バッファ~
'''_filtering_num''': フィルタモジュールに送ったデータ数のバッファ
>>
Retval:
>>>
なし
-void ''filter_status_display''( void )
>>
Func:
>>>
フィルタモジュールの状態を表示する関数
>>
Param:
>>>
なし
>>
Retval:
>>>
なし
-void ''system_status_to_LED''( int* '''_time_counter''' )
>>
Func:
>>>
システムの処理状態をLEDに表示させるための関数
>>
Param:
>>>
'''_time_counter''': LED用カウンタのバッファ
>>
Retval:
>>>
なし
-time_information_us_int ''get_execution_time''( time_information_us_int '''_start_time''', time_information_us_int '''_end_time''' )
>>
Func:
>>>
実行時間を求める関数~
__DEBUG_MODE__が定義されているときのみ有効
>>
Param:
>>>
'''_start_time''': 開始時間~
'''_end_time''': 終了時間
>>
Retval:
>>>
実行時間
-void ''ppd_exe_time_display''( void )
>>
Func:
>>>
PPDモジュール内の関数の実行時間を表示する関数~
__DEBUG_MODE__が定義されているときのみ有効
>>
Param:
>>>
なし
>>
Retval:
>>>
なし
////////////////////////////////////////////////////////////////////////////
**PPD Module [#n1ef7f1c]
***Define [#n9986491]
// Period-Peaks Detection Algorithm
-''ACF_PEAK_DETECTION_THRESHOLD_RATE_HIGTH''
--しきい値の割合(高域)
-''ACF_PEAK_DETECTION_THRESHOLD_RATE_LOW''
--しきい値の割合(低域)
-''ACF_PEAK_DETECTION_THRESHOLD_AREA_HIGTH''
--しきい値の割合(高域)の適用範囲
-''ACF_PEAK_DETECTION_THRESHOLD_AREA_LOW''
--しきい値の割合(低域)の適用範囲
***Function [#e343e059]
-void ''ppd_timer_init''( irq_components* '''_irq_components''' )
>>
Func:
>>>
タイマーの初期化をする関数
>>
Param:
>>>
'''_irq_components''': 割り込み処理時に使用する変数群
>>
Retval:
>>>
なし
-static void ''ppd_timer_irq_handler''( void* '''ctx''', alt_u32 '''id''' )
>>
Func:
>>>
タイマー割り込みが発生したときに実行される関数
>>
Param:
>>>
'''ctx''': 割り込み関数に渡すデータのポインタ~
'''id''': 割り込み番号
>>
Retval:
>>>なし
-int ''reading_data''( __int64* '''_read_values''', int* '''_current_start_index''' )
>>
Func:
>>>
共有メモリからデータを読み込む関数
>>
Param:
>>>
'''_read_values''': 読み込んだデータを格納するためのバッファ~
'''_current_start_index''': 読み込んだデータの先頭index
>>
Retval:
>>>
読み込み成功: FUNCTION_TRUE~
読み込み失敗: FUNCTION_FAILURE
-void ''derivation''( const __int64* '''_input_values''', __int64* '''_output_values''' )
>>
Func:
>>>
微分処理を行う関数
>>
Param:
>>>
'''_input_values''': フィルタ処理されたデータ~
'''_output_values''': 微分処理されたデータ
>>
Retval:
>>>
なし
-void ''autocorrelation''( const __int64* '''_input_values''', __int64* '''_output_values''' )
>>
Func:
>>>
自己相関処理を行う関数
>>
Param:
>>>
'''_input_values''': 微分処理されたデータ~
'''_output_values''': 自己相関処理されたデータ
>>
Retval:
>>>
なし
-void ''find_interval''( const __int64* '''_input_values''', const int '''_current_start_index''', int* '''_interval_info_num''', interval_information* '''_interval_info''', int* '''_next_start_index''' )
>>
Func:
>>>
インターバル検出を行う関数
>>
Param:
>>>
'''_input_values''': 自己相関処理されたデータ~
'''_current_start_index''': 読み込んだデータの先頭index~
'''_interval_info_num''': 検出したインターバル数を格納するバッファ~
'''_interval_info''': 検出したインターバル情報を格納するバッファ~
'''_next_start_index''': 次に読み込むデータの先頭indexを格納するバッファ~
>>
Retval:
>>>
なし
-void ''peaks_detection''( const __int64* '''_input_data''', const int '''_interval_num''', const interval_information* '''_interval_info''', peaks_information* '''_peaks_info''' )
>>
Func:
>>>
ピーク検出を行う関数
>>
Param:
>>>
'''_input_data''': 読み込んだデータ~
'''_interval_num''': 検出したインターバル数~
'''_interval_info''': インターバル情報~
'''_peaks_info''': ピーク情報を格納するバッファ
>>
Retval:
>>>
なし
-void ''store_results''( const int '''_next_start_index''', const int '''_interval_info_num''', const interval_information* const '''_interval_info''', const peaks_information* const '''_peaks_info''' )
>>
Func:
>>>
処理結果を共有メモリに格納する関数
>>
Param:
>>>
'''_next_start_index''': 次に読み込みデータの先頭index~
'''_interval_info_num''': 検出したインターバル数~
'''_interval_info''': インターバル情報~
'''_peaks_info''': ピーク情報
>>
Retval:
>>>
なし
-time_information_us_int ''get_execution_time''( time_information_us_int '''_start_time''', time_information_us_int '''_end_time''' )
>>
Func:
>>>
実行時間を求める関数~
__DEBUG_MODE__が定義されているときのみ有効
>>
Param:
>>>
'''_start_time''': 開始時間~
'''_end_time''': 終了時間
>>
Retval:
>>>
実行時間
-time_information_us_int ''exe_time_add''( time_information_us_int '''_dst_time''', time_information_us_int '''_src_time''' )
>>
Func:
>>>
実行時間カウンタを更新する関数~
__DEBUG_MODE__が定義されているときのみ有効
>>
Param:
>>>
'''_dst_time''': 実行時間カウンタ~
'''_src_time''': カウンタに加算する実行時間
>>
Retval:
>>>
なし
-void ''exe_time_counters_init''( void )
>>
Func:
>>>
実行時間カウンタの初期化をする関数~
__DEBUG_MODE__が定義されているときのみ有効
>>
Param:
>>>
なし
>>
Retval:
>>>
なし
ページ名: