将 IQ(第二代)程序转换与 IQ(第一代)主控器一起使用

在使用 VEX IQ 时,你可能希望在具有(第一代)主控器的机器人上运行为(第二代)主控器配置的程序。 要这样做,你将需要在 VEXcode IQ 中转换你的程序,从‘第二代’到‘第一代’。

第一代.png

在某些情况下,转换过程中代码或配置的轻微更改会自动进行,并且这些更改将不会影响你的程序如何在 IQ(第一代)主控器上运行。 但是,在某些情况下,在转换过程中做出的程序更改,需要更新程序以便在一台带有(第一代)主控器的机器人上运行。

本文将涵盖以下内容:


转换一个带外部陀螺仪的程序 - 代码无变动

设备_图标.第二代.png

在工作区中打开(第二代)程序。 然后,选择设备窗口图标。

选择_第一代_按键.png

当设备窗口打开后,选择‘第一代’图标。 

第一代_蓝色高亮.png

‘第一代’图标将蓝色高亮来显示程序已经被转换。 现在你可以在(第一代)主控器上运行这个程序。

注意:在本例中外部陀螺仪配置为4号端口并且无需做出更新。 如果你要转换回第二代程序,有一步你将需要确认配置。 更多信息请查阅这篇文章。


转换一个已配置主控器惯性仪程序 - 代码无变动

如果主控器惯性仪已配置在 IQ(第二代)程序中,你将需要更新配置一个外部陀螺仪或者无陀螺仪。

设备_图标.第二代.png

在工作区中打开(第二代)程序。 然后,选择设备窗口图标。

选择_第一代_bl.png

打开“设备”窗口后,选择“第一代”图标。

第二代_程序_需要_被转换.png

将出现一条消息来提醒你程序将需要被转换。 选择“继续”以继续转换。

程序_转换_已完成_惯性仪_配置_已移除.png

转换完成消息将打开提醒你,主控器惯性仪配置已被移除。 它也将列出任何已做出的更改。 更过关于如何解释对话框消息的信息,请查阅以下内容。

选择‘确定’继续。

 

第一代_无陀螺仪.png

‘第一代’图标将蓝色高亮来显示程序已经被转换。 现在你可以在(第一代)主控器上运行这个程序。

你将需要配置一个外部陀螺仪,或者以无陀螺仪配置继续。


转换一个代码更改的程序

选择_设备_图标2-1.png

在工作区中打开(第二代)程序。 然后,选择设备窗口图标。

选择_第一代.png

当设备窗口打开后,选择‘第一代’图标。

截图_2021-09-22_at_3.20.03_PM.png

一条消息将显示出来提醒你程序需要被转换。 选择‘继续’来进行转换。

注意:只有更改已实施到程序代码时才会打开这条消息。

选择_确定_转换.png

转换完成消息将打开并列出所做的任何更改。 在本例中,{When Brain button}事件指令块下拉菜单从第二代被更新为第一代配置。

  • 更多关于你可能收到的不同消息,以及如何解释它们,请查阅以下部分。

选择‘完成’来保存程序转换。

第一代_图标.png

‘第一代’图标将蓝色高亮来显示程序已经被转换。 现在你可以在(第一代)主控器上运行这个程序。


解释转换程序时的对话框消息

如果由于下面显示的任何条件而需要代码转换,转换后的消息将是:“程序转换已完成这些更改,”后面是已经对代码所做的任何更改的列表。 以下是你在转换一个(第二代)程序来运行在一台(第一代)主控器上时可能遇到的更改。

自动更改的对话框消息

{When Brain button} 下拉菜单已更新

主控器_按键_事件.png

{When Brain button} 下拉菜单已更新。

这里的消息告诉你转换已完成,并且{When Brain button}指令块下拉菜单已经被更新。

箭头_按键_菜单_更改.png

因为在(第二代)主控器上的箭头按键是‘左’和‘右’,但是它们在(第一代)主控器上是‘上’和‘下’,连接到箭头按键的指令块下拉菜单参数需要更新。

下拉菜单已更新

主控器_按键_传感.png

这个消息告诉你<Brain button pressed>指令块下拉菜单在转换过程中已经被更新。

传感器_指令块_菜单.png

因为在(第二代)主控器上的箭头按键是‘左’和‘右’,但是它们在(第一代)主控器上是‘上’和‘下’,连接到箭头按键的指令块下拉菜单参数需要更新。

程序槽位已更改

程序_槽位.png

这里消息告诉你程序槽位在转换过程中已更改。

槽位_更新.png

一台 IQ(第一代)主控器只配置了4个用户程序槽位,而一台(第二代)主控器配置了8个槽位。 一个配置了槽位5-8的程序将自动被重新配置到槽位4。 

需要更新代码的更改的对话框消息

底盘惯性仪已移除

惯性仪.png

对话框消息表明底盘惯性仪配置已经在转换过程中被移除。

选择_陀螺仪_或_惯性仪.png

如果一个程序配置了内置在(第二代)主控器中的惯性仪,惯性仪将被从底盘配置中移除以便和(第一代)主控器兼容。

  • 你可能需要为你的程序配置一个陀螺仪,以便在(第一代)主控器上如期运行。

一些 {When started} 指令块已被禁用

一些_当开始.png

这个消息告诉你一些{When started}指令块在转换过程中已经被禁用。

当_开始.png

一台(第一代)主控器最多只能支持3个{When started}指令块,而(第二代)主控器最多支持8个。 如果在(第二代)程序中有超过3个{When started}指令块,额外的{When started}指令块将在转换过程中被禁用。 在第一代模式时,你将不能启用额外的‘当开始’。

注意:软件将从工作区左上角的{When started}指令块优先。

注意:如果这个程序已转换回第二代,这些指令块将不会自动被启用。 你将必须在工作区手动启用它们。


IQ (第二代)专用指令块已禁用

iq_专用_指令块.png

此消息让你知道任何 IQ(第二代)专用的指令块已被禁用。

指令块_已禁用.png

如果指令块禁用了,它们将不会在程序中运行。 可能必须更新程序以使其如期运行。

另外,如果指令块参数设定为如左侧显示的 IQ(第二代)专用配置,指令块将在转换中被禁用。 这个指令块可以在转换后通过更改下拉窗口‘主控器惯性仪’参数来启用。

注意:如果这个程序已转换回第二代,这些指令块将不会自动被启用。 你将必须在工作区手动启用它们。 你将不能重新启用 IQ(第二代)主控器专用的指令块。

第二代_专用.png

左侧显示的指令块是 IQ(第二代)专用指令块的示例:描绘和惯性传感指令块。 如果这些指令块在一个正在被转换到第一代的程序中,它们将被禁用。

  • 注意:有一些指令块在陀螺仪和主控器惯性仪之间是共享的。 如果你使用哪些指令块并选择陀螺仪,它们将不会被禁用。 只有选择了‘主控器惯性仪’的指令块将被禁用。

启用_监控_控制台.png

因为控制台视图不支持 IQ(第一代),在菜单中任何选择了‘控制台’选项的指令块在转换到第一代程序时将被禁用。

如果菜单选项更改了,则这些指令块可以被启用。 在左侧的示例中,[Print]指令块被禁用,因为选择了‘控制台’。

指令块可以通过选择‘主控器’选项来启用,因为这个选项是支持的。

所有_消息.png

一个程序可能有多个更改。 VEXcode 将立即做出所有转换并且在一个消息中列出所有更改 - 如左侧所示。

For more information, help, and tips, check out the many resources at VEX Professional Development Plus