/******************************************************************************* * * * モジュール名称 :CheckOut処理 * * モジュールラベル :checkout_procCheckOut * * タスク区分 :アプリケーションタスク * * 機能 : * * コーリングシーケンス:void checkout_procCheckOut(void) * * 引数 :void * * 戻り値 :void * * 使用上の注意 :なし * * エラー処理 :なし * * * * (APP16向けサンプルコードです) * * * *******************************************************************************/ #include "chkout.h" /* チェックアウトアプリ定義 */ void checkout_procCheckOut(void) { unsigned int ui_calcSum = 0; unsigned int ui_currAddr; int i_getResult = 0; int i_apiResult = 0; int i_chkResult = d_CO_NO_ERROR; for( ui_currAddr = Gt_co_chkOutPlan.ui_startAddr; ui_currAddr <= Gt_co_chkOutPlan.ui_endAddr; ui_currAddr += Gt_co_chkOutPlan.ui_readSize ) { /* メモリデータ取得 */ i_getResult = checkout_getMemData( ui_currAddr, &i_apiResult ); if( i_getResult == d_CO_NO_ERROR ) { /* 取得成功 */ /* サム値計算 */ ui_calcSum += checkout_calcSum(); }else{ /* 取得失敗 */ break; /* 途中で強制終了 */ } /* WDTリセット */ checkout_resetWDT(); } /* Sum計算値チェック */ if( ui_calcSum != Gt_co_chkOutPlan.ui_sumValue ) { i_chkResult = d_CO_SUM_ERROR; } if( i_getResult != d_CO_NO_ERROR ) { /* メモリデータ取得失敗した */ i_chkResult = i_getResult; } /* 処理結果格納 */ Gt_co_chkOutResult.uc_nodeID = Gt_co_chkOutPlan.uc_nodeID; Gt_co_chkOutResult.uc_resultCode = (unsigned char)i_chkResult; Gt_co_chkOutResult.uc_apiReturn = (unsigned char)i_apiResult; Gt_co_chkOutResult.ui_startAddr = Gt_co_chkOutPlan.ui_startAddr; Gt_co_chkOutResult.ui_endAddr = ui_currAddr - 1; Gt_co_chkOutResult.ui_sumValue = ui_calcSum; return; }