• 検索結果がありません。

タッチパラメータ設定関数:touch_parameter_set()

4. ソフトウェア説明

5.3 タッチパラメータ設定関数:touch_parameter_set()

図5.3にフローチャートを示します。

タッチパラメータ設定 touch_parameter_set()

タッチシステムフラグ初期化(0クリア)

終了 計測方式数ループ method = 0,1,2…METHOD_NUM

計測方式数ループ タッチパラメータ初期設定

タッチ機能初期設定

タッチキャリブレーションデータ初期化(0クリア)

タッチ/非タッチ結果クリア(0クリア)

キーパラメータ初期設定 スライダパラメータ初期設定 ホイールパラメータ初期設定

タッチセンサ番号に計測チャネル番号 割り当て処理

touch_sensor_index_set()

図5.3 タッチパラメータ設定関数

5.4 タッチセンサ番号に計測チャネル番号を付与する処理:touch_sensor_index_set()

図5.4にフローチャートを示します。

タッチセンサ番号に計測 チャネル番号割り当て処理

touch_sensor_index_set()

計測モードチェック

タッチセンサグループループ タッチセンサ数設定 自己容量

タッチセンサ数確認

タッチセンサ数ループ

タッチセンサ機能 有効チェック

キー番号設定 タッチセンサ未使用設定

タッチセンサ数ループ

タッチセンサグループ切り換え

タッチセンサグループループ

終了 有効

無効 相互容量

マトリクス数設定

マトリクス数ループ

マトリクスキー機能 有効チェック

キー番号設定 タッチセンサ未使用設定

マトリクス数ループ 有効

無効

図5.4 タッチセンサ番号に計測チャネル番号を付与する処理関数

5.5 タッチキャリブレーション処理関数:touch_calibration()

図5.5にフローチャートを示します。

フラグON キャリブレーション

完了フラグ確認 フラグOFF

タッチキャリブレーション処理 touch_calibration()

計測モードチェック

自己容量

タッチキー数ループ

キー機能チェック

タッチ初期基準値設定 touch_initial_reference_set()

キー

タッチキー数ループ

マトリクスキー数ループ

スライダ or ホイール 相互容量

キー機能チェック

タッチ初期基準値設定 touch_initial_reference_set()

有効

マトリクス数ループ

無効

キャリブレーション 終了チェック

キャリブレーションカウンタクリア 終了

キャリブレーションデータ 蓄積回数インクリメント 継続

終了

5.6 タッチ初期基準値設定関数:touch_initial_reference_set()

図5.6にフローチャートを示します。

タッチ初期基準値設定 touch_initial_reference_set()

有効キー数ループ

組み合わせデータループ

データ比較 最大番号>最大番号-loop

loopカウンタインクリメント

最大番号<最大番号-loop

最大番号>最大番号-loop

組み合わせデータループ

基準値設定

有効キー数ループ キャリブレーションデータ

蓄積回数チェック

自己容量データ蓄積 蓄積完了

相互容量データ蓄積 蓄積未完了

計測モードチェック

6通り組み合わせ キャリブレーションデータ

最大番号更新

キャリブレーション完了フラグON

終了

自己容量

相互容量

図5.6 タッチ初期基準値設定関数

5.7 タッチデコード処理関数:touch_key_decode()

図5.7にフローチャートを示します。

タッチデコード処理 touch_key_decode()

タッチ/非タッチ判断パラメータ生成処理 touch_judgement_parameter_create()

キーグループ判断

グループ0設定 キー番号グループオフセット設定

グループ1設定 キー番号グループオフセット設定

グループ2設定 キー番号グループオフセット設定

グループ3設定 キー番号グループオフセット設定 グループ0

グループ1 グループ2 グループ3

キータッチ/非タッチ機能 チェック

タッチ/非タッチ判断処理 touch_judgement() タッチドリフト補正処理 touch_drift_correction()

アドレスインクリメント判断

データアドレスインクリメント データ先頭へ初期化 キー有効

インクリメント

初期化(0セット)

終了

キー無効

その他

5.8 タッチ/非タッチ判断パラメータ生成関数:touch_judgement_parameter_create()

図5.8にフローチャートを示します。

タッチ変化量有無判断 基準値<計測値

終了 有り

無し

タッチ変化量算出

計測値ー基準値 タッチ変化量0設定

センサデータオーバー処理 タッチ/非タッチ判断パラメータ生成処理 touch_judgement_parameter_create()

計測モードチェック

自己容量

相互容量

タッチ/非タッチ判断しきい値 オーバー判断

タッチ/非タッチ判断しきい値演算 基準値+ユーザー設定タッチ/非タッ

チ判断しきい値 オーバー無し

タッチ/非タッチ判断しきい値65535 設定

無し

タッチ変化量有無判断 基準値>計測値

有り

無し

タッチ変化量算出

基準値ー計測値 タッチ変化量0設定

センサデータオーバー処理

タッチ/非タッチ判断しきい値 オーバー判断

タッチ/非タッチ判断しきい値演算 基準値ーユーザー設定タッチ/非タッ

チ判断しきい値 オーバー無し

タッチ/非タッチ判断しきい値0設定 無し

図5.8 タッチ/非タッチ判断パラメータ生成関数

5.9 タッチ/非タッチ判断処理関数:touch_judgement()

図5.9にフローチャートを示します。動作の詳細は、「6.3項 タッチ/非タッチ判断」を参照して下さい。

大小比較(0演算防止)

タッチ/非タッチ判断しきい値

>ヒステリシス値

終了 YES

No

ヒステリシス値適用

内部タッチフラグON タッチ非タッチ判断 タッチ/非タッチ判断しきい値

<計測値 Yes

No

内部タッチフラグOFF タッチ/非タッチ判断処理

touch_judgement()

計測モードチェック 自己容量

相互容量

ヒステリシス値適用 最大65535

内部タッチフラグON タッチ非タッチ判断 タッチ/非タッチ判断しきい値

>計測値 Yes

No

内部タッチフラグOFF

内部タッチフラグチェック

タッチ判断

(連続タッチカウンタ比較)

フラグON

外部タッチフラグON タッチカウンタ一致

タッチカウンタインクリメント タッチカウンタ不一致

非タッチ判断

(連続非タッチカウンタ比較)

外部タッチフラグOFF 非タッチカウンタ一致

非タッチカウンタインクリメント 非タッチカウンタ不一致

フラグOFF

非タッチカウンタ0クリア タッチカウンタ0クリア

連速タッチキャンセル機能 有効無効チェック

強制タッチOFF 有効

連速タッチキャンセル 回数確認 回数到達

タッチ/非タッチ結果生成

回数未到達 無効

5.10 タッチドリフト補正処理関数:touch_drift_correction()

図5.10にフローチャートを示します。動作の詳細は、「6.4項 ドリフト補正」を参照して下さい。

ドリフト機能有効/無効チェック

終了 有効

計測データ蓄積

ドリフト補正カウンタ=1設定 各タッチセンサドリフト 動作有効無効チェック

有効

回数>=カウンタ ドリフト補正回数越えチェック

(Workbenchからの値変更対応)

回数以上

ドリフト補正回数<=

ドリフト補正カウンタ

回数未満 ドリフト補正カウンタインクリメント

回数<=カウンタ

基準値補正

ドリフト補正カウンタ0クリア 蓄積計測データ0クリア

ドリフト補正カウンタ0クリア 蓄積計測データ0クリア 無効

タッチドリフト補正処理 touch_drift_correction()

ドリフト補正回数0チェック

0

0以外 無効

図5.10 タッチドリフト補正処理関数

5.11 タッチキー機能有効/無効確認処理関数:touch_key_function_check()

図5.11にフローチャートを示します。

キー機能チェック

終了 有効

無効

キー機能有効 キー機能無効

キーグループチェック

グループ番号0設定 グループキー番号オフセット設定

グループ0

グループ1

グループ番号1設定 グループキー番号オフセット設定

グループ2

グループ番号2設定 グループキー番号オフセット設定

その他

キー機能無効 タッチキー機能有効/無効確認処理

touch_key_function_check()

グループ番号3設定 グループキー番号オフセット設定

グループ3

図5.11 タッチキー機能有効/無効確認処理関数

5.12 電流オフセットチューニング停止判断処理関数:offset_tuning_stop_judgement()

図5.12にフローチャートを示します。

キーまたは、マトリクス タッチチェック

電流オフセットチューニング停止判断処理

offset_tuning_stop_judgement

()

スライダ タッチチェック 電流オフセットチューニング

停止フラグON

電流オフセットチューニング 停止フラグON

電流オフセットチューニング 停止フラグON

ホイール タッチチェック 電流オフセットチューニング

停止フラグOFF

タッチ有り

タッチ有り

タッチ有り

終了

タッチ無し

タッチ無し

タッチ無し

図5.12 電流オフセットチューニング停止判断処理関数

5.13 CTSU センサデータアドレス設定関数:ctsu_sensor_average_address_set()

図5.13にフローチャートを示します。

CTSUセンサデータアドレス設定 ctsu_sensor_average_address_set()

下記のパラメータアドレスを構造体へセット  ・DTC転送データ

 ・CTSUセンサICOデータ  ・CTSUリファレンスICOデータ  ・センサ移動加算データ  ・リファレンス移動加算データ  ・センサデータ

 ・リファレンスデータ  ・CTSUSSCレジスタデータ  ・CTSUSO0レジスタデータ  ・CTSUSO1レジスタデータ  ・CTSUCHAC0-1レジスタデータ  ・CTSUCHAC2-3レジスタデータ  ・CTSUCHAC4レジスタデータ

終了

図5.13 CTSUセンサデータアドレス設定関数

5.14 CTSU レジスタ初期値 RAM 設定関数:CTSU_register_initial_value_ram_set()

図5.14にフローチャートを示します。

CTSUレジスタ初期値RAM設定 CTSU_register_initial_value_ram_set()

終了 計測方式数ループ method = 0,1,2…METHOD_NUM

計測方式数ループ タッチパラメータ初期設定

 ・CTSU 制御レジスタ0(CTSUCR0)

 ・CTSU 制御レジスタ1(CTSUCR1)

 ・CTSU 同期ノイズ低減設定レジスタ(CTSUSDPRS)

 ・CTSU センサ安定待ち時間レジスタ(CTSUSST)

 ・CTSU 計測チャネルレジスタ0(CTSUMCH0)

 ・CTSU チャネル有効制御レジスタ0-1(CTSUCHAC0-1)

 ・CTSU チャネル送受信制御レジスタ0-1(CTSUCHTRC0-1)

 ・CTSU 高域ノイズ低減制御レジスタ(CTSUDCLKC)

図5.14 CTSUレジスタ初期値RAM設定関数

関連したドキュメント