/******************************************************************************* * * * モジュール名称 :冗長DPUデータ出力 * * モジュールラベル :checkout_putRdn * * タスク区分 :MW-APP I/F ドライバ * * コーリングシーケンス:int checkout_putRdn( &uip_buffer, ui_addr, ui_size ) * * 引数 :unsigned int *uip_buffer 読み出しデータ格納アドレス * * unsigned int ui_addr 読み出しアドレス * * unsigned int ui_size 読み出しサイズ * * 戻り値 :int 処理結果(API関数からの戻り値) * * 使用上の注意 :なし * * エラー処理 :なし * * * * (APP16向けサンプルコードです) * * * *******************************************************************************/ #include "chkout_if.h" int checkout_putRdn( unsigned int *uip_buffer, unsigned int ui_addr, unsigned int ui_size ) { int i_apiResult; M_T_RDN_IF_STATUS t_rdnIfStatus; /* アドレスチェック */ if( ui_addr <= MISIF_FPGA_END_ADDR && (ui_addr + ui_size - 1) >= MISIF_FPGA_START_ADDR ) { return RDN_FPGA_REG_WRITE; } /* 冗長DPU I/Fレジスタクリア */ dpu_clearRdnIFStatus(); /* RMAP Write Command送信 */ i_apiResult = dpu_sendRdnWriteCommand( (unsigned char *)uip_buffer, ui_addr, ui_size ); if( i_apiResult == 0 ) { /* 送信成功 */ /* RMAP Write Reply受信待ち */ dpu_delay( 1 ); /* 冗長DPU I/Fレジスタ読み出し */ dpu_getRdnIFStatus( &t_rdnIfStatus ); /* RMAP Write Reply受信結果確認 */ if( t_rdnIfStatus.us_writeRplyCount != 1 ) { /* 受信失敗 */ i_apiResult = RDN_NO_WRITEREPLY; } }else{ /* 受信失敗 */ /* 処理なし。API関数からの返り値をそのまま返す。 */ } return i_apiResult; }