シミュレーターの起動を行うサンプル。
# AutomationConnectIQ.Libの記述が面倒なので以下の設定をしておく
using namespace AutomationConnectIQ.Lib;
# SDK環境の作成
$sdk = New-Object GarminSDK -Property @{
Key = "developer_key"
}
# プロジェクトファイルの読み込み
$proj = New-Object Jungle("DigiFuse\monkey.jungle")
$deviceName = "fr45"
# プロジェクトのビルド
# 実行形式はプロジェクトの下のbinの下に配置。
$sdk.BuildProgram($proj, $deviceName)
ここまでは前回からのサンプルで解説があった部分になる。
異なるのは、デバイス名の指定に変数を使用した点。
# シミュレーターの起動と起動待ち
$sim = New-Object Simulator($sdk)
$sim.WaitForInput()
# シミュレーターにプログラムをロードとロード完了待ち
$sdk.StartProgram($proj.DefaultProgramPath, $deviceName)
$sim.WaitForDeviceStart()
# シミュレーターを終了させる
$sim.Close()
上記の部分が、シミュレーター起動に関する肝の部分。
- 2,3行目で、シミュレーターの起動。
WaitForInpuptでシミュレーターで入力ができる状態になるまで待つ。
Win32APIで作成する画面でも同様なAPIがありそれに似せて作成してある。 - 6,7行目で、シミュレーターにプログラムをロードして表示させている。
WaitForDeviceStartは、シミュレーターにプログラムがロードされるまで待つ。 - DefaultProgramPathは、$sdk.BuildProgram($proj, $deviceName)でビルドされたプログラムのパスを表しているものになる。
- 最後の行はシミュレーターを停止し終了させるコード。
なので、このスクリプトを実行すると、ちょっとだけシミュレーターが開いて、すぐ閉じるといった動作になっている。
コメント