MAGIC (8 octets) — the first 8 octets contain the null-terminated
ASCII characters, “EKHORAW”. Don't forget the null-terminating zero.
FORMAT VERSION (2 octets - sequential. not a multi-byte integer) — Represents the version of the EKHORAW format. The first octet represents the major version, the second represents the minor version. So, for this document (version 2.0), these octets should be 0x0200.
FIRMWARE VERSION (2 octets- unsigned integer) — represents the version of the firmware that created the file.
FIRMWARE BUILD DATE (4 octets - two 1-octet integers, and one 2-octet unsigned integer) — the first octet stores the day. The second stores the month. The third and fourth store the year that the firmware was compiled. So, for April 3, 2020, these bytes should be 0x0304E407.
TEENSY VERSION (2 octets- sequential. not a multi-byte integer) — the version of the teensy that produced the file. For v3.6, the octets should be 0x0306.
BOARD VERSION (2 octets - unsigned integer) - the version of the Ekho recorder board used to record the data.
SAMPLING RATE (4 octets - unsigned integer) — the number of samples per second.
SAMPLING BATCH SIZE (2 octets - unsigned integer) — the number of samples per batch (explanation below).
ERROR CHECKING MODE (1 octet) — specifies what error checking mode this file is using: supported values include 0x00 (None), 0x01 (PARITY BYTE), 0x02 (CHKSUM), 0x03 (CRC-8,poly=0x07)
CURRENT AMPLIFICATION FACTORS (6 octets - unsigned integer) —consist of the following (2-octets each), FirstStageAmplificationFactor, SecondStageAmplificationFactor, and ThirdStageAmplificationFactor.
VOLTAGE DIVISION FACTOR (2 octets - unsigned integer) - the voltage division factor on Ekho recorder board used to the data.
RESERVED (29 octets) — Leaving space here in case we need to add something.