import java.util.*;
import java.text.*;
import java.util.concurrent.*;
+import org.altusmetrum.AltosLib.*;
public class AltosEepromChunk {
return data[offset] | (data[offset + 1] << 8);
}
- public AltosEepromChunk(AltosSerial serial_line, int block)
+ int data32(int offset) {
+ return data[offset] | (data[offset + 1] << 8) |
+ (data[offset+2] << 16) | (data[offset+3] << 24);
+ }
+
+ boolean erased(int start, int len) {
+ for (int i = 0; i < len; i++)
+ if (data[start+i] != 0xff)
+ return false;
+ return true;
+ }
+
+ public AltosEepromChunk(AltosSerial serial_line, int block, boolean flush)
throws TimeoutException, InterruptedException {
int offset;
data = new int[chunk_size];
address = block * chunk_size;
+ if (flush)
+ serial_line.flush_input();
serial_line.printf("e %x\n", block);
for (offset = 0; offset < chunk_size; offset += per_line) {