HpeBLE.xid.xml 4.64 KB
<?xml version="1.0" encoding="UTF-8" ?>

<specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
               xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
               identity="HpeBLE.xid.xml">
    <title>HPE Bluetooth Low Energy Data Definition</title>
    <comment>Bluetooth Low Energy data definitions and observation datatypes.</comment>

    <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
    <import ref="https://xid.location.studio/HPE/V1.2/HpeCore.xid.xml" local="HpeCore.xid.xml" />
    
    <namespace name="HPE.BLE">
        <using namespace="Tensor"/>
        <using namespace="HPE"/>



        <struct name="BLERss" type="ObservationEpoch" pack="true" rttkey="HPE.ObservationType.BLE_RSS">
            <comment>Base BLE Observiation with Recieved Signal Strength (RSS).</comment>
            <elem name ="mac" type="mac48" multiplicity="1">
                <comment>Every BLE advertisement's PDU has a MAC address</comment>
            </elem>
            <elem name ="rss" type="uint8" multiplicity="1" default="0">
                <tag name="unit" value="-dBm"/>
                <comment>Recieved signal strength value (used as negative).</comment>
                <comment>If not available, encode 0.</comment>
            </elem>
        </struct>

        <struct name="BLERssExt" type="BLERss" pack="true" rttkey="HPE.ObservationType.BLE_RSS_EXT">
            <comment>BLE Ext Observation adds extended BLE information.</comment>
            <elem name ="Tx" type="int8" multiplicity="1" default="0">
                 <tag name="unit" value="±dBm"/>
                <comment>Transmit power level.</comment>
                <comment>If not available, encode 0.</comment>
            </elem>
            <elem name ="channel" type="uint8" multiplicity="1" default="255">
                <comment>Bluetooth channel number (e.g. 37,38,39 are BLE advertisement channels)</comment>
                <comment>If not available, encode 255.</comment>
            </elem>
        </struct>

        <!--
        <struct name="Beacon" pack="true">
            <elem name ="mac" type="mac48" multiplicity="1">
                <comment>Every BLE advertisement's PDU has a MAC address</comment>
            </elem>
            <elem name ="rss" type="uint8" multiplicity="1" default="0">
                <tag name="unit" value="-dBm"/>
                <comment>Recieved signal strength value (used as negative).</comment>
                <comment>If not available, encode 0.</comment>
            </elem>
        </struct>
        -->

        <!--
        <struct name="iBeacon" type="BLERss" pack="true" rttkey="HPE.ObservationType.iBeacon">
            <comment>observation</comment>
            <elem name ="Tx" type="int8" multiplicity="1">
                <comment>Tx Power level calibrated RSSI @ 1m</comment>
            </elem>
            <elem name ="id" type="UUID" multiplicity="1">
                <comment>iBeacon Proximity UUID</comment>
            </elem>
            <elem name ="major" type="uint16" multiplicity="1">
                <comment>iBeacon Major code</comment>
            </elem>
            <elem name ="minor" type="uint16" multiplicity="1">
                <comment>iBeacon Minor code</comment>
            </elem>
        </struct>

        <struct name="Eddystone" type="BLERss" pack="true" rttkey="HPE.ObservationType.EddystoneUID">
            <comment>observation</comment>
            <elem name ="Tx" type="int8" multiplicity="1">
                <comment>Tx Power level calibrated RSSI @ 0m</comment>
            </elem>
            <elem name ="id" type="UUID" multiplicity="1">
                <comment>Eddystone UID</comment>
            </elem>
        </struct>

        <struct name="EddystoneURL" type="BLERss" pack="true" rttkey="HPE.ObservationType.EddystoneURL">
            <comment>observation</comment>
            <array name="EddyURL" type="uint8" size="17">
                <comment>3 to 17 bytes, 0 pad</comment>
            </array>

            <elem name ="Tx" type="int8" multiplicity="1">
                <comment>Tx Power level calibrated RSSI @ 0m</comment>
            </elem>
            <elem name ="url" type="EddyURL" multiplicity="1">
                <comment>Eddystone UID</comment>
            </elem>
        </struct>
        -->
    </namespace>
</specification>