我希望将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时,它将完全停止工作。是否有一些我缺少的东西来获得我正在寻找的功能?
答案 0 :(得分:1)
发布的固件(1.45)目前不支持此功能。我们将其添加到API / SDK中,因为我们知道将来会在某些时候支持它。它将在下一个Sphero FW中随着存储量的增加而增加到4K。