TPRecvCallback

定義

#include <nitro/spi.h>
typedef void (*TPRecvCallback)(
        TPRequestCommand command,
        TPRequestResult result,
        u16 index );

引数

command リクエストコマンド種別
result 処理結果
index オートサンプリングコールバックのインデックス値

返り値

なし。

説明

ARM7プロセッサへの要求が処理される毎、及びオートサンプリングによって定期的にタッチパネルの値を受信する毎に呼び出されるユーザコールバックの形式です。
command値でどの要求の結果であるか、result値で正常に処理されたかどうか、index値でオートサンプリング時の最新データのインデクスを取得することができます。

TP_REQUEST_COMMAND_SAMPLING サンプリングを1回実行要求。TP_RequestSampling*()で送信されます。
TP_REQUEST_COMMAND_AUTO_ON オートサンプリング開始要求。TP_RequestAutoSamplingStart()で送信されます。
TP_REQUEST_COMMAND_AUTO_OFF オートサンプリング停止要求。TP_RequestAutoSamplingStop()で送信されます。
TP_REQUEST_COMMAND_SET_STABILITY チャタリング対策パラメータの設定要求。TP_RequestSetStability()で送信されます。
TP_REQUEST_COMMAND_AUTO_SAMPLING オートサンプリングによってデータがセットされる毎にこのコールバックが呼び出されます。

TP_RESULT_SUCCESS 正常終了。
TP_RESULT_INVALID_PARAMETER 送信された要求のパラメータが不正です。
TP_RESULT_ILLEGAL_STATUS 現在の状態では処理できない命令です。
TP_RESULT_EXCLUSIVE ARM7プロセッサの周辺装置インターフェイスがビジー状態です。
TP_RESULT_PXI_BUSY CPU間通信がビジーのため要求に失敗しました。


以下に引数の列挙型の型定義を記しておきます。

// タッチパネルへ発行する命令種別
typedef enum {
    TP_REQUEST_COMMAND_SAMPLING         = 0x0,  // サンプリングを1回実行
    TP_REQUEST_COMMAND_AUTO_ON          = 0x1,  // オートサンプリング開始
    TP_REQUEST_COMMAND_AUTO_OFF         = 0x2,  // オートサンプリング停止
    TP_REQUEST_COMMAND_SETUP_STABILITY  = 0x3,  // チャタリング対策値の設定
    TP_REQUEST_COMMAND_AUTO_SAMPLING    = 0x10, // オートサンプリングの結果受信
} TPRequestCommand;

// タッチパネルからの結果種別
typedef enum {
    TP_RESULT_SUCCESS = 0 ,             // 成功
    TP_RESULT_INVALID_PARAMETER ,       // パラメータが異常
    TP_RESULT_ILLEGAL_STATUS ,          // 命令を受け付けられない状態
    TP_RESULT_EXCLUSIVE ,               // SPIデバイスがビジー中
    TP_RESULT_PXI_BUSY                  // ARM7とのPXI通信がビジー中
} TPRequestResult;

参照

TP_SetCallback, TP_RequestSampling,TP_RequestAutoSamplingStart, TP_RequestAutoSamplingStop,TP_RequestSetStability

履歴

Ver. 2004/04/16 初版