我希望将 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 时,它完全停止工作。我是否缺少某些东西来获得我正在寻找的功能?