●( PS3・PS4 )コントローラは 使える?
●ゲームパッド系のPS2非互換(VS-C3)からの操作で … 受信機を経由して、ESPマイコンの動作を制御することができました。 【 ロボット専用コントローラ V-controller3 】ヴイストン社

■コントローラ [ VS-03 ] ⇔ 受信機 「 VS-RCV3 」 接続は …  ・Bluetooth通信で、ペアリングして無線接続している。 ■ESP32 ⇔ 受信機 「 VS-RCV3 」 接続は …  ・SPI通信で、有線(直結)接続している。
・ ・ ●上位機種の【PS3】コントローラ も、使えるのか? ・ ・  とても興味がありますので、試してみます。 ・
●PS3の純正コントローラです。 【 ワイヤレスコントローラー ( DUALSHOCK 3 ) 】 SONY

 → 中古品を購入しました。 … 大丈夫かしら?
●コントローラ本体に、接続先の情報を記憶しているようです。  ■接続先の情報は … (MAC)アドレス です。  ESP32の(MAC)アドレスが、セットできれば接続できそうです。
●各作業の流れです。 (STEP−1)   ■【ESP32】の … (MAC)アドレス を表示する。    @【ESP32】 ⇔ 【パソコン】間をUSB接続する。    A【パソコン】(MAC)アドレス 表示・スケッチを【ESP32】に書き込む。    B【ESP32】スケッチを実行 → 【ESP32】(MAC)アドレス の表示。 (STEP−2)   ■【ESP32】の … (MAC)アドレス を 【PS3コントローラ】に登録する。    C【PS3コントローラ】 ⇔ 【パソコン】間をUSB接続する。    D【パソコン】ツールを実行する。(呼び出し)    E【ESP32】(MAC)アドレス を入力する。    F <UPDETE>ボタン → 実行して登録(更新)する。
・ ・ (STEP−1) ・ ・  ■【ESP32】の … (MAC)アドレス を表示する。 ・
●事前に … ESP32本体の「MACアドレス」の確認です。 パソコン(ArduinolDE開発環境)に、当該ESP32をUSB接続して 【チェック@】スケッチを … 書込み → 実行して調べる。
//******************************************************** //●ESP32(本体)のチェック@ プログラム //-------------------------------------------------------- //【 各モード 】MACアドレスの表示 // @WI-FI ステーション // AWI-FI アクセスポイント // BBLE(BT) // Cイーサネット //-------------------------------------------------------- // ESPマイコン(ESP32): ESP32-CHEK-01 //********************************************************
●ESP32(本体)の「MACアドレス」です。

 → これらは、メーカ側で設定しています。
・ ・ ●MACアドレスを … プログラム内で指定した場合 ・ ・  各種(MAC)アドレスの状態は? ・
●BLE(BT)のMACアドレス … プログラム指定して調べてみます。 //******************************************************** //●ESP32(本体)のチェックA プログラム //-------------------------------------------------------- //■MACアドレスを指定する。 … 52:42:00:6F:31:C9 //-------------------------------------------------------- // ESPマイコン(ESP32): ESP32-CHEK-02 //********************************************************
●各種(MAC)アドレスの状態です。


・ ・ (STEP−2) ・ ・  ■【ESP32】 (MAC)アドレス → 【PS3コントローラ】 に登録する。 ・
●(PS3)コントローラ内記憶の … 接続先情報の確認です。 パソコンに、当該コントローラをUSB接続して、ツールを実行です。 【 SixaxisPairTool 】 *インストール要



・CurrentMaster : 現在の値 (MACアドレス) ・Change Master : 変更の値 (MACアドレス)
●(PS3)コントローラを、USB接続しました。

■テスト@ : 52:42:00:6F:31:C9  → 記憶されている接続先情報 (MACアドレス)が表示されています。
●接続先情報の変更です。

■テストA : 52:42:00:29:58:7A ・CurrentMaster : ー ・Change Master : 変更後 … 接続先(ESP32)のBIuetooth (MACアドレス) 【UPDETE】ボタンを押下して、更新(登録)する。
●再度の読込みで … 確認です。

■テストA : 52:42:00:29:58:7A  → 更新(登録)されています。 … OKです。
・ ・ ・ ●【PS3】コントローラ で … 動作確認です。 ・ ・
//******************************************************** //【ESP32・Bluetooth】PS3コントローラ入力チェック@ プログラム //-------------------------------------------------------- //・ペアリング・MACアドレス … 52:42:00:29:58:7A (テストA) //-------------------------------------------------------- // ESPマイコン(ESP32): ESP32-BT-CHEK-01 //********************************************************





■ボタンとステイック操作からの情報取得ができましたので …  ゲームパッド系(VS-C3)と同様な操作処理が、なんとか、できそうです。






・ ・ ●【PS3】コントローラ のペアリングについて ・ ・  【 PS3本体がない場合 】 ・
●ペアリング操作の手順です。 *【ESP32】と【PS3コントローラ】の双方が、同じ(MAC)アドレスが設定されていること。 @【ESP32】のプログラムを起動する。 ( 稼動している状態 ) A【PS3コントローラ】のPSボタンを押下する。( LED : 点滅 → 点灯 ) ---------------------------------------------------------- ・【ESP32】 電源OFFすれば …  【PS3コントローラ】も、自動的にOFFになる。( LED : 点灯 → 消灯 )
●( ESP32・PS3コントローラ )のペアリング時は … 双方で、同じ「 MACアドレス 」値の認識が必要となる。 どちらの値を基準にしても良いが、ESP32側の設定は、上書きされず 一時的なものですので、リセットすれば、元のMACアドレスに戻る。 また、カスタム生成した「 MACアドレス 」を使うのも、いいかも。
・ ・ ●【PS3】コントローラ の充電について ・ ・  【 PS3本体がない場合 】 ・
●パソコンが、立ち上がっている状態で … UB接続して充電します。  ■充電中  : 点滅(すべて)*1   ↓  ■充電完了 : 消灯(すべて)*1  *1 ポートランプ(コントローラ左上裏) --------------------------------------------------------------  ・パソコン側から、USB機器として …   PS3コントローラが、認識されることが必要です。
(参考) ●「ACアダプタ」充電器では、充電できないです。 ・通常は、PS3本体にUB接続しての充電ですが、スマホなどの充電で使っている。  「ACアダプタ」充電器に、USB接続しましたが … 充電できなかったです。 ・充電器は … 「USBホストコントローラ 」機能の装備が必要のようですので  パソコン接続で、充電できたのが納得です。 ・また、テレビのUSB端子にケーブル接続したら … 充電ができました。  PS3ゲームしている方は、テレビ接続しますので … この方法も、いいかも
・ ●更に、一つ上の … ・ ・  上位機種【PS4】コントローラ も、使えるのかしら? ・ ・  続いての試行です。
●PS4の純正コントローラです。 【 ワイヤレスコントローラー ( DUALSHOCK 4 ) 】 SONY

 → 綺麗な中古品を購入しましたが … 大丈夫かしら?
・ ・ ・ ●【PS4】コントローラで … 動作確認です。 ・ ・
//******************************************************** //【Bluetooth】PS4コントローラ入力チェックA プログラム //-------------------------------------------------------- // ESPマイコン(ESP32): ESP32-BT-CHEK-PS4-02 //********************************************************





 → ボタンとステイックの情報を取得できました。 … OKです。






・ ・ ・ ・ ・
●ペアリングが … できない事象が発生しました。 ・ESP32本体のメモリーに記憶している …  ペアリング時の「 MACアドレス 」が、邪魔をしているようです。  他の方も同じ事象により対応しているようですので  対応プログラムを2本作成しました。 *参考(0000000)
●登録情報の抽出です。 //******************************************************** // ESP32(Bluetooth)メモリ登録の【表示】処理@ プログラム //-------------------------------------------------------- // 【0】 … #define REMOVE_BONDED_DEVICES 0 //-------------------------------------------------------- // ESPマイコン(ESP32): ESP32-BLECHECK-DIS-01 //********************************************************
●ESP32本体に記憶している … ペアリング「 MACアドレス 」の情報です。

 → BLE接続時にペアリングされた … 「 MACアドレス 」が、2件 登録されています。
●登録情報をクリアします。 //******************************************************** // ESP32(Bluetooth)メモリ登録の【削除】処理@ プログラム //-------------------------------------------------------- // 【1】 … #define REMOVE_BONDED_DEVICES 1 //-------------------------------------------------------- // ESPマイコン(ESP32): ESP32-BLECHECK-DEL-01 //********************************************************
●クリアです。


●再接続しました。 … ペアリング OKです。

 → ペアリングされた … 「 MACアドレス 」が、1件 登録されています。
・ ・ ・ ●メモ ・ ・
----------------------------------------------------- 1回目 E (24583) PS3_L2CAP: [ps3_l2cap_send_hid] allocating buffer for sending the command failed Guru Meditation Error: Core 0 panic'ed (StoreProhibited). Exception was unhandled. ----------------------------------------------------- 2回目 assert failed: vQueueDelete queue.c:2131 (pxQueue) -----------------------------------------------------
・ ・ ・ ・ ・