チュートリアル

CAN接続において、テストポイントの情報を取得するためのドライバのカスタマイズ方法について説明します。

1.拡張機能について

CAN接続については、拡張機能をOFFで使用するモードとONで使用するモードの2種類のモードがあります。
「拡張機能」をONにした場合、アプリケーションフィルターも有効になりますが、ドライバの実装方法の
難易度も上がります。拡張機能を使用される場合は、こちらのチュートリアルを参照ください。
本チュートリアルでは、拡張機能をOFFの時のカスタマイズ方法について説明しています。

2.CAN接続設定


IDにはDT10側のIDを指定します。
テストポイントの出力先のIDはこちらのIDを指定することになります。
拡張機能のチェックボックスはOFFにします。

3.サンプルドライバのカスタマイズ

ダウンロードいただいたドライバファイルは、ターゲット環境に合わせて、下記の内容を変更します。

3-1.ターゲット環境での符号なし32bitの型名指定

下記の変更内容のコントロール等に必要なヘッダファイルをIncludeしてください。

※”Common.h”は、弊社のサンプル環境における制御ポートのdefineや制御APIなどが定義されているヘッダファイルです。
削除するか、コメントアウトしてお使いください。

/*================================================================*/
/*  Desc:   Header for FROM Control                    */
/*================================================================*/
#include  "Common.h"
3-2.CanDataSend関数の変更

各テストポイントのドライバ関数からコールされるCANデータの送信処理を、現在お使いの環境に合わせて
差し換えてください。
サンプルドライバでは、CanDataSend()関数に、送信データの配列のアドレスと送信バイト数を指定していますが、
現在お使いの同様の関数に置き換えてください。

/*================================================================*/
/*      Func: _TP_BusOut                          */
/*      Desc: Called by Test Point                    */
/*================================================================*/
void _TP_BusOut( DT_UINT addr, DT_UINT dat )
{
         unsigned char tmp[4];
         tmp[0] = addr ;
         tmp[1] = addr >> 8;
         tmp[2] = dat ;
         tmp[3] = dat >> 8;
         CanDataSend( tmp, 4 );
}
/*================================================================*/
/*      Func: _TP_MemoryOutput                      */
/*      Desc: Called by Variable Test Point               */
/*================================================================*/
void _TP_MemoryOutput( DT_UINT addr, DT_UINT dat, void *value, DT_UINT size )
{
         unsigned char tmp[8];
         unsigned char *p = value;
         int	i;
         tmp[0] = addr | 0x02;
         tmp[1] = addr >> 8;
         tmp[2] = dat ;
         tmp[3] = dat >> 8;
         for( i = 0; i < 4; i++, p++ ){
                  tmp[4+i] = (i < size)?*p:0x00;
         }
         CanDataSend( tmp, 4 + size );
}
3-3.ターゲット環境での符号なし32bitの型名指定

通常は変更不要です。符号無し32bitの型名を記載します。
もしこちらの項目を変更した場合は、DT10アプリ側の設定も変更する必要があります。

/*================================================================*/
/*  Macro:  DT_UINT                             */
/*  Desc:   Please change Test Point argument type for DT10 Project setting. */
/*================================================================*/
#define DT_UINT unsigned int

4.サンプルドライバのカスタマイズ

お使いの開発環境に、カスタマイズしたドライバファイルを追加します。
コンパイルしていただき、問題なくターゲットが動作するかを確認します。

レポート取得へ