Joy-Con Operation Tester

使い方

  1. Joy-ConもしくはPro ControllerをPCに接続する。
  2. Windows10の場合

    1. スタートから設定を開く。
    2. 設定内のデバイス>Bluetoothとその他のデバイスを開く。
    3. 一番上にある「Bluetoothまたはその他のデバイスを追加する」を押し、Bluetoothを選択する。
    4. Joy-Conの側面にあるシンクロボタンを長押しし、プレイヤーランプを点滅状態にする。
    5. PCにJoy-Con(X)もしくはPro Controllerと表示されるのでそれを選択し、接続させる。
    6. もしも5.でJoy-Conを選択したにもかかわらず接続が完了されない場合は、Bluetoothのトラブルシューティング(設定>更新とセキュリティ>トラブルシューティング>追加のトラブルシューティングツール>Bluetooth)を行うかPCを再起動させると解決する場合がある。

  3. 以下にあるConnectボタンを選択し、表示されたポップアップの中からWireless Gamepadを選択する。ここで選択できるコントローラがない場合は、PCとコントローラとのペアリングが出来ていないことになる。

Home

Joy-Conの基本的な機能(ボタン操作、加速度センサー、ジャイロスコープ、プレイヤーランプの操作、HD振動等)を行う。

Device Information

使い方

  1. Getを押すだけ。
Firmware Version
Controller Type
Bluetooth device address
Color?

Input report

使い方

  1. Simple HID modeもしくはStandard input modeのどちらを選択する。(デフォルトではSimple HID modeが選択されている。)
  2. 6-Axis sensor(加速度センサーとジャイロスコープ)を使用したい場合は、Standard input modeに変更し、Enable IMUを選択する。
Timer
Battery Level
Connection Information

Joy-Con (R)

SL
SR
Y
🏠
B
X
R
ZR
A

Joy-Con (L)

SL
SR
ZL
L

Pro Controller

ZL
ZR
L
R
X
🏠
Y
A
B

6-Axis sensor

Accelerometer [G] (0ms)
Accelerometer [G] (5ms)
Accelerometer [G] (10ms)
Gyroscope [dps] (0ms)
Gyroscope [dps] (5ms)
Gyroscope [dps] (10ms)

Player Lights

使い方

  1. Enableを押すとその部分のランプが光る。
  2. なお、Light onとFlashではLight onが優先される。(Joy-Conの仕様)
1
2
3
4
Light on
Flash

HD Rumble

使い方

  1. Enable Rumbleを選択する。
  2. Frequency(周波数)とAmplitude(振幅)を入力し、Setボタンを押す。
  3. なお、FrequencyはHigh bandで82 Hz以上1253以下、Low bandで41 Hz以上626Hz以下、Amplitudeは0以上1以下となっている。
Left
Right
Frequency [Hz]
Amplitude
Frequency [Hz]
Amplitude

NFC/IR

Joy-Con内のNFCリーダーとIRカメラは、MCU(STM32F411)を介して操作される。

使い方

  1. Setting for NFC/IR内のToggle input modeをNFC/IR modeに変更し、MCUからパケットを送信されるようにする。
  2. Setting for NFC/IR内のResumeをNFC/IR modeに変更し、MCUを起動する。
  3. Request MCU state内のNFC modeボタン、もしくはIR modeボタンのどちらか目的とするボタンを押す。
  4. Request MCU state内のGetボタンを押して、MCU Stateが3. で押したモードに変更されているか確認する。変更されてなければ3.からやり直す。
  5. これでNFCもしくはIRの機能が使用可能となる。

Setting for NFC/IR

Set MCU state

Request MCU state

MCU Firmware version
MCU State

NFC mode

今のところ、NFCタグとのPollingとその時に取得されるデータの表示のみを実装している。なお、使えるNFCタグの種類は問わないので、AmiiboやSuica、マイナンバーカード等様々なカードが読み込める(はず)。

使い方

  1. 上にあるフォームを用いて、NFCモードに切り替える。
  2. Polling to target内のPollingボタンを押して、スピナーが回っている間(5秒ほど)にコントローラにNFCタグをかざすと、データが取得される。

<NFC> Polling to target

NFC Result
Input Type
NFC IC State
NFC Tag IC
NFC Type
UID/IDm

SPI Flash Memory

Joy-Con内のSPI Flash MemoryにはBluetoothで用いられるペアリングのための情報や、キャリブレーションなどの情報が保存されている。以下では、それらの情報を表示させている。SPI Flash Memory内のすべてのデータを取得したい場合はHex Dumpを用いると良い。

使い方

  1. "Get all dataボタン"を押すだけ

Initial PatchRAM (0x0000)

Loader Magic
Bluetooth device address

Failsafe machanism (0x1000)

OTA Signature Magic
Dynamic Section Offset2

Pairing infomation (0x2000)

Which section is used?

Section 1

Host Bluetooth address
Host capabilities
Bluetooth Long Term Key

Section 2

Host Bluetooth address
Host capabilities
Bluetooth Long Term Key

Factory Configuration and Calibration (0x6000)

Serial number
Device type

Accelerometer factory calibration

X origin position
Y origin position
Z origin position
X sensitivity coefficient
Y sensitivity coefficient
Z sensitivity coefficient

Gyroscope factory calibration

X origin position
Y origin position
Z origin position
X sensitivity coefficient
Y sensitivity coefficient
Z sensitivity coefficient

Left analog stick factory calibration

X max above center
Y max above center
X center
Y center
X min below center
Y min below center

Right analog stick factory calibration

X center
Y center
X min below center
Y min below center
X man above center
Y max above center

Controller color

Body
Buttons
Left grip
Right grip

6-Axis Horizontal offset

X axis
Y axis
Z axis

Stick parameters

1
2

User Calibration (0x8000)

Left analog stick user calibration

Is user calibration being used?
X max above center
Y max above center
X center
Y center
X min below center
Y min below center

Right analog stick user calibration

Is user calibration being used?
X center
Y center
X min below center
Y min below center
X man above center
Y max above center

6Axis sensor user calibration

Is user calibration being used?

Accelerometer user calibration

X origin position
Y origin position
Z origin position
X sensitivity coefficient
Y sensitivity coefficient
Z sensitivity coefficient

Gyroscope user calibration

X origin position
Y origin position
Z origin position
X sensitivity coefficient
Y sensitivity coefficient
Z sensitivity coefficient

SPI Flash Memory Hex Dump

SPI Flash Memory内の一部のHex dumpを取得する。デフォルトでは0x00000から0x28000の間にデータが保存されている。なお、このSPI Flash Memory内の詳細についてはSPI Flash Memory Information | Nintendo_Switch_Reverse_Engineeringを参照するとよい。

使い方

  1. Head addressに読み込みたいデータの先頭のアドレスを、Lengthには読み込みたいデータの長さを入力する。
  2. Sendボタンを押して、数秒待つ(Lengthを0x4000とした場合、40秒ほど)とResultにSPI Flash MemoryのHex dumpが表示される。
  3. なお、Lengthは最大0x4000(16384)まで読み込める。

Hex dump

Use Hex
Use Hex

Settings

Result

Setting

Advanced settings