1

我希望将 OrbBasic 程序加载到 sphero 上的持久内存中,以允许它们在 sphero 被唤醒时运行。我有幸使用 SDK 中提供的 OrbBasicSample 将程序加载到 ram 中,因此我决定尝试修改示例应用程序以将程序加载到闪存中。为此,我从使用 OrbBasicProgram 对象及其方法改为使用 OrbBasicAppendFragmentCommand、OrbBasicExecuteProgramCommand 和 OrbBasicEraseStorageCommand 方法。

这导致按下按钮的方法如下所示:

public void loadPressed(View v) {
    addMessageToStatus("Loading OrbBasic Program...");
    OrbBasicAppendFragmentCommand.sendCommand(mRobot, false, program);
}
public void abortPressed(View v) {
    addMessageToStatus("Aborting OrbBasic Program");
    OrbBasicAbortProgramCommand.sendCommand(mRobot);
}
public void executePressed(View v) {
    addMessageToStatus("Executing OrbBasic Program");
    OrbBasicExecuteProgramCommand.sendCommand(mRobot, false, 10);
}
public void erasePressed(View v) {
    addMessageToStatus("Erasing OrbBasic Program...");
    OrbBasicEraseStorageCommand.sendCommand(mRobot, false);
}

将布尔值设置为 false,程序将加载到 RAM 中并按预期运行,当我将值更改为 true 时,它​​完全停止工作。我是否缺少某些东西来获得我正在寻找的功能?

4

1 回答 1

1

目前已发布的固件 (1.45) 不支持此功能。我们将它添加到 API/SDK 中是因为我们知道我们会在未来的某个时候支持它。它将出现在下一个 Sphero FW 中,同时存储空间增加到 4K。

于 2013-05-20T17:58:48.423 回答