YAMAHA RTX Seriese の初期化をTeraTermのマクロで半自動化 

# 概要
- 自宅に大量にあるYAMAHA RTX Seriese をワンクリックで初期化できるようにする。

# 前提条件
- Windows OSで実行する。
- TeraTerm をインストール済みであること

# 本題
## TeraTerm マクロ実行環境の準備

- TeraTerm および TeraTermマクロファイルを下記に配置することを前提に記述する

|項目| 配置場所 |
|:------------------------------:|:-------------------------------------------:|
| TeraTerm 実行ファイルの配置場所  | C:\Program Files (x86)\teraterm\ttermpro.exe|
| TeraTerm Macroファイルの配置場所   | %USERPROFILE%\Documents\TeraTerm\macro\rtx_reset.ttl   |

1. 　ショートカットを作成する
    1. 　デスクトップなどの適当な場所にショートカットを作成する。
    2. 　リンク先(T) に TeraTerm実行ファイルへのフルパス + `/M=` の後にマクロファイルへのフルパスを指定する。
    3. 　作業フォルダー(S) にTeraTerm実行ファイルが配置されているフォルダーを指定する。

|項目| パラメータ |
|:---------------:|:---------------------------------------------------------------------------------------:|
|　リンク先(T):  　| "C:\Program Files (x86)\teraterm\ttermpro.exe" /M="%USERPROFILE%\TeraTerm\macro\wsl.ttl" |
|作業フォルダー(S) | "C:\Program Files (x86)\teraterm"                                                       |

## Console 接続で使うポート番号を確認する。

-　TeraTermを起動し　`‘シリアル(E)` 欄で　COMポート番号を確認する。
    -　今回は `COM 3` として扱う



## TeraTerm マクロの記述

- COMPORTに使用する COMポートの番号を指定する
- パスワードは緊急用に用意されているものを利用する

```ttl:macro\wsl.ttl
;=====================================================================
; 接続情報
;=====================================================================

COMPORT  = '3'
ADMIN_PASSWORD = 'w,lXlma'

;=====================================================================
; コンソール接続
;=====================================================================

; コンソール接続開始
CONSOLE = '/C='
 strconcat CONSOLE COMPORT
 connect CONSOLE

; ログイン認証
sendln
wait 'word:'
sendln ADMIN_PASSWORD

; 初期化実行
wait '#'
sendln 'cold start'
wait 'word:'
sendln ADMIN_PASSWORD

; マクロの終了
end

; TeraTermウィンドウを閉じる
closett 
```

- 保存して準備完了。

- RTXのコンソールポートとパソコンを接続したうえで作成したショートカットをダブルクリックで実行可能



# おまけ

## 初期化実行前にconfig を取得するかを問う

- config　を取得素r化をメッセージボックスで選択する

```ttl:macro\wsl.ttl
;=====================================================================
; 接続情報
;=====================================================================

COMPORT  = '3'
ADMIN_PASSWORD = 'w,lXlma'

;=====================================================================
; コンソール接続
;=====================================================================

; コンソール接続開始
CONSOLE = '/C='
 strconcat CONSOLE COMPORT
 connect CONSOLE

; ログイン認証
sendln
wait 'word:'
sendln ADMIN_PASSWORD

; configの取得 
yesnobox '現在のConfigを取得しますか?' 'Tera Term'
if result = 1  then
    sendln 'show config'
endif

; 初期化実行
wait '#'
sendln 'cold start'
wait 'word:'
sendln ADMIN_PASSWORD

; マクロの終了
end

; TeraTermウィンドウを閉じる
closett 
````

## 大いなる権限には大いなる責任が伴う

- 初期化前に最終確認を出すようにする。

```ttl:macro\wsl.ttl
;=====================================================================
; 接続情報
;=====================================================================

COMPORT  = '3'
ADMIN_PASSWORD = 'w,lXlma'

;=====================================================================
; コンソール接続
;=====================================================================

; コンソール接続開始
CONSOLE = '/C='
 strconcat CONSOLE COMPORT
 connect CONSOLE

; ログイン認証
sendln
wait 'word:'
sendln ADMIN_PASSWORD

; 初期化の確認
yesnobox '初期化を実行しますか?' '最終確認'
if result = 1  then
 ; 初期化実行
 wait '#'
 sendln 'cold start'
 wait 'word:'
 sendln ADMIN_PASSWORD

endif
 messagebox '初期化はキャンセルされました。' '実行のキャンセル'


; TeraTermの終了の確認
yesnobox 'TeraTermを終了しますか?' 'TeraTermの終了'
if result = 1  then
 ; TeraTermウィンドウを閉じる
 closett 
endif

 ; ログアウトのみ実行
 sendln 
 wait '#'
 sendln 'exit'
 wait '>'
 sendln 'exit'

; マクロの終了
end


; TeraTermウィンドウを閉じる
closett 
````