Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 33 additions & 2 deletions Telemetry Viewer/src/BinaryPacket.java
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ public int getFirstAvailableOffset() {
*/
static public BinaryFieldProcessor[] getBinaryFieldProcessors() {

BinaryFieldProcessor[] processors = new BinaryFieldProcessor[4];
BinaryFieldProcessor[] processors = new BinaryFieldProcessor[8];

processors[0] = new BinaryFieldProcessor() {

Expand Down Expand Up @@ -455,8 +455,39 @@ static public BinaryFieldProcessor[] getBinaryFieldProcessors() {

};

return processors;
processors[4] = new BinaryFieldProcessor() {
@Override public String toString() { return "uint32 LSB First"; }
@Override public int getByteCount() { return 4; }
@Override public float extractValue(byte[] rawBytes) { return (float) (((0xFF & rawBytes[0]) << 0) |
((0xFF & rawBytes[1]) << 8) |
((0xFF & rawBytes[2]) << 16) |
((0xFF & rawBytes[3]) << 24));}
};

processors[5] = new BinaryFieldProcessor() {
@Override public String toString() { return "uint32 MSB First"; }
@Override public int getByteCount() { return 4; }
@Override public float extractValue(byte[] rawBytes) { return (float) (((0xFF & rawBytes[3]) << 0) |
((0xFF & rawBytes[2]) << 8) |
((0xFF & rawBytes[1]) << 16) |
((0xFF & rawBytes[0]) << 24));}
};

processors[6] = new BinaryFieldProcessor() {
@Override public String toString() { return "int16 LSB First"; }
@Override public int getByteCount() { return 2; }
@Override public float extractValue(byte[] rawBytes) { return (float) ((rawBytes[0] << 0) |
(rawBytes[1] << 8));}
};

processors[7] = new BinaryFieldProcessor() {
@Override public String toString() { return "int16 MSB First"; }
@Override public int getByteCount() { return 2; }
@Override public float extractValue(byte[] rawBytes) { return (float) ((rawBytes[1] << 0) |
(rawBytes[0] << 8));}
};

return processors;
}

/**
Expand Down