VEX IQ を使用しているときに、(第 2 世代) Brain 用に構成されたプロジェクトを (第 1 世代) Brain を備えたロボットで実行したい場合があります。 これを行うには、VEXcode IQ でプロジェクトを「第 2 世代」から「第 1 世代」に変換する必要があります。
一部のシナリオでは、変換中にコードまたは構成に小さな変更が自動的に加えられますが、これらの変更は IQ (第 1 世代) Brain でのプロジェクトの実行方法には影響しません。 ただし、状況によっては、変換中にプロジェクトに変更が加えられ、(第 1 世代) Brain を備えたロボットで実行するためにプロジェクトを更新する必要がある場合があります。
外部ジャイロを使用したプロジェクトの変換 - コードの変更なし
ワークスペースで (第 2 世代) プロジェクトを開きます。 次に、「デバイス」ウィンドウのアイコンを選択します。
[デバイス] ウィンドウが開いたら、「第 1 世代」アイコンを選択します。
「第 1 世代」アイコンが青で強調表示され、プロジェクトが変換されたことを示します。 このプロジェクトを (第 1 世代) Brain で実行できるようになりました。
注: この例では、外部ジャイロはポート 4 に設定されており、更新を行う必要はありません。 第 2 世代プロジェクトに変換し直す場合は、この構成を確認する必要がある手順があります。 詳しくはこちらの記事をご覧ください。
Brain Inertial が設定されたプロジェクトの変換 - コードの変更は不要
Brain Inertial が IQ (第 2 世代) プロジェクトで構成されている場合は、外部ジャイロ センサーを構成するか、ジャイロを使用しないように更新する必要があります。
ワークスペースで (第 2 世代) プロジェクトを開きます。 次に、「デバイス」ウィンドウのアイコンを選択します。
[デバイス] ウィンドウが開いたら、「第 1 世代」アイコンを選択します。
プロジェクトを変換する必要があることを警告するメッセージが表示されます。 「続行」を選択して変換を続行します。
変換完了メッセージが開き、脳慣性センサー構成が削除されたことを警告します。 加えられた変更もリストされます。 ホット解釈ダイアログ ボックス メッセージの詳細については、以下を参照してください。
「OK」を選択して続行します。
「第 1 世代」アイコンが青で強調表示され、プロジェクトが変換されたことを示します。 このプロジェクトを (第 1 世代) Brain で実行できるようになりました。
外部ジャイロを設定するか、ジャイロを設定せずに続行する必要があります。
コードを変更してプロジェクトを変換する
ワークスペースで (第 2 世代) プロジェクトを開きます。 次に、「デバイス」ウィンドウのアイコンを選択します。
[デバイス] ウィンドウが開いたら、「第 1 世代」アイコンを選択します。
プロジェクトを変換する必要があることを警告するメッセージが表示されます。 「続行」を選択して変換を続行します。
注: このメッセージは、プロジェクト コードに変更が加えられる場合にのみ表示されます。
変換完了メッセージが開き、加えられた変更が一覧表示されます。 この例では、 {When Brain button} イベント ブロック ドロップダウン メニューが第 2 世代構成から第 1 世代構成に更新されました。
- 受信する可能性のあるさまざまなメッセージとその解釈方法の詳細については、以下のセクションを参照してください。
「OK」を選択してプロジェクトの変換を保存します。
「第 1 世代」アイコンが青で強調表示され、プロジェクトが変換されたことが示されます。 このプロジェクトを (第 1 世代) Brain で実行できるようになりました。
プロジェクト変換時のダイアログ メッセージの解釈
以下に示す条件のいずれかにより必要なコードへの変更があった場合、変換後のメッセージには「プロジェクトの変換はこれらの変更で完了しました」と表示され、その後にコードに加えられた変更のリストが表示されます。 以下は、(第 2 世代) プロジェクトを (第 1 世代) Brain で実行するように変換するときに発生する可能性のある変更です。
自動的に行われた変更に関するダイアログ メッセージ
{When Brain button} ドロップダウン メニューが更新されました
{When Brain button} ドロップダウン メニューが更新されました
ここでは、変換が完了し、 {When Brain button} ブロックのドロップダウン メニューが更新されたことを示すメッセージが表示されます。
ドロップダウンメニューが更新されました
このメッセージは、変換中に <Brain button pressed> ブロックのドロップダウン メニューが更新されたことを示します。
プロジェクトスロットが変更されました
ここでは、変換中にプロジェクト スロットが変更されたことを示すメッセージが表示されます。
コードの更新が必要な変更のダイアログ メッセージ
ドライブトレイン慣性センサーが取り外されました
このダイアログ メッセージは、変換中にドライブトレイン慣性センサー構成が削除されたことを示します。
プロジェクトが (第 2 世代) Brain に組み込まれている慣性センサーで構成されている場合、(第 1 世代) Brain と互換性を持たせるために、慣性センサーはドライブトレイン構成から削除されます。
- (第 1 世代) Brain でプロジェクトを希望どおりに実行するには、ジャイロ センサーを構成する必要がある場合があります。
一部の {When started} ブロックが無効になっています
このメッセージは、変換中に一部の {When started} ブロックが無効になったことを示します。
(第 1 世代) Brain は最大 3 つの {When started} ブロックしかサポートできませんが、(第 2 世代) Brain は最大 8 ブロックをサポートします。 (第 2 世代) プロジェクトに 3 つを超える {When started} ブロックがある場合、追加の {When started} ブロックは変換プロセス中に無効になります。 第 1 世代モードで起動すると、エクストラを有効にすることはできません。
注: ソフトウェアは、ワークスペースの左上隅から {When started} ブロックを優先します。
注: プロジェクトが第 2 世代に変換されて戻された場合、これらのブロックは自動的には有効になりません。 ワークスペースで手動で有効にする必要があります。
IQ (第 2 世代) の特定のブロックが無効になっています
このメッセージは、IQ (第 2 世代) に固有のブロックが無効になっていることを示します。
ブロックが無効になっている場合、それらはプロジェクト内で実行されません。 必要に応じてプロジェクトを実行するには、プロジェクトを更新する必要がある場合があります。
さらに、ブロック パラメーターが左に示すように IQ (第 2 世代) 固有の構成に設定されている場合、ブロックは変換時に無効になります。 このブロックは、ドロップダウン ウィンドウの「BrainInertial」パラメータを変更することで、変換後に有効にすることができます。
注: プロジェクトが第 2 世代に変換されて戻された場合、これらのブロックは自動的には有効になりません。 ワークスペースで手動で有効にする必要があります。 IQ (第 2 世代) Brain に固有のブロックを再度有効にすることはできません。
左側に示されているブロックは、IQ (第 2 世代) 固有のブロックの例です: Draw ブロックと Inertial Sensing ブロックです。 これらのブロックは、第 1 世代に変換中のプロジェクト内にある場合は無効になります。
- 注意: ジャイロセンサーと脳慣性センサーの間で共有されるブロックがいくつかあります。 これらのブロックを使用し、ジャイロを選択した場合、それらは無効になりません。 「BrainInertial」が選択されているブロックのみが無効になります。
コンソール ビューは IQ (第 1 世代) ではサポートされていないため、メニューで [コンソール] オプションが選択されているブロックは、第 1 世代プロジェクトに変換するときに無効になります。
これらのブロックは、メニュー オプションを変更すると有効になります。 左の例では「コンソール」が選択されているため、[印刷]ブロックが無効になっています。
このオプションはサポートされているため、「Brain」オプションを選択することでブロックを有効にできます。
1 つのプロジェクトに複数の変更が加えられる場合があります。 VEXcode は、左側に示すように、すべての変換を一度に実行し、すべての変更を 1 つのメッセージにリストします。