| 初期化 | |||
|---|---|---|---|
| 機能 | NATOCとの通信の初期化を行う | ||
| VB書式 | Function InitNATOC(ByVal licenseKey As Long, ByVal hWnd As Long) As Integer | ||
| C書式 | short InitNATOC(int licenseKey, HWND hWnd); | ||
| 戻り値 | 0 = 正常 | -1 = 通信エラー | |
| 引数 | licenseKey | ライセンスキー | 10桁の10進数 |
| hWnd | ライブ画像表示ウィンドハンドル | NULLを指定するとライブ画像はNATOC本体に表示される | |
| 列車位置取得 | |||
|---|---|---|---|
| 機能 | 列車の現在位置や周回数等を取得する | ||
| VB書式 | Function GetTrainPosition(ByRef train_x As Integer, ByRef train_y As Integer, | ||
| ByRef train_loop As Integer, ByRef train_angle As Integer) As Integer | |||
| C書式 | short GetTrainPosition(short *train_x, short *train_y, short *train_loop, short *train_angle); | ||
| 戻り値 | 0 = 正常 | -1 = 通信エラー | |
| 引数 | train_x | 列車位置X座標 | レイアウトの座標系(640x480),左上(0,0) |
| train_y | 列車位置Y座標 | レイアウトの座標系(640x480),左上(0,0) | |
| train_loop | 列車の周回数 | 回る方向に関係なく1回転(角度変化が360以上)すると加算される | |
| train_angle | 列車の角度変化 | レイアウト中心に対する角度変化(0〜360)、 回る方向に関係なく角度が変化すると加算される |
|
| NATOC制御コマンド | |||
|---|---|---|---|
| 機能 | NATOC本体の制御をする | ||
| VB書式 | Function ControlNATOC(ByVal command As Integer) As Integer | ||
| C書式 | short ControlNATOC(short command); | ||
| 戻り値 | 0 = 正常 | -1 = 通信エラー | -2 = 引数エラー |
| 引数 | command | 制御コマンド | |
| command | SDK_AUTO_STOP | 0 | 自動運転終了(アプリケーションのプログラム) |
| SDK_AUTO_START | 1 | 自動運転開始(アプリケーションのプログラム) | |
| NATOC_AUTO_STOP | 10 | 自動運転終了(NATOC本体のプログラム) | |
| NATOC_AUTO_START | 11 | 自動運転開始(NATOC本体のプログラム) | |
| 自動運転のプログラムをアプリケーション側のものを使うかNATOC本体側のものを使うかで 使うコマンドが異なります。アプリケーションでプログラムを作った時はSDK_AUTO_STARTで開始してください。 | |||
| レイアウト制御コマンド | |||
|---|---|---|---|
| 機能 | レイアウトの制御をする | ||
| VB書式 | Function ControlLayout(ByVal command As Integer) As Integer | ||
| C書式 | short ControlLayout(short command); | ||
| 戻り値 | 0 = 正常 | -1 = 通信エラー | -2 = 引数エラー |
| 引数 | command | 制御コマンド | |
| command | LAYOUT_TRAIN_STOP | 0 | 列車停止 |
| LAYOUT_TRAIN_FORWARD | 1 | 列車前進(時計回り) | |
| LAYOUT_TRAIN_BACKWARD | 2 | 列車後進(反時計回り) | |
| LAYOUT_POINT_LOOP | 3 | ポイント1切り替え(ループ側) | |
| LAYOUT_POINT_HOME | 4 | ポイント1切り替え(ホーム側) | |
| LAYOUT_POINT2_LEFT | 5 | ポイント2左切り替え | |
| LAYOUT_POINT2_RIGHT | 6 | ポイント2右切り替え | |
| サウンド制御コマンド | |||
|---|---|---|---|
| 機能 | サウンドの制御をする | ||
| VB書式 | Function ControlSound(ByVal command As Integer, ByVal sound_no As Integer) As Integer | ||
| C書式 | short ControlSound(short command, short sound_no); | ||
| 戻り値 | 0 = 正常 | -1 = 通信エラー | -2 = 引数(command)エラー |
| -3 = 引数(sound_no)エラー | |||
| 引数 | command | 制御コマンド | |
| sound_no | サウンド番号 | 1〜100 | |
| command | SOUND_PLAY_STOP | 0 | サウンド再生停止 |
| SOUND_PLAY_START | 1 | サウンド再生 | |
| SOUND_PLAY_LOOP | 2 | サウンド繰返し再生 | |
| SOUND_INIT_OVERLAP | 3 | 重ね合わせ準備 | |
| SOUND_INIT_OVERLAPは、別のサウンドを再生中にこの番号のサウンドを重ねる時に用います。 このコマンドは処理に時間がかかるため自動運転開始直後に行ってください。(実行中だとタイミングがずれます) なおこのコマンドを行っていないサウンド番号のものを再生をすると前のサウンドは停止されます。 |
|||
| オプション出力制御コマンド | |||
|---|---|---|---|
| 機能 | オプションのリレーの制御をする | ||
| VB書式 | Function ControlOption(ByVal command As Integer, ByVal relay_no As Integer) As Integer | ||
| C書式 | short ControlOption(short command, short relay_no); | ||
| 戻り値 | 0 = 正常 | -1 = 通信エラー | -2 = 引数(command)エラー |
| -3 = 引数(sound_no)エラー | |||
| 引数 | command | 制御コマンド | |
| relay_no | リレー番号 | 7〜10 | |
| command | OPTION_RELAY_OFF | 0 | オプション出力オフ |
| OPTION_RELAY_ON | 1 | オプション出力オン | |
| コントローラー状態取得 | |||
|---|---|---|---|
| 機能 | 本体のコントローラーの状態を取得する | ||
| VB書式 | Function GetControlStatus(ByRef status As Integer) As Integer | ||
| C書式 | short GetControlStaus(short *status); | ||
| 戻り値 | 0 = 正常 | -1 = 通信エラー | |
| 引数 | status | スイッチ状態 | |
| status | CONTROL_STATUS_POWER | 0x01(&H1) | 電源スイッチ(電源オフ) |
| CONTROL_STATUS_START | 0x02(&H2) | 運転/停止(運転) | |
| CONTROL_STATUS_DIRECT | 0x04(&H4) | 進行方向スイッチ(反時計周り) | |
| CONTROL_STATUS_POINT | 0x08(&H8) | ポイント1切り替えスイッチ(ホーム側) | |
| CONTROL_STATUS_POINT2 | 0x10(&H10) | ポイント2切り替えスイッチ(右側) | |
| CONTROL_STATUS_AUTO | 0x20(&H20) | 自動運転スイッチ(自動運転) | |
| スイッチの状態はstatusのビットで返されます。 ビットがONの時はスイッチが上記カッコ内の状態であることを表します。 |
|||