package de.bse.prgm.cmd.storage;
import de.bse.prgm.war.MemOverwriteWarning;
import de.bse.run.app.IConsole;
import de.bse.vm.Machine;
/**
* Writes a value to a location in EEPROM and stores it into a variable.
*
* @author Elias Groll
* @version 2.15
*/
public class Write extends AccessCommand {
public Write(String locationString, String varString) {
super(locationString, varString);
}
public void execute(Machine machine, IConsole console) {
initVars(machine, console);
try {
if (machine.getEeprom().read(location.getValue()) == de.bse.vm.storage.EEPROM.CMD) {
machine.getProgram().addWarning(new MemOverwriteWarning());
}
machine.getEeprom().write(location.getValue(), var.getValue());
} catch (NullPointerException e) {
// nothing to do here, machine already added an error
}
}
public String infoMsg() {
return "[Info]Write at \"" + locationString + "\" and store \"" + varString + "\" in EEPROM";
}
}