Set the EBML characteristics of the data to follow. Each EBML document has to start with this.
The version of EBML parser used to create the file.
The minimum EBML version a parser has to support to read this file.
The maximum length of the IDs you'll find in this file (4 or less in Matroska).
The maximum length of the sizes you'll find in this file (8 or less in Matroska). This does not override the element size indicated at the beginning of an element. Elements that have an indicated size which is larger than what is allowed by EBMLMaxSizeLength shall be considered invalid.
A string that describes the type of document that follows this EBML header. 'mide' for Mide Instrumentation Data Exchange files.
The version of DocType interpreter used to create the file.
The minimum DocType version an interpreter has to support to read this file.
Used to void damaged data, to avoid unexpected behaviors when using damaged data. The content is discarded. Also used to reserve space in a sub-element for later use.
The CRC is computed on all the data of the Master element it's in. The CRC element should be the first in it's parent master for easier reading. All level 1 elements should include a CRC-32. The CRC in use is the IEEE CRC32 Little Endian
Contain signature of some (coming) elements in the stream.
Signature algorithm used (1=RSA, 2=elliptic).
Hash algorithm used (1=SHA1-160, 2=MD5).
The public key to use with the algorithm (in the case of a PKI-based signature).
The signature of the data (until a new.
Contains elements that will be used to compute the signature.
A list consists of a number of consecutive elements that represent one case where data is used in signature. Ex: Cluster|Block|BlockAdditional means that the BlockAdditional of all Blocks in all Clusters is used for encryption.
An element ID whose data will be used to compute the signature.
Device EBML schema (aka 'tagset') hint. Points to a numeric schema ID defined at the receiving side.
Used to provide an arbitrary length sync word (for network / stream framing purposes) at any point in the stream.
Arbitrary tag. Allow for separate opening and closing tags without knowing the length of the enclosed data in advance. I.e. instead of [tag len value=[subtag len... /]/], [tag len=0][subtags and contents][/tag]. Positive value corresponds to the corresponding ElementID as an opening tag; the corresponding negative value as the closing tag. Value -int_max for any int size is reserved.
Class D (4 byte + 2 length) Device Manifest master. Presence of this master tells the device a valid manifest is present.
Class B (2 byte + 2 length) Master element for the basic system info (serial#, etc).
4-byte Vendor-defined (MIDE) product serial number.
4-byte Unique hardware configuration ID used to distinguish recorder types/variants.
20-byte Displayable text name for this product/variant.
Hardware revision code for this DeviceTypeUID.
Minimum FW revision code required to support this hardware.
8-byte date/time of manufacture (initial programming) in UTC seconds since the Epoch.
Device part number string (e.g. VR002-100-XYZ).
Custom hardware identifier. Hardware is a custom version if present.
Custom firmware build. Firmware is a custom build if present. Name should match FW branch/tag name as applicable for identification purposes, but is mainly present so FW updater can generate a warning if a custom build will be replaced by a standard one.
Hardware API level of this hardware. This is bumped in response to hardware revs with compatibility implications.
Batch identification string. Text string encoding the date, variant and manufacturer of a given hardware batch. Batch is independent of HwRev as there may be multiple production batches of a given revision, from multiple fab houses.
Class B (2 byte + 2 length) Master element for battery info.
4-byte Nominal battery capacity in mAh.
1-byte ACMP Vdd scale value corresponding to battery full threshold (0 ~ 63).
1-byte ACMP Vdd scale value corresponding to battery 'ok' threshold (0 ~ 63).
1-byte ACMP Vdd scale value corresponding to low-battery alarm threshold (0 ~ 63).
1-byte ACMP Vdd scale value corresponding to low-battery poweroff threshold (0 ~ 63).
Hardware cutoff voltage value in mV.
Class B (2 byte + 2 length) Master element for the antialiasing filter info.
1-byte filter type code (0=Butterworth, others currently undefined).
1-byte filter order value.
2-byte Ratio between input clock frequency and resulting filter corner frequency (clock-tunable filters only).
4-byte Minimum allowed corner frequency in Hz.
4-byte Maximum allowed corner frequency in Hz.
1-byte Boolean specifying that filter bypass is supported (low-fidelity data acquisition allowed in the disabled state). Nonzero = true.
Class B (2 byte + 2 length) Master element for one analog sensor of one or more channels.
1-byte Locally unique ID for referencing this entry. Used as ChannelID.
1-byte Code identifying the analog sensor. 0 = ADXL001, 1 = 832M1, others=TBD.
16-byte string for the sensor manufacturer's serial #. This is a string because some vendors (including that of 832M1) love to mix in letters, hyphens and other nonnumeric elements.
1-byte Boolean specifies that this sensor goes through the AA filter. Nonzero = true.
2-byte Sensor start up + settling time in ticks (1/32768s)
16-byte string for the sensor name / part#. This will probably be overridden by 'Plot'.
1-byte Reference to a SensorChannel-level CalID. This cal entry will simply determine the fixed sensor scaling and offset.
4-byte int32 hint expressing the nominal sensor scale and whether it is inverted. For sensors (accelerometer) where one of several nominal sensitivities can be stuffed. This value is optionally used by the device to distinguish stuffed sensitivities without having to interpret a calibration element.
4-byte float hint expressing the nominal sensor scale and whether it is inverted. For sensors (accelerometer) where one of several nominal sensitivities can be stuffed. This value is optionally used by the device to distinguish stuffed sensitivities without having to interpret a calibration element.
Class B (2 byte + 2 length) Master element for one sensor channel.
1-byte Entry ID for this channel.
1-byte ADC channel number corresponding to this sensor channel.
16-byte Axis name associated with this sensor channel.
1-byte Reference to a SensorSubChannel-level CalID. This will store actual sensor calibration modifying the basic scale/offset parameters.
4-byte Lower cutoff frequency in Hz.
4-byte Upper cutoff frequency in Hz.
CTF filter.
Indicates the presence of a uSD card on the SPI bus.
Indicates the presence of an ADXL362 accelerometer on the SPI bus.
Indicates the presence of an ADXL345 accelerometer on the SPI bus.
Indicates the presence of an ADXL355 accelerometer on the SPI bus.
Configuration data for digital sensors. Value varies by hardware.
Indicates the presence of an ADXL357 accelerometer on the SPI bus.
Configuration data for digital sensors. Value varies by hardware.
Indicates the presence of an ADXL375 accelerometer on the SPI bus.
Indicates the presence of a BNO055 IMU on the I2C0 bus.
Indicates the presence of a Bosch BHI160 IMU on the I2C0 bus.
Configuration data for digital sensors. Value varies by hardware.
Indicates the presence of a BMG250 Gyroscope
Indicates the presence of a BMG250 Gyroscope, with an interrupt line
Indicates the presence of an MPL3115A2 P/T sensor on the I2C0 bus.
Indicates the presence of an MS8607 P/T/H sensor on the I2C1 bus.
Indicates the presence of an MS5637 pressure sensor on the I2C1 bus.
Indicates the presence of an HTU21D humidity sensor on the I2C1 bus.
Indicates the presence of a digital IR sensor.
Indicates the presence of a GPS with full data (location) broken out on UART.
Indicates the presence of a GPS with full data (location) broken out on UART.
Configuration data for digital sensors. Value varies by hardware.
Indicates the presence of a MCP73837 battery charger.
Indicates the presence of a MAX14747 battery charger.
Indicates the presence of no battery charger or just a single cell battery.
Indicates the presence of an ESP32 Wi-Fi module.
Indicates the presence of a hardware pushbutton reset controller.
Indicates the presence of a MAX77801 power management IC on the I2C1 bus.
Indicates that the membrane has a 3rd LED driven by the MCU.
Indicates the presence of a SI1133 light sensor on the I2C1 bus.
Indicates the presence of an analog heater device.
Configuration data for non-sensor peripherals. For the heater, it is the output power in milliwatts.