2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IPFactory(現役生)Advent Calendar 2024

Day 5

ジャンクのベースステーション2.0を直したお話

Last updated at Posted at 2024-12-04

IPFactory Advent Calender 2024 5日目の記事です。

       _?_
      /___\
     (| |@|)       _     _       _     _   _
    [|||||||]     | |   (_) __ _| |__ | |_| |__   ___  _   _ ___  ___
     |\    |      | |   | |/ _` | '_ \| __| '_ \ / _ \| | | / __|/ _ \
     |##\  |      | |___| | (_| | | | | |_| | | | (_) | |_| \__ \  __/
     |\###\|      |_____|_|\__, |_| |_|\__|_| |_|\___/ \__,_|___/\___|
     |  \##|               |___/
     |    \|
     |\    |       ____                   ____  _        _   _
     |##\  |      | __ )  __ _ ___  ___  / ___|| |_ __ _| |_(_) ___  _ __
     |\###\|      |  _ \ / _` / __|/ _ \ \___ \| __/ _` | __| |/ _ \| '_ \
     |  \##|      | |_) | (_| \__ \  __/  ___) | || (_| | |_| | (_) | | | |
     | _  \|   .  |____/ \__,_|___/\___| |____/ \__\__,_|\__|_|\___/|_| |_|
   _.~ . = |_  .`,
  /   - ~ "  -._)))

ベースステーション起動時に出るアスキーアート

はじめに

こんにちは。0kqです。
ジャンクで買ったベースステーションを直したので記録として残しておきます。

悪化するリスクもあるので手順を実行する場合は自己責任でお願いします。

ブートローダーが壊れている場合DFUが行えません。
ハードウェアの故障の場合、この方法では直りません!

症状

誤ってベースステーション1.0用の復旧ファームウェアを焼いてしまい白点灯 -> 青点滅 -> 白点灯(若干点滅)という状態に陥り、ベースステーション2.0用のファームウェアを焼いても起動しなくなってしまった。
また、SteamVRやBLEでデバイスを検索するとLHB-00000000という名前になってしまっていた。

ベースステーションへのアクセス方法

BLE

BLEモジュールにnordic社製のnRF52832が使われている
nrf connectとかで接続できる
DFUも可能
https://fccid.io/NM82QCJ100/Internal-Photos/Internal-Photos-6499590

USB-UART

USB-UARTが内蔵されているため、PCに接続してtera termで開くとコンソールからコマンドを叩ける

必要なもの

  • USBケーブル
    • 片側がMicroBでPCと接続できるもの
  • nRF Connect for Mobile
  • Tera Term
  • 針金等の細い物
    • 裏のボタンを押せるもの
  • DFU用のデータ
    • "C:\Program Files (x86)\Steam\steamapps\common\SteamVR\tools\lighthouse\firmware\lighthouse_tx_vader\archive\428\lighthouse_tx_vader_radio_full_dfu.v2_9_2004771.zip"
    • nRF Connect for Mobileをインストールしたスマホに転送しておく

手順

1. DFUモードに入る

ベースステーションの裏のボタンを押しながら電源ケーブルを接続する。
この際、ベースステーションのLEDは点灯しない。

2. BLEでベースステーションへ接続する

nRF Connect for Mobileを起動し、LHB-DFUというデバイスを探し、CONNECTボタンを押す。

3. DFUを行う

画面上部のDFUボタンを押してlighthouse_tx_vader_radio_full_dfu.v2_9_2004771.zipを選択する。
Androidの場合はダイアログでzipを選択する。

4. ベースステーションの電源を入れる

DFUが終了したら一度電源ケーブルを抜き、再度電源ケーブルを接続する。
症状によってはここで直っている場合もあるかもしれない。

5. Tera Termで接続する

ベースステーションをUSBケーブルでPCと接続し、Tera Termを起動する。
Enterキーを押してlhtx>という表示が出たら成功。
USBシリアルデバイスとして認識しているはず。

一瞬しか認識されない場合やLighthouse Base Stationのアスキーアートが何度も流れてくる場合はブートループを起こしている可能性が高い。
その場合は電源ケーブルを何度も抜き差ししてブートループが起こらないことを祈る。

  • 私の場合は白点灯-> 青点滅 -> 白点灯(若干点滅)でブートループしていたが、10~20回ほど再起動を行ったところ赤点滅になりセンサーのログが大量に流れるようになった。
    ログはparam default-allで非表示にできる。

6. キャリブレーション値を取得する。

param listを実行しfcal.*の値をすべてメモしておく。

7. パーティションを削除する

param partを実行しパーティションがあることを確認する。
以下のコマンドで各パーティションを削除する。

param erase 0
param erase 1
param erase 2

param partを再度実行しEMPTYになっていることを確認する。

8. レーザーのキャリブレーションを行う

factory laser-calを実行し、数値を聞かれたら100~200※ぐらいの数値を入力してキャリブレーションを行う。
factory save-calを実行し、値を保存したら再起動を行う。
※レーザーの出力値と思われる。要検証

9. その他のキャリブレーション値を書き込む

手順6で取得したfcal.*の値をparam set fcal.* 値で書き込む。
取得した値が全て0の場合等は以下の値を入力する。

param set fcal.0.tilt -0.055352
param set fcal.0.curve 0.103930
param set fcal.0.gibphase 2.318623
param set fcal.0.gibmag -0.004410
param set fcal.0.ogeephase 0.129396
param set fcal.0.ogeemag -0.043033
param set fcal.1.tilt 0.042486
param set fcal.1.phase -0.005831
param set fcal.1.curve 0.159787
param set fcal.1.gibphase 1.944709
param set fcal.1.gibmag -0.001524
param set fcal.1.ogeephase 1.878604
param set fcal.1.ogeemag -0.161527

この値は本来個体ごとのキャリブレーションで決まる値なので不具合が出る可能性があります
※キャリブレーション用のコマンドが見当たらなかった

値を書き込んだらparam listで値が書き込まれていることを確認し、param saveを実行し再起動。
LEDが緑色に光れば修理完了です。お疲れさまでした。

謝辞

@Yuba32 さん。調査、修理の多大なるご協力に感謝します。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?