[cooja] Memory: Added get/setByteArray functions to Memory access class
Provides a cleaner interface to access memory as VarMemory already contains variable name based get/setByteArray functions.
This commit is contained in:
parent
2a0ccf2c6b
commit
77ab9359dd
@ -151,6 +151,18 @@ public abstract class Memory {
|
|||||||
return MemoryBuffer.wrap(memIntf.getLayout(), memIntf.getMemorySegment(addr, memIntf.getLayout().addrSize)).getAddr();
|
return MemoryBuffer.wrap(memIntf.getLayout(), memIntf.getMemorySegment(addr, memIntf.getLayout().addrSize)).getAddr();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read byte array starting at given address.
|
||||||
|
*
|
||||||
|
* @param addr Start address to read from
|
||||||
|
* @param length Numbe of bytes to read
|
||||||
|
* @return byte array read from location assigned to variable name
|
||||||
|
*/
|
||||||
|
public byte[] getByteArray(long addr, int length)
|
||||||
|
throws UnknownVariableException {
|
||||||
|
return memIntf.getMemorySegment(addr, length);
|
||||||
|
}
|
||||||
|
|
||||||
// -- Set fixed size types
|
// -- Set fixed size types
|
||||||
/**
|
/**
|
||||||
* Write 8 bit integer to address.
|
* Write 8 bit integer to address.
|
||||||
@ -253,4 +265,15 @@ public abstract class Memory {
|
|||||||
memIntf.setMemorySegment(addr, MemoryBuffer.wrap(memIntf.getLayout(), new byte[memIntf.getLayout().addrSize]).putAddr(value).getBytes());
|
memIntf.setMemorySegment(addr, MemoryBuffer.wrap(memIntf.getLayout(), new byte[memIntf.getLayout().addrSize]).putAddr(value).getBytes());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Write byte array starting at given address.
|
||||||
|
*
|
||||||
|
* @param addr Start address to write to
|
||||||
|
* @param data data to write
|
||||||
|
*/
|
||||||
|
public void setByteArray(long addr, byte[] data)
|
||||||
|
throws UnknownVariableException {
|
||||||
|
memIntf.setMemorySegment(addr, data);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -243,7 +243,7 @@ public class VarMemory extends Memory {
|
|||||||
*/
|
*/
|
||||||
public byte[] getByteArray(String varName, int length)
|
public byte[] getByteArray(String varName, int length)
|
||||||
throws UnknownVariableException {
|
throws UnknownVariableException {
|
||||||
return memIntf.getMemorySegment(getVariable(varName).addr, length);
|
return getByteArray(getVariable(varName).addr, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -349,13 +349,14 @@ public class VarMemory extends Memory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Write byte array starting at location associated with this variable name.
|
||||||
*
|
*
|
||||||
* @param varName
|
* @param varName Variable name
|
||||||
* @param data
|
* @param data data to write
|
||||||
*/
|
*/
|
||||||
public void setByteArray(String varName, byte[] data)
|
public void setByteArray(String varName, byte[] data)
|
||||||
throws UnknownVariableException {
|
throws UnknownVariableException {
|
||||||
memIntf.setMemorySegment(getVariable(varName).addr, data);
|
setByteArray(getVariable(varName).addr, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user