fviard / sllurp

Python client for LLRP-based RFID readers. Private fork.
GNU General Public License v3.0
7 stars 3 forks source link

Workspace issue to improve Zebra support #9

Open fviard opened 4 years ago

fviard commented 4 years ago

@pBogey following the discussion in #8.

Here is the new issue/thread, to provide directions for more Zebra support improvements.

fviard commented 4 years ago

A few tips for you:

There is 2 versions of the spec and of the api: v1 (1.0.1) and v2 (1.1). You can read directly the 1.1, they are mostly the same. There is just a dozen changes and additional parameters that are available only if you negotiate with the reader at the beginning to tell him that you support v2 and want to switch to this version.

From one of your comments, I think that the Zebra reader supports v2, but Impinj ones just v1. So, for the moment, Sllurp doesn't support any addition of the v2 yet.

A little bit like for the v2, each vendor can have it's own custom "messages" et "parameters" that are available and usable you ask the reader to enable its "custom" extensions.

For the Zebra, you can find the details of their custom parameters inside the following document:

fviard commented 4 years ago

@pBogey : A first easy thing to start would be if you can run an inventory with sllurp with the "--debug" flag. Once it starts, you can use "ctrl-C" to stop it. If you can paste it, what would be interesting, is the log from the beginning to when the "invetory starts". (ie a ROSpec was successfully added). In that log, we can check if there is any standard field reported by the Zebra that is not known by Sllurp.

pBogey commented 4 years ago

From one of your comments, I think that the Zebra reader supports v2, but Impinj ones just v1.

I'm not so sure about Zebra. I tried to implement a GET_SUPPORTED_VERSION message and got the following response from the reader:

Error in message received: unsupported version (108)


Don't really remember what the code was and if it was correctly implemented, but the v1.1 Standard mentions:

Clients that receive an ERROR_MESSAGE in response to this message with a StatusCode of M_UnsupportedVersion SHALL assume the Reader only supports LLRP 1.0.1 (version 1).

So I assumed that FX9500 only supports v 1.0.1.



A first easy thing to start would be if you can run an inventory with sllurp with the "--debug" flag.

I ran sllurp -d -l inventory.log inventory 10.171.74.46 -a 0 and obtain the following:

2020-05-03 15:20:07,955 sllurp.cli: DEBUG: inventory args: Args(host=( <host IP address>,), port=5084, time=None, every_n=None, antennas='0', tx_power=0, tari=0, session=2, population=4, mode_identifier=None, reconnect=False, tag_filter_mask=(), impinj_extended_configuration=False, impinj_search_mode=None, impinj_reports=False, frequencies='1', hoptable_id=1)
2020-05-03 15:20:07,956 sllurp.llrp: INFO: will reset reader state on connect
2020-05-03 15:20:07,956 sllurp.llrp: INFO: will start inventory on connect
2020-05-03 15:20:07,956 sllurp.llrp: INFO: using antennas: [0]
2020-05-03 15:20:07,957 sllurp.llrp: INFO: transmit power: {0: 0}
2020-05-03 15:20:08,136 sllurp.llrp: INFO: connected to <host IP address> (:5084)
2020-05-03 15:20:08,457 sllurp.llrp: DEBUG: got 32 bytes from reader: b'043f0000002000000d1d00f600160080000c0005a4bfeea2e72d010000060000'
2020-05-03 15:20:08,458 sllurp.llrp: DEBUG: expect 32 bytes (have 32)
2020-05-03 15:20:08,458 sllurp.llrp: DEBUG: deserializing READER_EVENT_NOTIFICATION command
2020-05-03 15:20:08,458 sllurp.llrp_proto: DEBUG: decode_READER_EVENT_NOTIFICATION
2020-05-03 15:20:08,459 sllurp.llrp_proto: DEBUG: decode_ReaderEventNotificationData
2020-05-03 15:20:08,459 sllurp.llrp_proto: DEBUG: decode_ConnectionAttemptEvent
2020-05-03 15:20:08,459 sllurp.llrp: DEBUG: done deserializing READER_EVENT_NOTIFICATION command
2020-05-03 15:20:08,459 sllurp.llrp: DEBUG: starting message callbacks for READER_EVENT_NOTIFICATION
2020-05-03 15:20:08,459 sllurp.llrp: DEBUG: done with message callbacks for READER_EVENT_NOTIFICATION
2020-05-03 15:20:08,459 sllurp.llrp: DEBUG: LLRPMessage received in state 1:
<READER_EVENT_NOTIFICATION>
    <ID>3357</ID>
    <ReaderEventNotificationData>
        <UTCTimestamp>
            <Microseconds>1588519132915501</Microseconds>
        </UTCTimestamp>
        <ConnectionAttemptEvent>
            <Status>'Success'</Status>
        </ConnectionAttemptEvent>
    </ReaderEventNotificationData>
</READER_EVENT_NOTIFICATION>
2020-05-03 15:20:08,460 sllurp.llrp: DEBUG: in handleMessage(READER_EVENT_NOTIFICATION), there are 0 Deferreds
2020-05-03 15:20:08,461 sllurp.llrp: DEBUG: serializing GET_READER_CAPABILITIES command
2020-05-03 15:20:08,461 sllurp.llrp: DEBUG: serialized bytes: b'04010000000b0000000100'
2020-05-03 15:20:08,461 sllurp.llrp: DEBUG: done serializing GET_READER_CAPABILITIES command
2020-05-03 15:20:08,463 sllurp.llrp: DEBUG: state change: STATE_DISCONNECTED -> STATE_SENT_GET_CAPABILITIES
2020-05-03 15:20:08,562 sllurp.llrp: DEBUG: got 1312 bytes from reader: b'040b00000aba00000001011f0008000000000089005200044000000060ff0000251c000c312e362e352e313630303130008b000800010000008d000800040004008c00090001000101008c00090002000101008c00090003000101008c00090004000101008e001cd80700000000002000000008000000040000002000000008008f09cd03480001009009c500910008000003e800910008000103f200910008000203fc00910008000304060091000800040410009100080005041a0091000800060424009100080007042e0091000800080438009100080009044200910008000a044c00910008000b045600910008000c046000910008000d046a00910008000e047400910008000f047e00910008001004880091000800110492009100080012049c00910008001304a600910008001404b000910008001504ba00910008001604c400910008001704ce00910008001804d800910008001904e200910008001a04ec00910008001b04f600910008001c050000910008001d050a00910008001e051400910008001f051e00910008002005280091000800210532009100080022053c00910008002305460091000800240550009100080025055a0091000800260564009100080027056e0091000800280578009100080029058200910008002a058c00910008002b059600910008002c05a000910008002d05aa00910008002e05b400910008002f05be00910008003005c800910008003105d200910008003205dc00910008003305e600910008003405f000910008003505fa0091000800360604009100080037060e0091000800380618009100080039062200910008003a062c00910008003b063600910008003c064000910008003d064a00910008003e065400910008003f065e00910008004006680091000800410672009100080042067c00910008004306860091000800440690009100080045069a00910008004606a400910008004706ae00910008004806b800910008004906c200910008004a06cc00910008004b06d600910008004c06e000910008004d06ea00910008004e06f400910008004f06fe00910008005007080091000800510712009100080052071c00910008005307260091000800540730009100080055073a0091000800560744009100080057074e0091000800580758009100080059076200910008005a076c00910008005b077600910008005c078000910008005d078a00910008005e079400910008005f079e00910008006007a800910008006107b200910008006207bc00910008006307c600910008006407d000910008006507da00910008006607e400910008006707ee00910008006807f8009100080069080200910008006a080c00910008006b081600910008006c082000910008006d082a00910008006e083400910008006f083e00910008007008480091000800710852009100080072085c00910008007308660091000800740870009100080075087a0091000800760884009100080077088e009100080078089800910008007908a200910008007a08ac00910008007b08b600910008007c08c000910008007d08ca00910008007e08d400910008007f08de00910008008008e800910008008108f200910008008208fc00910008008309060091000800840910009100080085091a0091000800860924009100080087092e0091000800880938009100080089094200910008008a094c00910008008b095600910008008c096000910008008d096a00910008008e097400910008008f097e0091000800900988009100080091099200910008'
2020-05-03 15:20:08,563 sllurp.llrp: DEBUG: expect 2746 bytes (have 1312)
2020-05-03 15:20:08,578 sllurp.llrp: DEBUG: got 1434 bytes from reader: b'0092099c00910008009309a600910008009409b000910008009509ba00910008009609c400910008009709ce00910008009809d800910008009909e200910008009a09ec00910008009b09f600910008009c0a0000910008009d0a0a00910008009e0a1400910008009f0a1e0091000800a00a280091000800a10a320091000800a20a3c0091000800a30a460091000800a40a500091000800a50a5a0091000800a60a640091000800a70a6e0091000800a80a780091000800a90a820091000800aa0a8c0091000800ab0a960091000800ac0aa00091000800ad0aaa0091000800ae0ab40091000800af0abe0091000800b00ac80091000800b10ad20091000800b20adc0091000800b30ae60091000800b40af00091000800b50afa0091000800b60b040091000800b70b0e0091000800b80b180091000800b90b220091000800ba0b2c0091000800bb0b360091000800bc0b400091000800bd0b4a0091000800be0b540091000800bf0b5e0091000800c00b680091000800c10b720091000800c20b7c0091000800c30b860091000800c40b900091000800c50b9a0091000800c60ba40091000800c70bae0091000800c80bb8009200d580009300d001000032000dc65e000e241e000de59e000e04de000dc852000e2612000de792000e06d2000dca46000de986000e08c6000dcc3a000deb7a000e0aba000dce2e000ded6e000e0cae000dd022000def62000e0ea2000dd216000df156000e1096000dd40a000df34a000e128a000dd5fe000df53e000e147e000dd7f2000df732000e1672000dd9e6000df926000e1866000ddbda000dfb1a000e1a5a000dddce000dfd0e000e1c4e000ddfc2000dff02000e1e42000de1b6000e00f6000e2036000de3aa000e02ea000e222a014802a40149002000000000c00100030002ee00000007d0000030d4000030d4000000000149002000000001c00200030002ee00000007d0000030d4000030d4000000000149002000000002c00300030002ee00000007d0000030d4000030d4000000000149002000000003c00100030003a980000007d0000030d4000030d4000000000149002000000004c00200030003a980000007d0000030d4000030d4000000000149002000000005c00300030003a980000007d0000030d4000030d4000000000149002000000006c00100030004e200000007d0000030d4000030d4000000000149002000000007c00200030004e200000007d0000030d4000030d4000000000149002000000008c00300030004e200000007d0000030d4000030d4000000000149002000000009c00100030009c400000007d00000186a0000186a00000000014900200000000ac00200030009c400000007d00000186a0000186a00000000014900200000000bc00300030009c400000007d00000186a0000186a00000000014900200000000cc00100030002ee00000005dc000061a8000061a800000000014900200000000dc00200030002ee00000005dc000061a8000061a800000000014900200000000ec00300030002ee00000005dc000061a8000061a800000000014900200000000fc00100030003a980000005dc000061a8000061a8000000000149002000000010c00200030003a980000005dc000061a8000061a8000000000149002000000011c00300030003a980000005dc000061a8000061a80000000001490020000000124000000100013880000005dc000061a8000061a8000000000149002000000013c00000010004e200000007d0000030d4000030d4000000000149002000000014c00002010009c400000005dc0000186a0000186a0000000001470007c0000803ff0011000000a100000001000000018003ff0011000000a100000064000000018003ff0011000000a10000007800000001c003ff0011000000a1000000c800000001e003ff0011000000a10000012c000000018003ff0011000000a1000001900000000190'
2020-05-03 15:20:08,579 sllurp.llrp: DEBUG: expect 2746 bytes (have 2746)
2020-05-03 15:20:08,580 sllurp.llrp: DEBUG: deserializing GET_READER_CAPABILITIES_RESPONSE command
2020-05-03 15:20:08,580 sllurp.llrp_proto: DEBUG: decode_GET_READER_CAPABILITIES_RESPONSE
2020-05-03 15:20:08,581 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-03 15:20:08,585 sllurp.llrp_proto: DEBUG: decode_GeneralDeviceCapabilities
2020-05-03 15:20:08,585 sllurp.llrp_proto: DEBUG: decode_GeneralDeviceCapabilities
2020-05-03 15:20:08,586 sllurp.llrp_proto: DEBUG: decode_PerAntennaAirProtocol
2020-05-03 15:20:08,586 sllurp.llrp_proto: DEBUG: decode_PerAntennaAirProtocol
2020-05-03 15:20:08,587 sllurp.llrp_proto: DEBUG: decode_PerAntennaAirProtocol
2020-05-03 15:20:08,587 sllurp.llrp_proto: DEBUG: decode_PerAntennaAirProtocol
2020-05-03 15:20:08,587 sllurp.llrp_proto: DEBUG: decode_LLRPCapabilities
2020-05-03 15:20:08,588 sllurp.llrp_proto: DEBUG: decode_RegulatoryCapabilities
2020-05-03 15:20:08,588 sllurp.llrp_proto: DEBUG: decode_UHFBandCapabilities
2020-05-03 15:20:08,590 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-03 15:20:08,591 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-03 15:20:08,591 sllurp.llrp_proto: DEBUG: decode_FrequencyHopTable
2020-05-03 15:20:08,591 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTable
2020-05-03 15:20:08,592 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,592 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,593 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,593 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,593 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,594 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,594 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,594 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,595 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,595 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,595 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,596 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,596 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,596 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,596 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,597 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,597 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,597 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,597 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,598 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,598 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-03 15:20:08,598 sllurp.llrp_proto: DEBUG: decode_C1G2LLRPCapabilities
2020-05-03 15:20:08,598 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 1)
2020-05-03 15:20:08,599 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 100)
2020-05-03 15:20:08,599 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 120)
2020-05-03 15:20:08,600 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 200)
2020-05-03 15:20:08,600 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 300)
2020-05-03 15:20:08,600 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 400)
2020-05-03 15:20:08,600 sllurp.llrp: DEBUG: done deserializing GET_READER_CAPABILITIES_RESPONSE command
2020-05-03 15:20:08,600 sllurp.llrp: DEBUG: starting message callbacks for GET_READER_CAPABILITIES_RESPONSE
2020-05-03 15:20:08,601 sllurp.llrp: DEBUG: done with message callbacks for GET_READER_CAPABILITIES_RESPONSE
2020-05-03 15:20:08,601 sllurp.llrp: DEBUG: LLRPMessage received in state 21:
<GET_READER_CAPABILITIES_RESPONSE>
    <ID>1</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
    <GeneralDeviceCapabilities>
        <MaxNumberOfAntennaSupported>4</MaxNumberOfAntennaSupported>
        <CanSetAntennaProperties>False</CanSetAntennaProperties>
        <HasUTCClockCapability>True</HasUTCClockCapability>
        <DeviceManufacturerName>24831</DeviceManufacturerName>
        <ModelName>9500</ModelName>
        <FirmwareVersionByteCount>12</FirmwareVersionByteCount>
        <ReaderFirmwareVersion>b'1.6.5.160010'</ReaderFirmwareVersion>
        <ReceiveSensitivityTableEntry>
            <Index>1</Index>
            <ReceiveSensitivityValue>0</ReceiveSensitivityValue>
        </ReceiveSensitivityTableEntry>
        <GPIOCapabilities>
            <NumGPIs>4</NumGPIs>
            <NumGPOs>4</NumGPOs>
        </GPIOCapabilities>
        <PerAntennaAirProtocol>
            <AntennaID>1</AntennaID>
            <NumProtocols>1</NumProtocols>
            <ProtocolID>[1]</ProtocolID>
        </PerAntennaAirProtocol>
        <PerAntennaAirProtocol>
            <AntennaID>2</AntennaID>
            <NumProtocols>1</NumProtocols>
            <ProtocolID>[1]</ProtocolID>
        </PerAntennaAirProtocol>
        <PerAntennaAirProtocol>
            <AntennaID>3</AntennaID>
            <NumProtocols>1</NumProtocols>
            <ProtocolID>[1]</ProtocolID>
        </PerAntennaAirProtocol>
        <PerAntennaAirProtocol>
            <AntennaID>4</AntennaID>
            <NumProtocols>1</NumProtocols>
            <ProtocolID>[1]</ProtocolID>
        </PerAntennaAirProtocol>
    </GeneralDeviceCapabilities>
    <LLRPCapabilities>
        <CanDoRFSurvey>True</CanDoRFSurvey>
        <CanReportBufferFillWarning>True</CanReportBufferFillWarning>
        <SupportsClientRequestOpSpec>False</SupportsClientRequestOpSpec>
        <CanDoTagInventoryStateAwareSingulation>True</CanDoTagInventoryStateAwareSingulation>
        <SupportsEventAndReportHolding>True</SupportsEventAndReportHolding>
        <MaxPriorityLevelSupported>7</MaxPriorityLevelSupported>
        <ClientRequestOpSpecTimeout>0</ClientRequestOpSpecTimeout>
        <MaxNumROSpec>32</MaxNumROSpec>
        <MaxNumSpecsPerROSpec>8</MaxNumSpecsPerROSpec>
        <MaxNumInventoryParametersSpecsPerAISpec>4</MaxNumInventoryParametersSpecsPerAISpec>
        <MaxNumAccessSpec>32</MaxNumAccessSpec>
        <MaxNumOpSpecsPerAccessSpec>8</MaxNumOpSpecsPerAccessSpec>
    </LLRPCapabilities>
    <RegulatoryCapabilities>
        <CountryCode>840</CountryCode>
        <CommunicationsStandard>1</CommunicationsStandard>
        <UHFBandCapabilities>
            <TransmitPowerLevelTableEntry>
                <Index>0</Index>
                <TransmitPowerValue>1000</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>1</Index>
                <TransmitPowerValue>1010</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>2</Index>
                <TransmitPowerValue>1020</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>3</Index>
                <TransmitPowerValue>1030</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>4</Index>
                <TransmitPowerValue>1040</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>5</Index>
                <TransmitPowerValue>1050</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>6</Index>
                <TransmitPowerValue>1060</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>7</Index>
                <TransmitPowerValue>1070</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>8</Index>
                <TransmitPowerValue>1080</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>9</Index>
                <TransmitPowerValue>1090</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>10</Index>
                <TransmitPowerValue>1100</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>11</Index>
                <TransmitPowerValue>1110</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>12</Index>
                <TransmitPowerValue>1120</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>13</Index>
                <TransmitPowerValue>1130</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>14</Index>
                <TransmitPowerValue>1140</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>15</Index>
                <TransmitPowerValue>1150</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>16</Index>
                <TransmitPowerValue>1160</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>17</Index>
                <TransmitPowerValue>1170</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>18</Index>
                <TransmitPowerValue>1180</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>19</Index>
                <TransmitPowerValue>1190</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>20</Index>
                <TransmitPowerValue>1200</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>21</Index>
                <TransmitPowerValue>1210</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>22</Index>
                <TransmitPowerValue>1220</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>23</Index>
                <TransmitPowerValue>1230</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>24</Index>
                <TransmitPowerValue>1240</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>25</Index>
                <TransmitPowerValue>1250</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>26</Index>
                <TransmitPowerValue>1260</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>27</Index>
                <TransmitPowerValue>1270</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>28</Index>
                <TransmitPowerValue>1280</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>29</Index>
                <TransmitPowerValue>1290</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>30</Index>
                <TransmitPowerValue>1300</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>31</Index>
                <TransmitPowerValue>1310</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>32</Index>
                <TransmitPowerValue>1320</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>33</Index>
                <TransmitPowerValue>1330</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>34</Index>
                <TransmitPowerValue>1340</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>35</Index>
                <TransmitPowerValue>1350</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>36</Index>
                <TransmitPowerValue>1360</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>37</Index>
                <TransmitPowerValue>1370</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>38</Index>
                <TransmitPowerValue>1380</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>39</Index>
                <TransmitPowerValue>1390</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>40</Index>
                <TransmitPowerValue>1400</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>41</Index>
                <TransmitPowerValue>1410</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>42</Index>
                <TransmitPowerValue>1420</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>43</Index>
                <TransmitPowerValue>1430</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>44</Index>
                <TransmitPowerValue>1440</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>45</Index>
                <TransmitPowerValue>1450</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>46</Index>
                <TransmitPowerValue>1460</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>47</Index>
                <TransmitPowerValue>1470</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>48</Index>
                <TransmitPowerValue>1480</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>49</Index>
                <TransmitPowerValue>1490</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>50</Index>
                <TransmitPowerValue>1500</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>51</Index>
                <TransmitPowerValue>1510</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>52</Index>
                <TransmitPowerValue>1520</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>53</Index>
                <TransmitPowerValue>1530</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>54</Index>
                <TransmitPowerValue>1540</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>55</Index>
                <TransmitPowerValue>1550</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>56</Index>
                <TransmitPowerValue>1560</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>57</Index>
                <TransmitPowerValue>1570</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>58</Index>
                <TransmitPowerValue>1580</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>59</Index>
                <TransmitPowerValue>1590</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>60</Index>
                <TransmitPowerValue>1600</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>61</Index>
                <TransmitPowerValue>1610</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>62</Index>
                <TransmitPowerValue>1620</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>63</Index>
                <TransmitPowerValue>1630</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>64</Index>
                <TransmitPowerValue>1640</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>65</Index>
                <TransmitPowerValue>1650</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>66</Index>
                <TransmitPowerValue>1660</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>67</Index>
                <TransmitPowerValue>1670</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>68</Index>
                <TransmitPowerValue>1680</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>69</Index>
                <TransmitPowerValue>1690</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>70</Index>
                <TransmitPowerValue>1700</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>71</Index>
                <TransmitPowerValue>1710</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>72</Index>
                <TransmitPowerValue>1720</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>73</Index>
                <TransmitPowerValue>1730</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>74</Index>
                <TransmitPowerValue>1740</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>75</Index>
                <TransmitPowerValue>1750</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>76</Index>
                <TransmitPowerValue>1760</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>77</Index>
                <TransmitPowerValue>1770</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>78</Index>
                <TransmitPowerValue>1780</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>79</Index>
                <TransmitPowerValue>1790</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>80</Index>
                <TransmitPowerValue>1800</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>81</Index>
                <TransmitPowerValue>1810</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>82</Index>
                <TransmitPowerValue>1820</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>83</Index>
                <TransmitPowerValue>1830</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>84</Index>
                <TransmitPowerValue>1840</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>85</Index>
                <TransmitPowerValue>1850</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>86</Index>
                <TransmitPowerValue>1860</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>87</Index>
                <TransmitPowerValue>1870</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>88</Index>
                <TransmitPowerValue>1880</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>89</Index>
                <TransmitPowerValue>1890</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>90</Index>
                <TransmitPowerValue>1900</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>91</Index>
                <TransmitPowerValue>1910</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>92</Index>
                <TransmitPowerValue>1920</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>93</Index>
                <TransmitPowerValue>1930</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>94</Index>
                <TransmitPowerValue>1940</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>95</Index>
                <TransmitPowerValue>1950</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>96</Index>
                <TransmitPowerValue>1960</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>97</Index>
                <TransmitPowerValue>1970</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>98</Index>
                <TransmitPowerValue>1980</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>99</Index>
                <TransmitPowerValue>1990</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>100</Index>
                <TransmitPowerValue>2000</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>101</Index>
                <TransmitPowerValue>2010</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>102</Index>
                <TransmitPowerValue>2020</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>103</Index>
                <TransmitPowerValue>2030</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>104</Index>
                <TransmitPowerValue>2040</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>105</Index>
                <TransmitPowerValue>2050</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>106</Index>
                <TransmitPowerValue>2060</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>107</Index>
                <TransmitPowerValue>2070</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>108</Index>
                <TransmitPowerValue>2080</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>109</Index>
                <TransmitPowerValue>2090</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>110</Index>
                <TransmitPowerValue>2100</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>111</Index>
                <TransmitPowerValue>2110</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>112</Index>
                <TransmitPowerValue>2120</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>113</Index>
                <TransmitPowerValue>2130</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>114</Index>
                <TransmitPowerValue>2140</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>115</Index>
                <TransmitPowerValue>2150</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>116</Index>
                <TransmitPowerValue>2160</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>117</Index>
                <TransmitPowerValue>2170</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>118</Index>
                <TransmitPowerValue>2180</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>119</Index>
                <TransmitPowerValue>2190</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>120</Index>
                <TransmitPowerValue>2200</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>121</Index>
                <TransmitPowerValue>2210</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>122</Index>
                <TransmitPowerValue>2220</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>123</Index>
                <TransmitPowerValue>2230</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>124</Index>
                <TransmitPowerValue>2240</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>125</Index>
                <TransmitPowerValue>2250</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>126</Index>
                <TransmitPowerValue>2260</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>127</Index>
                <TransmitPowerValue>2270</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>128</Index>
                <TransmitPowerValue>2280</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>129</Index>
                <TransmitPowerValue>2290</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>130</Index>
                <TransmitPowerValue>2300</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>131</Index>
                <TransmitPowerValue>2310</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>132</Index>
                <TransmitPowerValue>2320</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>133</Index>
                <TransmitPowerValue>2330</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>134</Index>
                <TransmitPowerValue>2340</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>135</Index>
                <TransmitPowerValue>2350</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>136</Index>
                <TransmitPowerValue>2360</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>137</Index>
                <TransmitPowerValue>2370</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>138</Index>
                <TransmitPowerValue>2380</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>139</Index>
                <TransmitPowerValue>2390</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>140</Index>
                <TransmitPowerValue>2400</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>141</Index>
                <TransmitPowerValue>2410</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>142</Index>
                <TransmitPowerValue>2420</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>143</Index>
                <TransmitPowerValue>2430</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>144</Index>
                <TransmitPowerValue>2440</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>145</Index>
                <TransmitPowerValue>2450</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>146</Index>
                <TransmitPowerValue>2460</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>147</Index>
                <TransmitPowerValue>2470</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>148</Index>
                <TransmitPowerValue>2480</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>149</Index>
                <TransmitPowerValue>2490</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>150</Index>
                <TransmitPowerValue>2500</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>151</Index>
                <TransmitPowerValue>2510</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>152</Index>
                <TransmitPowerValue>2520</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>153</Index>
                <TransmitPowerValue>2530</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>154</Index>
                <TransmitPowerValue>2540</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>155</Index>
                <TransmitPowerValue>2550</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>156</Index>
                <TransmitPowerValue>2560</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>157</Index>
                <TransmitPowerValue>2570</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>158</Index>
                <TransmitPowerValue>2580</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>159</Index>
                <TransmitPowerValue>2590</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>160</Index>
                <TransmitPowerValue>2600</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>161</Index>
                <TransmitPowerValue>2610</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>162</Index>
                <TransmitPowerValue>2620</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>163</Index>
                <TransmitPowerValue>2630</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>164</Index>
                <TransmitPowerValue>2640</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>165</Index>
                <TransmitPowerValue>2650</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>166</Index>
                <TransmitPowerValue>2660</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>167</Index>
                <TransmitPowerValue>2670</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>168</Index>
                <TransmitPowerValue>2680</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>169</Index>
                <TransmitPowerValue>2690</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>170</Index>
                <TransmitPowerValue>2700</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>171</Index>
                <TransmitPowerValue>2710</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>172</Index>
                <TransmitPowerValue>2720</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>173</Index>
                <TransmitPowerValue>2730</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>174</Index>
                <TransmitPowerValue>2740</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>175</Index>
                <TransmitPowerValue>2750</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>176</Index>
                <TransmitPowerValue>2760</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>177</Index>
                <TransmitPowerValue>2770</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>178</Index>
                <TransmitPowerValue>2780</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>179</Index>
                <TransmitPowerValue>2790</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>180</Index>
                <TransmitPowerValue>2800</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>181</Index>
                <TransmitPowerValue>2810</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>182</Index>
                <TransmitPowerValue>2820</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>183</Index>
                <TransmitPowerValue>2830</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>184</Index>
                <TransmitPowerValue>2840</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>185</Index>
                <TransmitPowerValue>2850</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>186</Index>
                <TransmitPowerValue>2860</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>187</Index>
                <TransmitPowerValue>2870</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>188</Index>
                <TransmitPowerValue>2880</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>189</Index>
                <TransmitPowerValue>2890</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>190</Index>
                <TransmitPowerValue>2900</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>191</Index>
                <TransmitPowerValue>2910</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>192</Index>
                <TransmitPowerValue>2920</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>193</Index>
                <TransmitPowerValue>2930</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>194</Index>
                <TransmitPowerValue>2940</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>195</Index>
                <TransmitPowerValue>2950</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>196</Index>
                <TransmitPowerValue>2960</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>197</Index>
                <TransmitPowerValue>2970</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>198</Index>
                <TransmitPowerValue>2980</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>199</Index>
                <TransmitPowerValue>2990</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>200</Index>
                <TransmitPowerValue>3000</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <FrequencyInformation>
                <Hopping>True</Hopping>
                <FrequencyHopTable>
                    <HopTableId>1</HopTableId>
                    <NumHops>50</NumHops>
                    <Frequency>[902750, 926750, 910750, 918750, 903250, 927250, 911250, 919250, 903750, 911750, 919750, 904250, 912250, 920250, 904750, 912750, 920750, 905250, 913250, 921250, 905750, 913750, 921750, 906250, 914250, 922250, 906750, 914750, 922750, 907250, 915250, 923250, 907750, 915750, 923750, 908250, 916250, 924250, 908750, 916750, 924750, 909250, 917250, 925250, 909750, 917750, 925750, 910250, 918250, 926250]</Frequency>
                </FrequencyHopTable>
            </FrequencyInformation>
            <UHFC1G2RFModeTable>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>0</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>1</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>2</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>3</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>4</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>5</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>6</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>320000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>7</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>320000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>8</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>320000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>9</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>640000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>6250</MinTari>
                    <MaxTari>6250</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>10</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>640000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>6250</MinTari>
                    <MaxTari>6250</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>11</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>640000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>6250</MinTari>
                    <MaxTari>6250</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>12</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>13</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>14</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>15</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>16</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>17</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>18</ModeIdentifier>
                    <DR>0</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>0</Mod>
                    <FLM>0</FLM>
                    <M>1</M>
                    <BDR>80000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>19</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>0</Mod>
                    <FLM>0</FLM>
                    <M>1</M>
                    <BDR>320000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>20</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>0</Mod>
                    <FLM>2</FLM>
                    <M>1</M>
                    <BDR>640000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>6250</MinTari>
                    <MaxTari>6250</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
            </UHFC1G2RFModeTable>
        </UHFBandCapabilities>
    </RegulatoryCapabilities>
    <C1G2LLRPCapabilities>
        <CanSupportBlockErase>True</CanSupportBlockErase>
        <CanSupportBlockWrite>True</CanSupportBlockWrite>
        <CanSupportBlockPermalock>False</CanSupportBlockPermalock>
        <CanSupportTagRecommissioning>False</CanSupportTagRecommissioning>
        <CanSupportUMIMethod2>False</CanSupportUMIMethod2>
        <CanSupportXPC>False</CanSupportXPC>
        <MaxNumSelectFiltersPerQuery>8</MaxNumSelectFiltersPerQuery>
    </C1G2LLRPCapabilities>
    <SllurpDecodeError>
        <DecodeError>UnknownParameter</DecodeError>
        <Type>1023</Type>
        <Data>b'\x00\x00\x00\x01\x80'</Data>
        <VendorID>161</VendorID>
        <Subtype>1</Subtype>
    </SllurpDecodeError>
    <SllurpDecodeError>
        <DecodeError>UnknownParameter</DecodeError>
        <Type>1023</Type>
        <Data>b'\x00\x00\x00\x01\x80'</Data>
        <VendorID>161</VendorID>
        <Subtype>100</Subtype>
    </SllurpDecodeError>
    <SllurpDecodeError>
        <DecodeError>UnknownParameter</DecodeError>
        <Type>1023</Type>
        <Data>b'\x00\x00\x00\x01\xc0'</Data>
        <VendorID>161</VendorID>
        <Subtype>120</Subtype>
    </SllurpDecodeError>
    <SllurpDecodeError>
        <DecodeError>UnknownParameter</DecodeError>
        <Type>1023</Type>
        <Data>b'\x00\x00\x00\x01\xe0'</Data>
        <VendorID>161</VendorID>
        <Subtype>200</Subtype>
    </SllurpDecodeError>
    <SllurpDecodeError>
        <DecodeError>UnknownParameter</DecodeError>
        <Type>1023</Type>
        <Data>b'\x00\x00\x00\x01\x80'</Data>
        <VendorID>161</VendorID>
        <Subtype>300</Subtype>
    </SllurpDecodeError>
    <SllurpDecodeError>
        <DecodeError>UnknownParameter</DecodeError>
        <Type>1023</Type>
        <Data>b'\x00\x00\x00\x01\x90'</Data>
        <VendorID>161</VendorID>
        <Subtype>400</Subtype>
    </SllurpDecodeError>
</GET_READER_CAPABILITIES_RESPONSE>
2020-05-03 15:20:08,651 sllurp.llrp: DEBUG: in handleMessage(GET_READER_CAPABILITIES_RESPONSE), there are 1 Deferreds
2020-05-03 15:20:08,680 sllurp.llrp: DEBUG: set antennas: [0]
2020-05-03 15:20:08,681 sllurp.llrp: DEBUG: tx_power_table: [10.0, 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 11.9, 12.0, 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7, 12.8, 12.9, 13.0, 13.1, 13.2, 13.3, 13.4, 13.5, 13.6, 13.7, 13.8, 13.9, 14.0, 14.1, 14.2, 14.3, 14.4, 14.5, 14.6, 14.7, 14.8, 14.9, 15.0, 15.1, 15.2, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9, 16.0, 16.1, 16.2, 16.3, 16.4, 16.5, 16.6, 16.7, 16.8, 16.9, 17.0, 17.1, 17.2, 17.3, 17.4, 17.5, 17.6, 17.7, 17.8, 17.9, 18.0, 18.1, 18.2, 18.3, 18.4, 18.5, 18.6, 18.7, 18.8, 18.9, 19.0, 19.1, 19.2, 19.3, 19.4, 19.5, 19.6, 19.7, 19.8, 19.9, 20.0, 20.1, 20.2, 20.3, 20.4, 20.5, 20.6, 20.7, 20.8, 20.9, 21.0, 21.1, 21.2, 21.3, 21.4, 21.5, 21.6, 21.7, 21.8, 21.9, 22.0, 22.1, 22.2, 22.3, 22.4, 22.5, 22.6, 22.7, 22.8, 22.9, 23.0, 23.1, 23.2, 23.3, 23.4, 23.5, 23.6, 23.7, 23.8, 23.9, 24.0, 24.1, 24.2, 24.3, 24.4, 24.5, 24.6, 24.7, 24.8, 24.9, 25.0, 25.1, 25.2, 25.3, 25.4, 25.5, 25.6, 25.7, 25.8, 25.9, 26.0, 26.1, 26.2, 26.3, 26.4, 26.5, 26.6, 26.7, 26.8, 26.9, 27.0, 27.1, 27.2, 27.3, 27.4, 27.5, 27.6, 27.7, 27.8, 27.9, 28.0, 28.1, 28.2, 28.3, 28.4, 28.5, 28.6, 28.7, 28.8, 28.9, 29.0, 29.1, 29.2, 29.3, 29.4, 29.5, 29.6, 29.7, 29.8, 29.9, 30.0, 0]
2020-05-03 15:20:08,682 sllurp.llrp: DEBUG: requested tx_power: {0: 0}
2020-05-03 15:20:08,682 sllurp.llrp: DEBUG: tx_pow_validated: {0: (200, 30.0)}
2020-05-03 15:20:08,684 sllurp.llrp: DEBUG: tx_power for antenna 0: 200 (30.0 dBm)
2020-05-03 15:20:08,684 sllurp.llrp: INFO: using reader mode: None
2020-05-03 15:20:08,685 sllurp.llrp: DEBUG: running 1 Deferreds for GET_READER_CAPABILITIES_RESPONSE; isSuccess=True
2020-05-03 15:20:08,685 sllurp.llrp: DEBUG: state change: STATE_SENT_GET_CAPABILITIES -> STATE_CONNECTED
2020-05-03 15:20:08,686 sllurp.llrp: DEBUG: serializing GET_READER_CONFIG command
2020-05-03 15:20:08,686 sllurp.llrp: DEBUG: serialized bytes: b'0402000000110000000200000000000000'
2020-05-03 15:20:08,686 sllurp.llrp: DEBUG: done serializing GET_READER_CONFIG command
2020-05-03 15:20:08,687 sllurp.llrp: DEBUG: state change: STATE_CONNECTED -> STATE_SENT_GET_CONFIG
2020-05-03 15:20:08,871 sllurp.llrp: DEBUG: got 659 bytes from reader: b'040c0000029300000002011f00080000000000da000f000008c47dccffff31846600dd0009800001ff1000dd0009800002ff1000dd0009800003ff1000dd0009000004ff1000de0033000100df0006000100e0000a0001000100c8014a001d00014f0008000430d40150001040001400000000015100050000de0033000200df0006000100e0000a0001000100c8014a001d00014f0008000430d40150001040001400000000015100050000de0033000300df0006000100e0000a0001000100c8014a001d00014f0008000430d40150001040001400000000015100050000de0033000400df0006000100e0000a0001000100c8014a001d00014f0008000430d40150001040001400000000015100050000f4004300f5000700010000f5000700020000f5000700060000f5000700000000f5000700030000f5000700040000f5000700050000f5000700080000f5000700070000ed001200000000ee000b0000015c00050000ef00050000d900080000017500dc0009010000411a00e100080001000100e100080002000100e100080003000100e100080004000100db000700010000db000700020000db000700030000db000700040000e200058003ff000d000000a1000000650003ff0010000000a1000000ff0000000003ff000d000000a10000015e0003ff009c000000a1000000668000b1008f000003e9070000b2001200b300050100b60009000000000000b7003f0001000000b80009000000000000ba000703e90103ff000d000060ff0000012c8003ff000d000060ff0000012d0103ff000d000060ff0000012c8000ed003400000000ee000b9780015c0005c003ff0015000000a100000079010000021f4001000003ff000d000000a10000007a0103ff0010000000a1000001d200000000'
2020-05-03 15:20:08,872 sllurp.llrp: DEBUG: expect 659 bytes (have 659)
2020-05-03 15:20:08,872 sllurp.llrp: DEBUG: deserializing GET_READER_CONFIG_RESPONSE command
2020-05-03 15:20:08,873 sllurp.llrp_proto: DEBUG: decode_GET_READER_CONFIG_RESPONSE
2020-05-03 15:20:08,873 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-03 15:20:08,874 sllurp.llrp_proto: DEBUG: decode_AntennaProperties
2020-05-03 15:20:08,874 sllurp.llrp_proto: DEBUG: decode_AntennaProperties
2020-05-03 15:20:08,874 sllurp.llrp_proto: DEBUG: decode_AntennaProperties
2020-05-03 15:20:08,874 sllurp.llrp_proto: DEBUG: decode_AntennaProperties
2020-05-03 15:20:08,875 sllurp.llrp_proto: DEBUG: decode_AntennaConfiguration
2020-05-03 15:20:08,875 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-03 15:20:08,875 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-03 15:20:08,876 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-03 15:20:08,876 sllurp.llrp_proto: DEBUG: decode_C1G2SingulationControl
2020-05-03 15:20:08,878 sllurp.llrp_proto: DEBUG: decode_C1G2TagInventoryStateAwareSingulationAction
2020-05-03 15:20:08,878 sllurp.llrp_proto: DEBUG: decode_AntennaConfiguration
2020-05-03 15:20:08,878 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-03 15:20:08,884 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-03 15:20:08,884 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-03 15:20:08,884 sllurp.llrp_proto: DEBUG: decode_C1G2SingulationControl
2020-05-03 15:20:08,884 sllurp.llrp_proto: DEBUG: decode_C1G2TagInventoryStateAwareSingulationAction
2020-05-03 15:20:08,884 sllurp.llrp_proto: DEBUG: decode_AntennaConfiguration
2020-05-03 15:20:08,884 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-03 15:20:08,885 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-03 15:20:08,885 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-03 15:20:08,885 sllurp.llrp_proto: DEBUG: decode_C1G2SingulationControl
2020-05-03 15:20:08,886 sllurp.llrp_proto: DEBUG: decode_C1G2TagInventoryStateAwareSingulationAction
2020-05-03 15:20:08,886 sllurp.llrp_proto: DEBUG: decode_AntennaConfiguration
2020-05-03 15:20:08,886 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-03 15:20:08,887 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-03 15:20:08,887 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-03 15:20:08,887 sllurp.llrp_proto: DEBUG: decode_C1G2SingulationControl
2020-05-03 15:20:08,888 sllurp.llrp_proto: DEBUG: decode_C1G2TagInventoryStateAwareSingulationAction
2020-05-03 15:20:08,888 sllurp.llrp_proto: DEBUG: decode_ReaderEventNotificationSpec
2020-05-03 15:20:08,888 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-03 15:20:08,889 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-03 15:20:08,889 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-03 15:20:08,889 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-03 15:20:08,889 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-03 15:20:08,889 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-03 15:20:08,890 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-03 15:20:08,890 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-03 15:20:08,890 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-03 15:20:08,890 sllurp.llrp_proto: DEBUG: decode_ROReportSpec
2020-05-03 15:20:08,891 sllurp.llrp_proto: DEBUG: decode_ROReportSpec
2020-05-03 15:20:08,891 sllurp.llrp_proto: DEBUG: decode_TagReportContentSelector
2020-05-03 15:20:08,892 sllurp.llrp_proto: DEBUG: decode_TagReportContentSelector
2020-05-03 15:20:08,892 sllurp.llrp_proto: DEBUG: decode_C1G2EPCMemorySelector
2020-05-03 15:20:08,892 sllurp.llrp_proto: DEBUG: decode_GPIPortCurrentState
2020-05-03 15:20:08,893 sllurp.llrp_proto: DEBUG: decode_GPIPortCurrentState
2020-05-03 15:20:08,893 sllurp.llrp_proto: DEBUG: decode_GPIPortCurrentState
2020-05-03 15:20:08,893 sllurp.llrp_proto: DEBUG: decode_GPIPortCurrentState
2020-05-03 15:20:08,893 sllurp.llrp_proto: DEBUG: decode_GPOEvent
2020-05-03 15:20:08,894 sllurp.llrp_proto: DEBUG: decode_GPOEvent
2020-05-03 15:20:08,894 sllurp.llrp_proto: DEBUG: decode_GPOEvent
2020-05-03 15:20:08,894 sllurp.llrp_proto: DEBUG: decode_GPOEvent
2020-05-03 15:20:08,894 sllurp.llrp_proto: DEBUG: decode_GPOEvent
2020-05-03 15:20:08,895 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 101)
2020-05-03 15:20:08,895 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 255)
2020-05-03 15:20:08,895 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 350)
2020-05-03 15:20:08,895 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 102)
2020-05-03 15:20:08,895 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 466)
2020-05-03 15:20:08,896 sllurp.llrp: DEBUG: done deserializing GET_READER_CONFIG_RESPONSE command
2020-05-03 15:20:08,896 sllurp.llrp: DEBUG: starting message callbacks for GET_READER_CONFIG_RESPONSE
2020-05-03 15:20:08,896 sllurp.llrp: DEBUG: done with message callbacks for GET_READER_CONFIG_RESPONSE
2020-05-03 15:20:08,896 sllurp.llrp: DEBUG: LLRPMessage received in state 4:
<GET_READER_CONFIG_RESPONSE>
    <ID>2</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
    <Identification>
        <IDType>'MAC Address'</IDType>
        <ReaderID>b'c47dccffff318466'</ReaderID>
    </Identification>
    <ReaderEventNotificationSpec>
        <EventNotificationState>
            <EventType>'GPIEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'ROSpecEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'AISpecEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'HoppingEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'ReportBufferFillWarning'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'ReaderExceptionEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'RFSurveyEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'AntennaEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'AISpecEventWithSingulation'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
    </ReaderEventNotificationSpec>
    <ROReportSpec>
        <ROReportTrigger>'None'</ROReportTrigger>
        <N>0</N>
        <TagReportContentSelector>
            <EnableROSpecID>False</EnableROSpecID>
            <EnableSpecIndex>False</EnableSpecIndex>
            <EnableInventoryParameterSpecID>False</EnableInventoryParameterSpecID>
            <EnableAntennaID>False</EnableAntennaID>
            <EnableChannelIndex>False</EnableChannelIndex>
            <EnablePeakRSSI>False</EnablePeakRSSI>
            <EnableFirstSeenTimestamp>False</EnableFirstSeenTimestamp>
            <EnableLastSeenTimestamp>False</EnableLastSeenTimestamp>
            <EnableTagSeenCount>False</EnableTagSeenCount>
            <EnableAccessSpecID>False</EnableAccessSpecID>
            <C1G2EPCMemorySelector>
                <EnableCRC>False</EnableCRC>
                <EnablePCBits>False</EnablePCBits>
                <EnableXPCBits>False</EnableXPCBits>
            </C1G2EPCMemorySelector>
            <CustomParameter>False</CustomParameter>
        </TagReportContentSelector>
    </ROReportSpec>
    <AccessReportSpec>0</AccessReportSpec>
    <LLRPConfigurationStateValue>
        <LLRPConfigurationStateValue>373</LLRPConfigurationStateValue>
    </LLRPConfigurationStateValue>
    <KeepaliveSpec>
        <KeepaliveTriggerType>1</KeepaliveTriggerType>
        <TimeInterval>16666</TimeInterval>
    </KeepaliveSpec>
    <EventsAndReports>
        <HoldEventsAndReportsUponReconnect>True</HoldEventsAndReportsUponReconnect>
    </EventsAndReports>
    <AntennaProperties>
        <AntennaConnected>True</AntennaConnected>
        <AntennaID>1</AntennaID>
        <AntennaGain>-240</AntennaGain>
    </AntennaProperties>
    <AntennaProperties>
        <AntennaConnected>True</AntennaConnected>
        <AntennaID>2</AntennaID>
        <AntennaGain>-240</AntennaGain>
    </AntennaProperties>
    <AntennaProperties>
        <AntennaConnected>True</AntennaConnected>
        <AntennaID>3</AntennaID>
        <AntennaGain>-240</AntennaGain>
    </AntennaProperties>
    <AntennaProperties>
        <AntennaConnected>False</AntennaConnected>
        <AntennaID>4</AntennaID>
        <AntennaGain>-240</AntennaGain>
    </AntennaProperties>
    <AntennaConfiguration>
        <AntennaID>1</AntennaID>
        <RFReceiver>
            <ReceiverSensitivity>1</ReceiverSensitivity>
        </RFReceiver>
        <RFTransmitter>
            <HopTableId>1</HopTableId>
            <ChannelIndex>1</ChannelIndex>
            <TransmitPower>200</TransmitPower>
        </RFTransmitter>
        <C1G2InventoryCommand>
            <TagInventoryStateAware>False</TagInventoryStateAware>
            <C1G2RFControl>
                <ModeIndex>4</ModeIndex>
                <Tari>12500</Tari>
            </C1G2RFControl>
            <C1G2SingulationControl>
                <Session>1</Session>
                <TagPopulation>20</TagPopulation>
                <TagTransitTime>0</TagTransitTime>
                <C1G2TagInventoryStateAwareSingulationAction>
                    <I>'State_A'</I>
                    <S>'SL'</S>
                    <A>'No'</A>
                </C1G2TagInventoryStateAwareSingulationAction>
            </C1G2SingulationControl>
        </C1G2InventoryCommand>
    </AntennaConfiguration>
    <AntennaConfiguration>
        <AntennaID>2</AntennaID>
        <RFReceiver>
            <ReceiverSensitivity>1</ReceiverSensitivity>
        </RFReceiver>
        <RFTransmitter>
            <HopTableId>1</HopTableId>
            <ChannelIndex>1</ChannelIndex>
            <TransmitPower>200</TransmitPower>
        </RFTransmitter>
        <C1G2InventoryCommand>
            <TagInventoryStateAware>False</TagInventoryStateAware>
            <C1G2RFControl>
                <ModeIndex>4</ModeIndex>
                <Tari>12500</Tari>
            </C1G2RFControl>
            <C1G2SingulationControl>
                <Session>1</Session>
                <TagPopulation>20</TagPopulation>
                <TagTransitTime>0</TagTransitTime>
                <C1G2TagInventoryStateAwareSingulationAction>
                    <I>'State_A'</I>
                    <S>'SL'</S>
                    <A>'No'</A>
                </C1G2TagInventoryStateAwareSingulationAction>
            </C1G2SingulationControl>
        </C1G2InventoryCommand>
    </AntennaConfiguration>
    <AntennaConfiguration>
        <AntennaID>3</AntennaID>
        <RFReceiver>
            <ReceiverSensitivity>1</ReceiverSensitivity>
        </RFReceiver>
        <RFTransmitter>
            <HopTableId>1</HopTableId>
            <ChannelIndex>1</ChannelIndex>
            <TransmitPower>200</TransmitPower>
        </RFTransmitter>
        <C1G2InventoryCommand>
            <TagInventoryStateAware>False</TagInventoryStateAware>
            <C1G2RFControl>
                <ModeIndex>4</ModeIndex>
                <Tari>12500</Tari>
            </C1G2RFControl>
            <C1G2SingulationControl>
                <Session>1</Session>
                <TagPopulation>20</TagPopulation>
                <TagTransitTime>0</TagTransitTime>
                <C1G2TagInventoryStateAwareSingulationAction>
                    <I>'State_A'</I>
                    <S>'SL'</S>
                    <A>'No'</A>
                </C1G2TagInventoryStateAwareSingulationAction>
            </C1G2SingulationControl>
        </C1G2InventoryCommand>
    </AntennaConfiguration>
    <AntennaConfiguration>
        <AntennaID>4</AntennaID>
        <RFReceiver>
            <ReceiverSensitivity>1</ReceiverSensitivity>
        </RFReceiver>
        <RFTransmitter>
            <HopTableId>1</HopTableId>
            <ChannelIndex>1</ChannelIndex>
            <TransmitPower>200</TransmitPower>
        </RFTransmitter>
        <C1G2InventoryCommand>
            <TagInventoryStateAware>False</TagInventoryStateAware>
            <C1G2RFControl>
                <ModeIndex>4</ModeIndex>
                <Tari>12500</Tari>
            </C1G2RFControl>
            <C1G2SingulationControl>
                <Session>1</Session>
                <TagPopulation>20</TagPopulation>
                <TagTransitTime>0</TagTransitTime>
                <C1G2TagInventoryStateAwareSingulationAction>
                    <I>'State_A'</I>
                    <S>'SL'</S>
                    <A>'No'</A>
                </C1G2TagInventoryStateAwareSingulationAction>
            </C1G2SingulationControl>
        </C1G2InventoryCommand>
    </AntennaConfiguration>
    <GPIPortCurrentState>
        <GPIPortNum>1</GPIPortNum>
        <GPIConfig>False</GPIConfig>
        <GPIState>1</GPIState>
    </GPIPortCurrentState>
    <GPIPortCurrentState>
        <GPIPortNum>2</GPIPortNum>
        <GPIConfig>False</GPIConfig>
        <GPIState>1</GPIState>
    </GPIPortCurrentState>
    <GPIPortCurrentState>
        <GPIPortNum>3</GPIPortNum>
        <GPIConfig>False</GPIConfig>
        <GPIState>1</GPIState>
    </GPIPortCurrentState>
    <GPIPortCurrentState>
        <GPIPortNum>4</GPIPortNum>
        <GPIConfig>False</GPIConfig>
        <GPIState>1</GPIState>
    </GPIPortCurrentState>
    <GPOWriteData>
        <GPOPortNumber>1</GPOPortNumber>
        <GPOData>False</GPOData>
    </GPOWriteData>
    <GPOWriteData>
        <GPOPortNumber>2</GPOPortNumber>
        <GPOData>False</GPOData>
    </GPOWriteData>
    <GPOWriteData>
        <GPOPortNumber>3</GPOPortNumber>
        <GPOData>False</GPOData>
    </GPOWriteData>
    <GPOWriteData>
        <GPOPortNumber>4</GPOPortNumber>
        <GPOData>False</GPOData>
    </GPOWriteData>
    <SllurpDecodeError>
        <DecodeError>UnknownParameter</DecodeError>
        <Type>1023</Type>
        <Data>b'\x00'</Data>
        <VendorID>161</VendorID>
        <Subtype>101</Subtype>
    </SllurpDecodeError>
    <SllurpDecodeError>
        <DecodeError>UnknownParameter</DecodeError>
        <Type>1023</Type>
        <Data>b'\x00\x00\x00\x00'</Data>
        <VendorID>161</VendorID>
        <Subtype>255</Subtype>
    </SllurpDecodeError>
    <SllurpDecodeError>
        <DecodeError>UnknownParameter</DecodeError>
        <Type>1023</Type>
        <Data>b'\x00'</Data>
        <VendorID>161</VendorID>
        <Subtype>350</Subtype>
    </SllurpDecodeError>
    <SllurpDecodeError>
        <DecodeError>UnknownParameter</DecodeError>
        <Type>1023</Type>
        <Data>b'\x80\x00\xb1\x00\x8f\x00\x00\x03\xe9\x07\x00\x00\xb2\x00\x12\x00\xb3\x00\x05\x01\x00\xb6\x00\t\x00\x00\x00\x00\x00\x00\xb7\x00?\x00\x01\x00\x00\x00\xb8\x00\t\x00\x00\x00\x00\x00\x00\xba\x00\x07\x03\xe9\x01\x03\xff\x00\r\x00\x00`\xff\x00\x00\x01,\x80\x03\xff\x00\r\x00\x00`\xff\x00\x00\x01-\x01\x03\xff\x00\r\x00\x00`\xff\x00\x00\x01,\x80\x00\xed\x004\x00\x00\x00\x00\xee\x00\x0b\x97\x80\x01\\\x00\x05\xc0\x03\xff\x00\x15\x00\x00\x00\xa1\x00\x00\x00y\x01\x00\x00\x02\x1f@\x01\x00\x00\x03\xff\x00\r\x00\x00\x00\xa1\x00\x00\x00z\x01'</Data>
        <VendorID>161</VendorID>
        <Subtype>102</Subtype>
    </SllurpDecodeError>
    <SllurpDecodeError>
        <DecodeError>UnknownParameter</DecodeError>
        <Type>1023</Type>
        <Data>b'\x00\x00\x00\x00'</Data>
        <VendorID>161</VendorID>
        <Subtype>466</Subtype>
    </SllurpDecodeError>
</GET_READER_CONFIG_RESPONSE>
2020-05-03 15:20:08,906 sllurp.llrp: DEBUG: in handleMessage(GET_READER_CONFIG_RESPONSE), there are 1 Deferreds
2020-05-03 15:20:08,907 sllurp.llrp: DEBUG: running 1 Deferreds for GET_READER_CONFIG_RESPONSE; isSuccess=True
2020-05-03 15:20:08,907 sllurp.llrp: DEBUG: state change: STATE_SENT_GET_CONFIG -> STATE_SENT_GET_CONFIG
2020-05-03 15:20:08,907 sllurp.llrp: DEBUG: serializing ENABLE_EVENTS_AND_REPORTS command
2020-05-03 15:20:08,908 sllurp.llrp: DEBUG: serialized bytes: b'04400000000a00000003'
2020-05-03 15:20:08,908 sllurp.llrp: DEBUG: done serializing ENABLE_EVENTS_AND_REPORTS command
2020-05-03 15:20:08,909 sllurp.llrp: DEBUG: serializing SET_READER_CONFIG command
2020-05-03 15:20:08,909 sllurp.llrp_proto: DEBUG: Encode: ReaderEventNotificationSpec
2020-05-03 15:20:08,910 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-03 15:20:08,910 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-03 15:20:08,910 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-03 15:20:08,910 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-03 15:20:08,911 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-03 15:20:08,911 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-03 15:20:08,911 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-03 15:20:08,912 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-03 15:20:08,912 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-03 15:20:08,912 sllurp.llrp: DEBUG: serialized bytes: b'04030000004e000000040000f4004300f5000700000000f5000700010000f5000700020000f5000700030000f5000700040000f5000700050000f5000700060000f5000700070000f50007000800'
2020-05-03 15:20:08,913 sllurp.llrp: DEBUG: done serializing SET_READER_CONFIG command
2020-05-03 15:20:08,913 sllurp.llrp: DEBUG: state change: STATE_SENT_GET_CONFIG -> STATE_SENT_SET_CONFIG
2020-05-03 15:20:09,056 sllurp.llrp: DEBUG: got 10 bytes from reader: b'043d0000000a00000d1e'
2020-05-03 15:20:09,057 sllurp.llrp: DEBUG: expect 10 bytes (have 10)
2020-05-03 15:20:09,057 sllurp.llrp: DEBUG: deserializing RO_ACCESS_REPORT command
2020-05-03 15:20:09,057 sllurp.llrp_proto: DEBUG: decode_RO_ACCESS_REPORT
2020-05-03 15:20:09,058 sllurp.llrp: DEBUG: done deserializing RO_ACCESS_REPORT command
2020-05-03 15:20:09,058 sllurp.llrp: DEBUG: starting message callbacks for RO_ACCESS_REPORT
2020-05-03 15:20:09,059 sllurp.verb.inventory: INFO: no tags seen
2020-05-03 15:20:09,059 sllurp.llrp: DEBUG: done with message callbacks for RO_ACCESS_REPORT
2020-05-03 15:20:09,059 sllurp.llrp: DEBUG: LLRPMessage received in state 5:
<RO_ACCESS_REPORT>
    <ID>3358</ID>
    <TagReportData>[]</TagReportData>
</RO_ACCESS_REPORT>
2020-05-03 15:20:09,060 sllurp.llrp: DEBUG: ignoring RO_ACCESS_REPORT because not inventorying
2020-05-03 15:20:09,352 sllurp.llrp: DEBUG: got 18 bytes from reader: b'040d0000001200000004011f000800000000'
2020-05-03 15:20:09,353 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-03 15:20:09,353 sllurp.llrp: DEBUG: deserializing SET_READER_CONFIG_RESPONSE command
2020-05-03 15:20:09,353 sllurp.llrp_proto: DEBUG: decode_SET_READER_CONFIG_RESPONSE
2020-05-03 15:20:09,354 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-03 15:20:09,354 sllurp.llrp: DEBUG: done deserializing SET_READER_CONFIG_RESPONSE command
2020-05-03 15:20:09,354 sllurp.llrp: DEBUG: starting message callbacks for SET_READER_CONFIG_RESPONSE
2020-05-03 15:20:09,355 sllurp.llrp: DEBUG: done with message callbacks for SET_READER_CONFIG_RESPONSE
2020-05-03 15:20:09,355 sllurp.llrp: DEBUG: LLRPMessage received in state 5:
<SET_READER_CONFIG_RESPONSE>
    <ID>4</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</SET_READER_CONFIG_RESPONSE>
2020-05-03 15:20:09,356 sllurp.llrp: DEBUG: in handleMessage(SET_READER_CONFIG_RESPONSE), there are 1 Deferreds
2020-05-03 15:20:09,356 sllurp.llrp: DEBUG: running 1 Deferreds for SET_READER_CONFIG_RESPONSE; isSuccess=True
2020-05-03 15:20:09,356 sllurp.llrp: DEBUG: state change: STATE_SENT_SET_CONFIG -> STATE_SENT_SET_CONFIG
2020-05-03 15:20:09,357 sllurp.llrp: INFO: stopping politely
2020-05-03 15:20:09,357 sllurp.llrp: DEBUG: serializing DELETE_ACCESSSPEC command
2020-05-03 15:20:09,357 sllurp.llrp: DEBUG: serialized bytes: b'04290000000e0000000500000000'
2020-05-03 15:20:09,358 sllurp.llrp: DEBUG: done serializing DELETE_ACCESSSPEC command
2020-05-03 15:20:09,358 sllurp.llrp: DEBUG: state change: STATE_SENT_SET_CONFIG -> STATE_SENT_DELETE_ACCESSSPEC
2020-05-03 15:20:09,491 sllurp.llrp: DEBUG: got 18 bytes from reader: b'04330000001200000005011f000800000000'
2020-05-03 15:20:09,491 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-03 15:20:09,492 sllurp.llrp: DEBUG: deserializing DELETE_ACCESSSPEC_RESPONSE command
2020-05-03 15:20:09,492 sllurp.llrp_proto: DEBUG: decode_DELETE_ACCESSSPEC_RESPONSE
2020-05-03 15:20:09,492 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-03 15:20:09,492 sllurp.llrp: DEBUG: done deserializing DELETE_ACCESSSPEC_RESPONSE command
2020-05-03 15:20:09,493 sllurp.llrp: DEBUG: starting message callbacks for DELETE_ACCESSSPEC_RESPONSE
2020-05-03 15:20:09,493 sllurp.llrp: DEBUG: done with message callbacks for DELETE_ACCESSSPEC_RESPONSE
2020-05-03 15:20:09,493 sllurp.llrp: DEBUG: LLRPMessage received in state 20:
<DELETE_ACCESSSPEC_RESPONSE>
    <ID>5</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</DELETE_ACCESSSPEC_RESPONSE>
2020-05-03 15:20:09,494 sllurp.llrp: DEBUG: in handleMessage(DELETE_ACCESSSPEC_RESPONSE), there are 1 Deferreds
2020-05-03 15:20:09,494 sllurp.llrp: DEBUG: running 1 Deferreds for DELETE_ACCESSSPEC_RESPONSE; isSuccess=True
2020-05-03 15:20:09,495 sllurp.llrp: DEBUG: serializing DELETE_ROSPEC command
2020-05-03 15:20:09,495 sllurp.llrp: DEBUG: serialized bytes: b'04150000000e0000000600000000'
2020-05-03 15:20:09,495 sllurp.llrp: DEBUG: done serializing DELETE_ROSPEC command
2020-05-03 15:20:09,496 sllurp.llrp: DEBUG: state change: STATE_SENT_DELETE_ACCESSSPEC -> STATE_SENT_DELETE_ROSPEC
2020-05-03 15:20:09,591 sllurp.llrp: DEBUG: got 18 bytes from reader: b'041f0000001200000006011f000800000000'
2020-05-03 15:20:09,591 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-03 15:20:09,591 sllurp.llrp: DEBUG: deserializing DELETE_ROSPEC_RESPONSE command
2020-05-03 15:20:09,592 sllurp.llrp_proto: DEBUG: decode_DELETE_ROSPEC_RESPONSE
2020-05-03 15:20:09,592 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-03 15:20:09,592 sllurp.llrp: DEBUG: done deserializing DELETE_ROSPEC_RESPONSE command
2020-05-03 15:20:09,593 sllurp.llrp: DEBUG: starting message callbacks for DELETE_ROSPEC_RESPONSE
2020-05-03 15:20:09,593 sllurp.llrp: DEBUG: done with message callbacks for DELETE_ROSPEC_RESPONSE
2020-05-03 15:20:09,593 sllurp.llrp: DEBUG: LLRPMessage received in state 19:
<DELETE_ROSPEC_RESPONSE>
    <ID>6</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</DELETE_ROSPEC_RESPONSE>
2020-05-03 15:20:09,594 sllurp.llrp: DEBUG: in handleMessage(DELETE_ROSPEC_RESPONSE), there are 1 Deferreds
2020-05-03 15:20:09,594 sllurp.llrp: DEBUG: running 1 Deferreds for DELETE_ROSPEC_RESPONSE; isSuccess=True
2020-05-03 15:20:09,595 sllurp.llrp: DEBUG: state change: STATE_SENT_DELETE_ROSPEC -> STATE_CONNECTED
2020-05-03 15:20:09,595 sllurp.llrp: INFO: Impinj search mode? None
2020-05-03 15:20:09,595 sllurp.llrp: DEBUG: ROSpec:
<ROSpec>
    <ROSpecID>1</ROSpecID>
    <Priority>0</Priority>
    <CurrentState>'Disabled'</CurrentState>
    <ROBoundarySpec>
        <ROSpecStartTrigger>
            <ROSpecStartTriggerType>'Immediate'</ROSpecStartTriggerType>
        </ROSpecStartTrigger>
        <ROSpecStopTrigger>
            <ROSpecStopTriggerType>'Null'</ROSpecStopTriggerType>
            <DurationTriggerValue>0</DurationTriggerValue>
        </ROSpecStopTrigger>
    </ROBoundarySpec>
    <AISpec>
        <AntennaID>[0]</AntennaID>
        <AISpecStopTrigger>
            <AISpecStopTriggerType>'Null'</AISpecStopTriggerType>
            <DurationTriggerValue>0</DurationTriggerValue>
        </AISpecStopTrigger>
        <InventoryParameterSpec>
            <InventoryParameterSpecID>1</InventoryParameterSpecID>
            <ProtocolID>1</ProtocolID>
            <AntennaConfiguration>
                <AntennaID>0</AntennaID>
                <RFTransmitter>
                    <HopTableId>1</HopTableId>
                    <ChannelIndex>1</ChannelIndex>
                    <TransmitPower>200</TransmitPower>
                </RFTransmitter>
                <C1G2InventoryCommand>
                    <TagInventoryStateAware>False</TagInventoryStateAware>
                    <C1G2SingulationControl>
                        <Session>2</Session>
                        <TagPopulation>4</TagPopulation>
                        <TagTransitTime>0</TagTransitTime>
                    </C1G2SingulationControl>
                </C1G2InventoryCommand>
            </AntennaConfiguration>
        </InventoryParameterSpec>
    </AISpec>
    <ROReportSpec>
        <ROReportTrigger>'Upon_N_Tags_Or_End_Of_AISpec'</ROReportTrigger>
        <N>0</N>
        <TagReportContentSelector>
            <EnableROSpecID>False</EnableROSpecID>
            <EnableSpecIndex>False</EnableSpecIndex>
            <EnableInventoryParameterSpecID>False</EnableInventoryParameterSpecID>
            <EnableAntennaID>False</EnableAntennaID>
            <EnableChannelIndex>True</EnableChannelIndex>
            <EnablePeakRSSI>False</EnablePeakRSSI>
            <EnableFirstSeenTimestamp>False</EnableFirstSeenTimestamp>
            <EnableLastSeenTimestamp>True</EnableLastSeenTimestamp>
            <EnableTagSeenCount>True</EnableTagSeenCount>
            <EnableAccessSpecID>False</EnableAccessSpecID>
            <C1G2EPCMemorySelector>
                <EnableCRC>False</EnableCRC>
                <EnablePCBits>False</EnablePCBits>
            </C1G2EPCMemorySelector>
        </TagReportContentSelector>
    </ROReportSpec>
</ROSpec>
2020-05-03 15:20:09,598 sllurp.llrp: INFO: starting inventory
2020-05-03 15:20:09,598 sllurp.llrp: DEBUG: made enabled_rospec
2020-05-03 15:20:09,598 sllurp.llrp: DEBUG: made added_rospec
2020-05-03 15:20:09,599 sllurp.llrp: DEBUG: about to send_ADD_ROSPEC
2020-05-03 15:20:09,599 sllurp.llrp: DEBUG: serializing ADD_ROSPEC command
2020-05-03 15:20:09,599 sllurp.llrp_proto: DEBUG: Encode: ROSpec
2020-05-03 15:20:09,599 sllurp.llrp_proto: DEBUG: Encode: ROBoundarySpec
2020-05-03 15:20:09,600 sllurp.llrp_proto: DEBUG: Encode: ROSpecStartTrigger
2020-05-03 15:20:09,600 sllurp.llrp_proto: DEBUG: Encode: ROSpecStopTrigger
2020-05-03 15:20:09,600 sllurp.llrp_proto: DEBUG: Encode: AISpec
2020-05-03 15:20:09,600 sllurp.llrp_proto: DEBUG: Encode: AISpecStopTrigger
2020-05-03 15:20:09,601 sllurp.llrp_proto: DEBUG: Encode: InventoryParameterSpec
2020-05-03 15:20:09,601 sllurp.llrp_proto: DEBUG: Encode: AntennaConfiguration
2020-05-03 15:20:09,601 sllurp.llrp_proto: DEBUG: Encode: RFTransmitter
2020-05-03 15:20:09,601 sllurp.llrp_proto: DEBUG: Encode: C1G2InventoryCommand
2020-05-03 15:20:09,602 sllurp.llrp_proto: DEBUG: Encode: C1G2SingulationControl
2020-05-03 15:20:09,602 sllurp.llrp_proto: DEBUG: Encode: ROReportSpec
2020-05-03 15:20:09,602 sllurp.llrp_proto: DEBUG: Encode: TagReportContentSelector
2020-05-03 15:20:09,602 sllurp.llrp_proto: DEBUG: Encode: C1G2EPCMemorySelector
2020-05-03 15:20:09,603 sllurp.llrp: DEBUG: serialized bytes: b'0414000000700000000700b1006600000001000000b2001200b300050100b60009000000000000b700380001000000b80009000000000000ba002700010100de0020000000e0000a0001000100c8014a0010000150000b8000040000000000ed001201000000ee000b0980015c000500'
2020-05-03 15:20:09,603 sllurp.llrp: DEBUG: done serializing ADD_ROSPEC command
2020-05-03 15:20:09,603 sllurp.llrp: DEBUG: sent ADD_ROSPEC
2020-05-03 15:20:09,604 sllurp.llrp: DEBUG: state change: STATE_CONNECTED -> STATE_SENT_ADD_ROSPEC
2020-05-03 15:20:09,695 sllurp.llrp: DEBUG: got 18 bytes from reader: b'041e0000001200000007011f000800000000'
2020-05-03 15:20:09,695 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-03 15:20:09,695 sllurp.llrp: DEBUG: deserializing ADD_ROSPEC_RESPONSE command
2020-05-03 15:20:09,696 sllurp.llrp_proto: DEBUG: decode_ADD_ROSPEC_RESPONSE
2020-05-03 15:20:09,696 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-03 15:20:09,697 sllurp.llrp: DEBUG: done deserializing ADD_ROSPEC_RESPONSE command
2020-05-03 15:20:09,697 sllurp.llrp: DEBUG: starting message callbacks for ADD_ROSPEC_RESPONSE
2020-05-03 15:20:09,697 sllurp.llrp: DEBUG: done with message callbacks for ADD_ROSPEC_RESPONSE
2020-05-03 15:20:09,698 sllurp.llrp: DEBUG: LLRPMessage received in state 15:
<ADD_ROSPEC_RESPONSE>
    <ID>7</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</ADD_ROSPEC_RESPONSE>
2020-05-03 15:20:09,698 sllurp.llrp: DEBUG: in handleMessage(ADD_ROSPEC_RESPONSE), there are 1 Deferreds
2020-05-03 15:20:09,699 sllurp.llrp: DEBUG: running 1 Deferreds for ADD_ROSPEC_RESPONSE; isSuccess=True
2020-05-03 15:20:09,699 sllurp.llrp: DEBUG: serializing ENABLE_ROSPEC command
2020-05-03 15:20:09,699 sllurp.llrp: DEBUG: serialized bytes: b'04180000000e0000000800000001'
2020-05-03 15:20:09,700 sllurp.llrp: DEBUG: done serializing ENABLE_ROSPEC command
2020-05-03 15:20:09,700 sllurp.llrp: DEBUG: state change: STATE_SENT_ADD_ROSPEC -> STATE_SENT_ENABLE_ROSPEC
2020-05-03 15:20:09,792 sllurp.llrp: DEBUG: got 18 bytes from reader: b'04220000001200000008011f000800000000'
2020-05-03 15:20:09,792 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-03 15:20:09,792 sllurp.llrp: DEBUG: deserializing ENABLE_ROSPEC_RESPONSE command
2020-05-03 15:20:09,793 sllurp.llrp_proto: DEBUG: decode_ENABLE_ROSPEC_RESPONSE
2020-05-03 15:20:09,793 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-03 15:20:09,793 sllurp.llrp: DEBUG: done deserializing ENABLE_ROSPEC_RESPONSE command
2020-05-03 15:20:09,794 sllurp.llrp: DEBUG: starting message callbacks for ENABLE_ROSPEC_RESPONSE
2020-05-03 15:20:09,794 sllurp.llrp: DEBUG: done with message callbacks for ENABLE_ROSPEC_RESPONSE
2020-05-03 15:20:09,794 sllurp.llrp: DEBUG: LLRPMessage received in state 16:
<ENABLE_ROSPEC_RESPONSE>
    <ID>8</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</ENABLE_ROSPEC_RESPONSE>
2020-05-03 15:20:09,795 sllurp.llrp: DEBUG: in handleMessage(ENABLE_ROSPEC_RESPONSE), there are 1 Deferreds
2020-05-03 15:20:09,795 sllurp.llrp: DEBUG: running 1 Deferreds for ENABLE_ROSPEC_RESPONSE; isSuccess=True
2020-05-03 15:20:09,795 sllurp.llrp: DEBUG: state change: STATE_SENT_ENABLE_ROSPEC -> STATE_INVENTORYING
2020-05-03 15:20:17,143 sllurp.verb.inventory: INFO: Exit detected! Stopping readers...
2020-05-03 15:20:17,143 sllurp.llrp: INFO: stopPolitely will disconnect when stopped
2020-05-03 15:20:17,143 sllurp.llrp: INFO: stopping politely
2020-05-03 15:20:17,143 sllurp.llrp: DEBUG: serializing DELETE_ACCESSSPEC command
2020-05-03 15:20:17,143 sllurp.llrp: DEBUG: serialized bytes: b'04290000000e0000000900000000'
2020-05-03 15:20:17,145 sllurp.llrp: DEBUG: done serializing DELETE_ACCESSSPEC command
2020-05-03 15:20:17,145 sllurp.llrp: DEBUG: state change: STATE_INVENTORYING -> STATE_SENT_DELETE_ACCESSSPEC
2020-05-03 15:20:17,231 sllurp.llrp: DEBUG: got 18 bytes from reader: b'04330000001200000009011f000800000000'
2020-05-03 15:20:17,237 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-03 15:20:17,238 sllurp.llrp: DEBUG: deserializing DELETE_ACCESSSPEC_RESPONSE command
2020-05-03 15:20:17,238 sllurp.llrp_proto: DEBUG: decode_DELETE_ACCESSSPEC_RESPONSE
2020-05-03 15:20:17,238 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-03 15:20:17,239 sllurp.llrp: DEBUG: done deserializing DELETE_ACCESSSPEC_RESPONSE command
2020-05-03 15:20:17,242 sllurp.llrp: DEBUG: starting message callbacks for DELETE_ACCESSSPEC_RESPONSE
2020-05-03 15:20:17,242 sllurp.llrp: DEBUG: done with message callbacks for DELETE_ACCESSSPEC_RESPONSE
2020-05-03 15:20:17,243 sllurp.llrp: DEBUG: LLRPMessage received in state 20:
<DELETE_ACCESSSPEC_RESPONSE>
    <ID>9</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</DELETE_ACCESSSPEC_RESPONSE>
2020-05-03 15:20:17,243 sllurp.llrp: DEBUG: in handleMessage(DELETE_ACCESSSPEC_RESPONSE), there are 1 Deferreds
2020-05-03 15:20:17,244 sllurp.llrp: DEBUG: running 1 Deferreds for DELETE_ACCESSSPEC_RESPONSE; isSuccess=True
2020-05-03 15:20:17,244 sllurp.llrp: DEBUG: serializing DELETE_ROSPEC command
2020-05-03 15:20:17,244 sllurp.llrp: DEBUG: serialized bytes: b'04150000000e0000000a00000000'
2020-05-03 15:20:17,245 sllurp.llrp: DEBUG: done serializing DELETE_ROSPEC command
2020-05-03 15:20:17,246 sllurp.llrp: DEBUG: state change: STATE_SENT_DELETE_ACCESSSPEC -> STATE_SENT_DELETE_ROSPEC
2020-05-03 15:20:17,373 sllurp.llrp: DEBUG: got 298 bytes from reader: b'043d0000012a00000d1f00f000208de2005037590701270270edaf87000d840005a4bfef28f10f8800d700f000208de2005037590901282290274587000d840005a4bfef2927bf8800d400f000208de2005037590701990230ef4f87000d840005a4bfef29a4bf8800ce00f000208de200503759090160231026c787000d840005a4bfef297daf8800d000f000208de20050375909007522302f8387000d840005a4bfef2991378800cc00f000208de2005037590701270200f18887000d840005a4bfef287bdf88005200f000208de20050375909015722302e3b87000d840005a4bfef285c9f88002400f000208de2005037590901432180320e87000f840005a4bfef286c3f88003000f000208de200503759090100230027b687000f840005a4bfef288b7f880030'
2020-05-03 15:20:17,374 sllurp.llrp: DEBUG: expect 298 bytes (have 298)
2020-05-03 15:20:17,374 sllurp.llrp: DEBUG: deserializing RO_ACCESS_REPORT command
2020-05-03 15:20:17,375 sllurp.llrp_proto: DEBUG: decode_RO_ACCESS_REPORT
2020-05-03 15:20:17,375 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-03 15:20:17,375 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-03 15:20:17,375 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-03 15:20:17,376 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-03 15:20:17,376 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-03 15:20:17,376 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-03 15:20:17,376 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-03 15:20:17,377 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-03 15:20:17,377 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-03 15:20:17,377 sllurp.llrp: DEBUG: done deserializing RO_ACCESS_REPORT command
2020-05-03 15:20:17,377 sllurp.llrp: DEBUG: starting message callbacks for RO_ACCESS_REPORT
2020-05-03 15:20:17,378 sllurp.verb.inventory: INFO: saw tag(s): [{'ChannelIndex': 13,
  'EPC': b'e2005037590701270270edaf',
  'EPC-96': b'e2005037590701270270edaf',
  'LastSeenTimestampUTC': 1588519141699855,
  'TagSeenCount': 215},
 {'ChannelIndex': 13,
  'EPC': b'e20050375909012822902745',
  'EPC-96': b'e20050375909012822902745',
  'LastSeenTimestampUTC': 1588519141713855,
  'TagSeenCount': 212},
 {'ChannelIndex': 13,
  'EPC': b'e2005037590701990230ef4f',
  'EPC-96': b'e2005037590701990230ef4f',
  'LastSeenTimestampUTC': 1588519141745855,
  'TagSeenCount': 206},
 {'ChannelIndex': 13,
  'EPC': b'e200503759090160231026c7',
  'EPC-96': b'e200503759090160231026c7',
  'LastSeenTimestampUTC': 1588519141735855,
  'TagSeenCount': 208},
 {'ChannelIndex': 13,
  'EPC': b'e20050375909007522302f83',
  'EPC-96': b'e20050375909007522302f83',
  'LastSeenTimestampUTC': 1588519141740855,
  'TagSeenCount': 204},
 {'ChannelIndex': 13,
  'EPC': b'e2005037590701270200f188',
  'EPC-96': b'e2005037590701270200f188',
  'LastSeenTimestampUTC': 1588519141669855,
  'TagSeenCount': 82},
 {'ChannelIndex': 13,
  'EPC': b'e20050375909015722302e3b',
  'EPC-96': b'e20050375909015722302e3b',
  'LastSeenTimestampUTC': 1588519141661855,
  'TagSeenCount': 36},
 {'ChannelIndex': 15,
  'EPC': b'e2005037590901432180320e',
  'EPC-96': b'e2005037590901432180320e',
  'LastSeenTimestampUTC': 1588519141665855,
  'TagSeenCount': 48},
 {'ChannelIndex': 15,
  'EPC': b'e200503759090100230027b6',
  'EPC-96': b'e200503759090100230027b6',
  'LastSeenTimestampUTC': 1588519141673855,
  'TagSeenCount': 48}]
2020-05-03 15:20:17,380 sllurp.llrp: DEBUG: done with message callbacks for RO_ACCESS_REPORT
2020-05-03 15:20:17,380 sllurp.llrp: DEBUG: LLRPMessage received in state 19:
<RO_ACCESS_REPORT>
    <ID>3359</ID>
    <TagReportData>
        <EPC>b'e2005037590701270270edaf'</EPC>
        <EPC-96>b'e2005037590701270270edaf'</EPC-96>
        <ChannelIndex>13</ChannelIndex>
        <LastSeenTimestampUTC>1588519141699855</LastSeenTimestampUTC>
        <TagSeenCount>215</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e20050375909012822902745'</EPC>
        <EPC-96>b'e20050375909012822902745'</EPC-96>
        <ChannelIndex>13</ChannelIndex>
        <LastSeenTimestampUTC>1588519141713855</LastSeenTimestampUTC>
        <TagSeenCount>212</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e2005037590701990230ef4f'</EPC>
        <EPC-96>b'e2005037590701990230ef4f'</EPC-96>
        <ChannelIndex>13</ChannelIndex>
        <LastSeenTimestampUTC>1588519141745855</LastSeenTimestampUTC>
        <TagSeenCount>206</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e200503759090160231026c7'</EPC>
        <EPC-96>b'e200503759090160231026c7'</EPC-96>
        <ChannelIndex>13</ChannelIndex>
        <LastSeenTimestampUTC>1588519141735855</LastSeenTimestampUTC>
        <TagSeenCount>208</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e20050375909007522302f83'</EPC>
        <EPC-96>b'e20050375909007522302f83'</EPC-96>
        <ChannelIndex>13</ChannelIndex>
        <LastSeenTimestampUTC>1588519141740855</LastSeenTimestampUTC>
        <TagSeenCount>204</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e2005037590701270200f188'</EPC>
        <EPC-96>b'e2005037590701270200f188'</EPC-96>
        <ChannelIndex>13</ChannelIndex>
        <LastSeenTimestampUTC>1588519141669855</LastSeenTimestampUTC>
        <TagSeenCount>82</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e20050375909015722302e3b'</EPC>
        <EPC-96>b'e20050375909015722302e3b'</EPC-96>
        <ChannelIndex>13</ChannelIndex>
        <LastSeenTimestampUTC>1588519141661855</LastSeenTimestampUTC>
        <TagSeenCount>36</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e2005037590901432180320e'</EPC>
        <EPC-96>b'e2005037590901432180320e'</EPC-96>
        <ChannelIndex>15</ChannelIndex>
        <LastSeenTimestampUTC>1588519141665855</LastSeenTimestampUTC>
        <TagSeenCount>48</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e200503759090100230027b6'</EPC>
        <EPC-96>b'e200503759090100230027b6'</EPC-96>
        <ChannelIndex>15</ChannelIndex>
        <LastSeenTimestampUTC>1588519141673855</LastSeenTimestampUTC>
        <TagSeenCount>48</TagSeenCount>
    </TagReportData>
</RO_ACCESS_REPORT>
2020-05-03 15:20:17,383 sllurp.llrp: DEBUG: ignoring RO_ACCESS_REPORT because not inventorying
2020-05-03 15:20:17,492 sllurp.llrp: DEBUG: got 18 bytes from reader: b'041f000000120000000a011f000800000000'
2020-05-03 15:20:17,492 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-03 15:20:17,493 sllurp.llrp: DEBUG: deserializing DELETE_ROSPEC_RESPONSE command
2020-05-03 15:20:17,493 sllurp.llrp_proto: DEBUG: decode_DELETE_ROSPEC_RESPONSE
2020-05-03 15:20:17,494 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-03 15:20:17,494 sllurp.llrp: DEBUG: done deserializing DELETE_ROSPEC_RESPONSE command
2020-05-03 15:20:17,494 sllurp.llrp: DEBUG: starting message callbacks for DELETE_ROSPEC_RESPONSE
2020-05-03 15:20:17,495 sllurp.llrp: DEBUG: done with message callbacks for DELETE_ROSPEC_RESPONSE
2020-05-03 15:20:17,495 sllurp.llrp: DEBUG: LLRPMessage received in state 19:
<DELETE_ROSPEC_RESPONSE>
    <ID>10</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</DELETE_ROSPEC_RESPONSE>
2020-05-03 15:20:17,496 sllurp.llrp: DEBUG: in handleMessage(DELETE_ROSPEC_RESPONSE), there are 1 Deferreds
2020-05-03 15:20:17,496 sllurp.llrp: DEBUG: running 1 Deferreds for DELETE_ROSPEC_RESPONSE; isSuccess=True
2020-05-03 15:20:17,496 sllurp.llrp: DEBUG: state change: STATE_SENT_DELETE_ROSPEC -> STATE_DISCONNECTED
2020-05-03 15:20:17,497 sllurp.llrp: INFO: disconnecting
2020-05-03 15:20:17,497 sllurp.verb.inventory: INFO: total # of tags seen: 1259 (163 tags/second)

There are some "unknown parameter" can't be decoded messages, during deserializing of GET_READER_CAPABILITIES_RESPONSE I think. The same happens during deserializing GET_READER_CONFIG_RESPONSE.

From what I understood from the LLRP standard, these are custom parameters (type 1023).

The RFID Reader Software Interface Control Guide has details about these parameters.


fviard commented 4 years ago

Yes, you got it right. Unknown parameters are the one that are sent by the reader but that we don't have a decoder for in llrp_proto.

In the config and capabilities list response by the reader that was expected.

Good thing also, it looks like that just "vendor" parameters are unknown, but no standard field.

That being said, it looks like that the reader is not really respecting the specification, because normally we should have sent an EXTENSION_ENABLE message to the reader before it sends any "custom" message or parameter.

2 notes:

So, that is a very good and easy starting point for you. You can start to add the decoder for these messages.

Yes, 1023 is the type for custom parameter or message, 161 is the vendor code, and then the subtype that you see.

So, what I suggest you to begin with:

pBogey commented 4 years ago

A little bit later in the zebra specification, for each parameter, you will have a table with the corresponding bit stream. That is the most convenient to know the size and type of each field. Are these tables clear to you?

Yeah, I think so. They are like the headers in the TCP/IP standard, but I don't know how to extract information from them.

I have made the following modifications in llrp_proto.py:

# 16.1.2 GET_READER_CAPABILITIES_RESPONSE
Message_struct['GET_READER_CAPABILITIES_RESPONSE'] = {
    'type': 11,
    'fields': [
        'ID',
    ],
    'o_fields': [
        'LLRPStatus',
        'GeneralDeviceCapabilities',
        'LLRPCapabilities',
        'RegulatoryCapabilities',
        'C1G2LLRPCapabilities',
        'ImpinjDetailedVersion',
        'ImpinjFrequencyCapabilities',
        'ImpinjAntennaCapabilities',
        'MotoAutonomousCapabilities',     # Added this field
        # Decoder not yet implemented:
        'ImpinjxArrayCapabilities'
    ],
    'decode': decode_generic_message_with_status_check
}

def decode_MotoAutonomousCapabilities(data, name=None):
    logger.debugfast('decode_MotoAutonomousCapabilities')

    fields = uint_ubyte_unpack(data[:uint_ubyte_size])  # (Version, CanSupportAutonomousMode)
    par = {
        'Version': fields[0],
        'CanSupportAutonomousMode': fields[1] & BIT(7) == BIT(7)
    }

    data = data[uint_ubyte_size:]
    par, _ = decode_all_parameters(data, 'MotoAutonomousCapabilities', par)

    return par, ''

Param_struct['MotoAutonomousCapabilities'] = {
    'type': TYPE_CUSTOM,
    'vendorid': VENDOR_ID_ZEBRA,
    'subtype': 100,
    'fields': [
        'Version',
        'CanSupportAutonomousMode'
    ],
    'decode': decode_MotoAutonomousCapabilities
}


I don't fully understand the struct package and the formats, but I think I got it right. For example, the table below represents the MotoAutonomousCapabilities message header.

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Reserved Type = 1023 Parameter Length
Vendor ID = 161
Subtype = 100
Version[31:0]
A Reserved

The data send by the reader is: b'\x00\x00\x00\x01\x80', which unpacks to (1, 128), using the !IB format (4 byte integer and boolean ?).

XML message now contains:

    <MotoAutonomousCapabilities>
        <Version>1</Version>
        <CanSupportAutonomousMode>True</CanSupportAutonomousMode>
    </MotoAutonomousCapabilities>

The log output now prints decode_MotoAutonomousCapabilities two times, though.

2020-05-03 23:32:26,684 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 1)
2020-05-03 23:32:26,685 sllurp.llrp_proto: DEBUG: decode_MotoAutonomousCapabilities
2020-05-03 23:32:26,685 sllurp.llrp_proto: DEBUG: decode_MotoAutonomousCapabilities
2020-05-03 23:32:26,685 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 120)
2020-05-03 23:32:26,685 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 200)
2020-05-03 23:32:26,686 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 300)
2020-05-03 23:32:26,686 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 400)

Do you think this redundancy is useful?

fviard commented 4 years ago

Yes, you got it right! 1) Little tip: for:

fields = uint_ubyte_unpack(data[:uint_ubyte_size])

It is a little bit nicer to extract the tuple directly here instead of getting the fields tuple and then using it with fields[0], fields[1]. Example:

version, flags = uint_ubyte_unpack(data[:uint_ubyte_size])

2) A little case of "reflection needed" situation. You used MotoAutonomousCapabilities for parameter name, that is correct and conform to their specification. That being said, I'm wondering if we should not rename that to something with a zebra prefix, like: ZebraMotoAutonomousCapabilities Because looking at their spec, they are not consistent, and different prefix for some arguments "QTData", "NXPBrandid", "Zebra". And it is nicer in the code, stack, to ensure to have everything related to one vendor_id consistent. But maybe it is better to keep at least all their Moto names like this? Probably more reflection needed, but so it is ok for you to continue like that and we can still rename later.

3)

Do you think this redundancy is useful?

If you have 2 lines, that means that the reader has sent this argument 2 times. Do you have it in your debug log? probably one with version "1" and another one with version "2" or something like that? Or put one parameter like that into 2 different parents.

4) For the struct thing, in the end it is really simple: Structs is the following module from python with the format description: https://docs.python.org/3/library/struct.html It is something similar to a regexp, you determine the format of your data, you kind of create the struct instance (that will internally compile your pattern), and then you can use unpack to extract standard python objects from a binary buffer. (And pack for the opposite)

The only originality in sllurp, is that if you look at the top of llrp_proto, the struct instances are "precreated"/"precompiled" once, and in a variable like ushort_ubyte_unpack i keep directly the reference to its "unpack" function. The goal of this is to be more efficient by not having time wasted building the struct over and over again, and also wasted by python looking for the reference of the unpack function inside the struct instance like when you do: "somestruct.unpack()". It looks like very simple optimizations, but it has a very huge effect on the performance here.

5) Regarding the table, here is how to understand it:

One line is 32 bits, ie 4 bytes, ie an int (integer).

The two first line, are just a reminder of the bit index per column. From 0 to 31. Then, like a book, you read from left to right, line after line.

What you see is the complete parameter. Imagine it like one level of the xml representation that you see.

A message contains X parameters, and each parameter can contain more parameters or fields. So, each parameter will start first by its header (type, size, ...).

That is how we can decode dynamically, by starting the read the header of a parameter, determine it's type, and then send the remaining data to the appropriate decoder.

One last important information, everything is rounded to "bytes", as with binary and network protocols it is not really possible to read less than that or that is not a multiple of bytes.

So, in the table that you give as example, the bit stream is like this:

1 byte (8bits) reserved, 1 short (16bits) the parameter type, 1 short (16 bits) the parameter length.

As it is a custom type field, it continues:

1 int (32 bits) the vendor id
1 int (32 bits) the subtype id.

All of that, previously, was the parameter header. You don't really have to take care about that, as all the boilerplate code function is to deal with that automatically.

So, the automatic code figures out what kind of parameter it is, and then it calls your decoder with the data, starting next, just before version:

1 int (32 bits) for a field holding something with a name "version"
1 byte (8 bits) for some small fields that i will call "flags".

And in flags, the first bit is a boolean named "A" with the meaning that you know. And other bits are useless for the moment, ie reserved, as it is mandatory to read at least a "byte".

pBogey commented 4 years ago

It is a little bit nicer to extract the tuple directly here instead of getting the fields tuple and then using it with fields[0], fields[1].

You're right, will do like in your example.


That being said, I'm wondering if we should not rename that to something with a zebra prefix, like: ZebraMotoAutonomousCapabilities

I see that the majority of the parameters have the Moto prefix (legacy from the Motorola days), while the new parameters started to use the Zebra prefix. Do you think it would be a good idea to separate everything specific to a certain vendor into it's own module? This way, it will have their own namespace, like zebra.decode_MotoAutonomousCapabilities.


If you have 2 lines, that means that the reader has sent this argument 2 times. Do you have it in your debug log? probably one with version "1" and another one with version "2" or something like that? Or put one parameter like that into 2 different parents.

The second debug message comes from decode_all_parameters, that it's called in decode_MotoAutonomousCapabilities through par, _ = decode_all_parameters(data, 'MotoAutonomousCapabilities', par)


For the struct thing, in the end it is really simple

It's funny, because I started the comment having a lot of trouble getting the decode function to work, but as I was writing, asking for info, comparing the Impinj specifications with Zebra's and the decode for Impinj with my version, I began to understand.

fviard commented 4 years ago

For the namespace using a separate module, you are right, that is the correct solution, but this will probably done later, as it is a little bit trickier in this context to do it nicely at the same time of keeping the micro optimizations.

So for the moment, I think that you can continue to add other parameters with their official name.

For the "double" debug message, you are right. You can either remove the debug line inside your function, or even remove the "decode_all_parameters" in that case. As, in this parameter, we know from the spec that there is no other "dynamic" parameter that would be expected after. In some functions, it is still there to be like "consistent" and proof for spec evolution, but in reality, it does not really make sense. (Regarding the debug log line itself, it is also more of a legacy, but not really so much important to have it for all decode functions).

So, don't hesitate to continue with other functions. Once you have something that you consider "acceptable", you can try to do a "pull request". Even if it is just a work in progress or not a version really expected to be merged, it is convenient to get reviews.

pBogey commented 4 years ago

hey, Florent, I have a little issue: I don't know how to contribute :)

I've searched the net and found out that I need to fork your project, clone it to my pc, work on it and do a pull request. That's great, sounds simple, but I don't know how to make sllurp work, after I clone it.

What I mean is, I will create a PyCharm project, for example, with a Python virtualenvironment and clone sllurp into that project. But sllurp is not installed, neither are it's dependencies. How can I make it work, then, so I can test my modifications?

fviard commented 4 years ago

If you are already inside a virtualenv, you just have to do: python setup.py install And then you should be able to use the sllurp command normally from within your virtualenv. Each time you change the code, you run again the python setup.py install.

That is the simplest.

That being said, there is also an alternative, when you are inside the main sllurp top folder (not the "sllurp" sub-folder), you can also call the following without install: python -m sllurp (that being equivalent of your usual "sllurp command base"). In that case, you tell python to load the "sllurp" package that is inside the folder, and it will run its main automatically.

Please use one method or the other, but don't mix or you have the risk to have some file confusion at execution that could lead to strange non-explainable errors.

pBogey commented 4 years ago

I am having a little trouble understanding how to decode MotoDefaultSpec (102), MotoFilterList (255).

For example, let's take MotoDefaultSpect:

def decode_MotoDefaultSpec(data, name=None):
    logger.debugfast('decode_MotoDefaultSpec')

    flags = ubyte_unpack(data[:ubyte_size])[0]

    par = {
        'UseDefaultSpecForAutoMode': flags & BIT(7) == BIT(7),
    }

    data = data[:ubyte_size]
    par, _ = decode_all_parameters(data, 'MotoDefaultSpec', par)

    return par, ''

Param_struct['MotoDefaultSpec'] = {
    'type': TYPE_CUSTOM,
    'vendorid': VENDOR_ID_ZEBRA,
    'subtype': 102,
    'fields': [
        'UseDefaultSpecForAutoMode',
        'ROSPec',
    ],
    'n_fields': [
        'AccessSpec'
    ],
    'decode': decode_MotoDefaultSpec
}

This code will obviously fail. I need some tips/guidance on how to handle ROSpec and subsequent AccessSpec fields. I have tried using the generic decoder functions, but had no success. I suppose the first thing to do is to implement an ROSpec decoder, but encountered the same issue: nested messages that I don't know how to handle.

EDIT: created a pull request with current progress.

fviard commented 4 years ago

You were almost good. The only thing that you will have to change is to put ROSpec inside a o_fields entry in the struct:

'fields': [
        'UseDefaultSpecForAutoMode',
    ],
    'o_fields': [
        'ROSPec',
    'n_fields': [
        'AccessSpec'
    ],

Fields are for real fields. o_fields and n_fields, are in fact for parameters despite their names. o is for fields that can be mandatory or there once. n is for fields that can be here multiple time.

Then, decode_all_parameters will automatically read the headers that are in the remaining of the data to find the right parameter (here "ROSpec" or "AccessSpec") and to find the the right decoder for this block and use it on the relevant part of data.

fviard commented 4 years ago

For MotoFilterList, you do the same as for MotoDefaultSpec and decode the "F" field, and then add MotoFilterRule to its n_fields. And that's all for MotoFilterList. Then, you need to create the struct and decoder for MotoFilterRule. This one as a few of its own Parameters that you can deal with by adding them in o_fields and n_fields, and create the addequate decoders, and so on...

fviard commented 4 years ago

Btw, the PR you created looks good for all the rest.

pBogey commented 4 years ago

Then, decode_all_parameters will automatically read the headers that are in the remaining of the data to find the right parameter (here "ROSpec" or "AccessSpec") and to find the the right decoder for this block and use it on the relevant part of data.

I have made progress ragarding MotoDefaultSpec parameter:

Param_struct['ROSpec'] = {
    'type': 177,
    'fields': [
        'ROSpecID',
        'Priority',
        'CurrentState',
        'ROBoundarySpec',
        'AISpec',
        'RFSurveySpec',
        'LoopSpec',
        'ROReportSpec',
    ],
    'o_fields': [
        'ROBoundarySpec',
        'ROReportSpec',
    ],
    'n_fields': [
        'AISpec',
        'RFSurveySpec',
        # Not yet implemented, llrp v1.1
        'LoopSpec',
    ],
    'encode': encode_ROSpec,

    # added a decode function
    'decode': basic_auto_param_decode_generator(
        uint_ubyte_ubyte_unpack,
        uint_ubyte_ubyte_size,
        'ROSpecID',
        'Priority',
        'CurrentState'
    )
}

Now ROSpec is being decoded. Continued to add decode functions for all fields and parameters within ROSpec and everyhting seems good, so far. I have another issue, though, with AISpec:

def decode_AISPec(data, name=None):
    logger.debugfast("decode_AISpec")

    antenna_count = ushort_unpack(data[:ushort_size])[0]

    antenna_ids_length = ushort_size * antenna_count
    antenna_ids = data[ushort_size:ushort_size + antenna_ids_length]

    par = {
        'AntennaCount': antenna_count,
        'AntennaID': {
            int.from_bytes(
                antenna_ids[b+b:b+b+ushort_size],
                'big'
            ) for b in range(len(antenna_ids)//ushort_size)}
    }

    data = data[ushort_size + antenna_ids_length:]
    par, _ = decode_all_parameters(data, 'AISpec', par)

    return par, '' 

Param_struct['AISpec'] = {
    'type': 183,
    'fields': [
        'AntennaCount',
        'AntennaID',
    ],
    'o_fields': [
        'AISpecStopTrigger',
    ],
    'n_fields': [
        'InventoryParameterSpec'
    ],
    'encode': encode_AISpec,
    'decode': decode_AISPec,
}

This will generate an error in decode_all_parameters:

unpacked = unpack_func(data[:unpack_size]) struct.error: unpack requires a buffer of 8 bytes

The data input for decode_AISpec is:

b'\x00\x01\x00\x00\x00\xb8\x00\t\x00\x00\x00\x00\x00\x00\xba\x00\x07\x03\xe9\x01\x03\xff\x00\r\x00\x00`\xff\x00\x00\x01,\x80\x03\xff\x00\r\x00\x00`\xff\x00\x00\x01-\x01\x03\xff\x00\r\x00\x00`\xff\x00\x00\x01,\x80'

while the input for decode_all_parameters is:

b'\x00\xb8\x00\t\x00\x00\x00\x00\x00\x00\xba\x00\x07\x03\xe9\x01\x03\xff\x00\r\x00\x00`\xff\x00\x00\x01,\x80\x03\xff\x00\r\x00\x00`\xff\x00\x00\x01-\x01\x03\xff\x00\r\x00\x00`\xff\x00\x00\x01,\x80'

which is the first sequence without the first 4 bytes (one AntennaCount field and one AntennaID field).

Note:

In the log file, I will find this output:

2020-05-08 12:58:14,793 sllurp.llrp_proto: DEBUG: decode_MotoDefaultSpec
2020-05-08 12:58:14,793 sllurp.llrp_proto: DEBUG: decode_MotoDefaultSpec
2020-05-08 12:58:14,793 sllurp.llrp_proto: DEBUG: decode_ROSpec
2020-05-08 12:58:14,793 sllurp.llrp_proto: DEBUG: decode_ROBoundarySpec
2020-05-08 12:58:14,794 sllurp.llrp_proto: DEBUG: "decode" func is missing for parameter AISpec

...

    <MotoDefaultSpec>
        <UseDefaultSpecForAutoMode>True</UseDefaultSpecForAutoMode>
    </MotoDefaultSpec>

Shouldn't MotoDefaultSpec also show the ROSpec in the xml output? Or it will after AISpec will be decode?

fviard commented 4 years ago

I just understand your issue. I saw that we had the ROSpec struct already, and I did not notice that we have just the "encode", but not the "decode". An encoder for ROSpec and AISPec are probably some of the hardest ones :-) I will look at you proposal, but one suggestion that I would have if not too complicated for you, is to do a first push request with what you had previously, without MotoDefaultSpec for exemple. So I can merge that first. And then, going in a new one with MotoDefaultSpec and the implementation of decoders for ROSpec and AISpec.

pBogey commented 4 years ago

Nevermind, I chose a wrong format for "AISpecStopTrigger" and this was generating the error. I will continue with the decoding. WIll push as I make progress.

EDIT: I have something that's kind of working, but I encounter some wierd stuff.

2020-05-08 17:43:17,074 sllurp.cli: DEBUG: inventory args: Args(host=(<host>,), port=5084, time=None, every_n=None, antennas='0', tx_power=0, tari=0, session=2, population=4, mode_identifier=None, reconnect=False, tag_filter_mask=(), impinj_extended_configuration=False, impinj_search_mode=None, impinj_reports=False, frequencies='1', hoptable_id=1)
2020-05-08 17:43:17,083 sllurp.llrp: INFO: will reset reader state on connect
2020-05-08 17:43:17,084 sllurp.llrp: INFO: will start inventory on connect
2020-05-08 17:43:17,084 sllurp.llrp: INFO: using antennas: [0]
2020-05-08 17:43:17,084 sllurp.llrp: INFO: transmit power: {0: 0}
2020-05-08 17:43:17,291 sllurp.llrp: INFO: connected to <host> (:5084)
2020-05-08 17:43:17,662 sllurp.llrp: DEBUG: got 32 bytes from reader: b'043f0000002000000f8800f600160080000c0005a5267f7165a0010000060000'
2020-05-08 17:43:17,718 sllurp.llrp: DEBUG: expect 32 bytes (have 32)
2020-05-08 17:43:17,719 sllurp.llrp: DEBUG: deserializing READER_EVENT_NOTIFICATION command
2020-05-08 17:43:17,719 sllurp.llrp_proto: DEBUG: decode_READER_EVENT_NOTIFICATION
2020-05-08 17:43:17,795 sllurp.llrp_proto: DEBUG: decode_ReaderEventNotificationData
2020-05-08 17:43:17,795 sllurp.llrp_proto: DEBUG: decode_ConnectionAttemptEvent
2020-05-08 17:43:17,796 sllurp.llrp: DEBUG: done deserializing READER_EVENT_NOTIFICATION command
2020-05-08 17:43:17,815 sllurp.llrp: DEBUG: starting message callbacks for READER_EVENT_NOTIFICATION
2020-05-08 17:43:17,815 sllurp.llrp: DEBUG: done with message callbacks for READER_EVENT_NOTIFICATION
2020-05-08 17:43:17,815 sllurp.llrp: DEBUG: LLRPMessage received in state 1:
<READER_EVENT_NOTIFICATION>
    <ID>3976</ID>
    <ReaderEventNotificationData>
        <UTCTimestamp>
            <Microseconds>1588959649031584</Microseconds>
        </UTCTimestamp>
        <ConnectionAttemptEvent>
            <Status>'Success'</Status>
        </ConnectionAttemptEvent>
    </ReaderEventNotificationData>
</READER_EVENT_NOTIFICATION>
2020-05-08 17:43:17,816 sllurp.llrp: DEBUG: in handleMessage(READER_EVENT_NOTIFICATION), there are 0 Deferreds
2020-05-08 17:43:17,817 sllurp.llrp: DEBUG: serializing GET_READER_CAPABILITIES command
2020-05-08 17:43:17,817 sllurp.llrp: DEBUG: serialized bytes: b'04010000000b0000000100'
2020-05-08 17:43:17,817 sllurp.llrp: DEBUG: done serializing GET_READER_CAPABILITIES command
2020-05-08 17:43:17,818 sllurp.llrp: DEBUG: state change: STATE_DISCONNECTED -> STATE_SENT_GET_CAPABILITIES
2020-05-08 17:43:17,945 sllurp.llrp: DEBUG: got 1320 bytes from reader: b'040b00000aba00000001011f0008000000000089005200044000000060ff0000251c000c312e362e352e313630303130008b000800010000008d000800040004008c00090001000101008c00090002000101008c00090003000101008c00090004000101008e001cd80700000000002000000008000000040000002000000008008f09cd03480001009009c500910008000003e800910008000103f200910008000203fc00910008000304060091000800040410009100080005041a0091000800060424009100080007042e0091000800080438009100080009044200910008000a044c00910008000b045600910008000c046000910008000d046a00910008000e047400910008000f047e00910008001004880091000800110492009100080012049c00910008001304a600910008001404b000910008001504ba00910008001604c400910008001704ce00910008001804d800910008001904e200910008001a04ec00910008001b04f600910008001c050000910008001d050a00910008001e051400910008001f051e00910008002005280091000800210532009100080022053c00910008002305460091000800240550009100080025055a0091000800260564009100080027056e0091000800280578009100080029058200910008002a058c00910008002b059600910008002c05a000910008002d05aa00910008002e05b400910008002f05be00910008003005c800910008003105d200910008003205dc00910008003305e600910008003405f000910008003505fa0091000800360604009100080037060e0091000800380618009100080039062200910008003a062c00910008003b063600910008003c064000910008003d064a00910008003e065400910008003f065e00910008004006680091000800410672009100080042067c00910008004306860091000800440690009100080045069a00910008004606a400910008004706ae00910008004806b800910008004906c200910008004a06cc00910008004b06d600910008004c06e000910008004d06ea00910008004e06f400910008004f06fe00910008005007080091000800510712009100080052071c00910008005307260091000800540730009100080055073a0091000800560744009100080057074e0091000800580758009100080059076200910008005a076c00910008005b077600910008005c078000910008005d078a00910008005e079400910008005f079e00910008006007a800910008006107b200910008006207bc00910008006307c600910008006407d000910008006507da00910008006607e400910008006707ee00910008006807f8009100080069080200910008006a080c00910008006b081600910008006c082000910008006d082a00910008006e083400910008006f083e00910008007008480091000800710852009100080072085c00910008007308660091000800740870009100080075087a0091000800760884009100080077088e009100080078089800910008007908a200910008007a08ac00910008007b08b600910008007c08c000910008007d08ca00910008007e08d400910008007f08de00910008008008e800910008008108f200910008008208fc00910008008309060091000800840910009100080085091a0091000800860924009100080087092e0091000800880938009100080089094200910008008a094c00910008008b095600910008008c096000910008008d096a00910008008e097400910008008f097e00910008009009880091000800910992009100080092099c00910008'
2020-05-08 17:43:17,954 sllurp.llrp: DEBUG: expect 2746 bytes (have 1320)
2020-05-08 17:43:18,023 sllurp.llrp: DEBUG: got 1426 bytes from reader: b'009309a600910008009409b000910008009509ba00910008009609c400910008009709ce00910008009809d800910008009909e200910008009a09ec00910008009b09f600910008009c0a0000910008009d0a0a00910008009e0a1400910008009f0a1e0091000800a00a280091000800a10a320091000800a20a3c0091000800a30a460091000800a40a500091000800a50a5a0091000800a60a640091000800a70a6e0091000800a80a780091000800a90a820091000800aa0a8c0091000800ab0a960091000800ac0aa00091000800ad0aaa0091000800ae0ab40091000800af0abe0091000800b00ac80091000800b10ad20091000800b20adc0091000800b30ae60091000800b40af00091000800b50afa0091000800b60b040091000800b70b0e0091000800b80b180091000800b90b220091000800ba0b2c0091000800bb0b360091000800bc0b400091000800bd0b4a0091000800be0b540091000800bf0b5e0091000800c00b680091000800c10b720091000800c20b7c0091000800c30b860091000800c40b900091000800c50b9a0091000800c60ba40091000800c70bae0091000800c80bb8009200d580009300d001000032000dc65e000e241e000de59e000e04de000dc852000e2612000de792000e06d2000dca46000de986000e08c6000dcc3a000deb7a000e0aba000dce2e000ded6e000e0cae000dd022000def62000e0ea2000dd216000df156000e1096000dd40a000df34a000e128a000dd5fe000df53e000e147e000dd7f2000df732000e1672000dd9e6000df926000e1866000ddbda000dfb1a000e1a5a000dddce000dfd0e000e1c4e000ddfc2000dff02000e1e42000de1b6000e00f6000e2036000de3aa000e02ea000e222a014802a40149002000000000c00100030002ee00000007d0000030d4000030d4000000000149002000000001c00200030002ee00000007d0000030d4000030d4000000000149002000000002c00300030002ee00000007d0000030d4000030d4000000000149002000000003c00100030003a980000007d0000030d4000030d4000000000149002000000004c00200030003a980000007d0000030d4000030d4000000000149002000000005c00300030003a980000007d0000030d4000030d4000000000149002000000006c00100030004e200000007d0000030d4000030d4000000000149002000000007c00200030004e200000007d0000030d4000030d4000000000149002000000008c00300030004e200000007d0000030d4000030d4000000000149002000000009c00100030009c400000007d00000186a0000186a00000000014900200000000ac00200030009c400000007d00000186a0000186a00000000014900200000000bc00300030009c400000007d00000186a0000186a00000000014900200000000cc00100030002ee00000005dc000061a8000061a800000000014900200000000dc00200030002ee00000005dc000061a8000061a800000000014900200000000ec00300030002ee00000005dc000061a8000061a800000000014900200000000fc00100030003a980000005dc000061a8000061a8000000000149002000000010c00200030003a980000005dc000061a8000061a8000000000149002000000011c00300030003a980000005dc000061a8000061a80000000001490020000000124000000100013880000005dc000061a8000061a8000000000149002000000013c00000010004e200000007d0000030d4000030d4000000000149002000000014c00002010009c400000005dc0000186a0000186a0000000001470007c0000803ff0011000000a100000001000000018003ff0011000000a100000064000000018003ff0011000000a10000007800000001c003ff0011000000a1000000c800000001e003ff0011000000a10000012c000000018003ff0011000000a1000001900000000190'
2020-05-08 17:43:18,025 sllurp.llrp: DEBUG: expect 2746 bytes (have 2746)
2020-05-08 17:43:18,026 sllurp.llrp: DEBUG: deserializing GET_READER_CAPABILITIES_RESPONSE command
2020-05-08 17:43:18,027 sllurp.llrp_proto: DEBUG: decode_GET_READER_CAPABILITIES_RESPONSE
2020-05-08 17:43:18,027 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-08 17:43:18,031 sllurp.llrp_proto: DEBUG: decode_GeneralDeviceCapabilities
2020-05-08 17:43:18,031 sllurp.llrp_proto: DEBUG: decode_GeneralDeviceCapabilities
2020-05-08 17:43:18,031 sllurp.llrp_proto: DEBUG: decode_PerAntennaAirProtocol
2020-05-08 17:43:18,032 sllurp.llrp_proto: DEBUG: decode_PerAntennaAirProtocol
2020-05-08 17:43:18,032 sllurp.llrp_proto: DEBUG: decode_PerAntennaAirProtocol
2020-05-08 17:43:18,032 sllurp.llrp_proto: DEBUG: decode_PerAntennaAirProtocol
2020-05-08 17:43:18,033 sllurp.llrp_proto: DEBUG: decode_LLRPCapabilities
2020-05-08 17:43:18,055 sllurp.llrp_proto: DEBUG: decode_RegulatoryCapabilities
2020-05-08 17:43:18,056 sllurp.llrp_proto: DEBUG: decode_UHFBandCapabilities
2020-05-08 17:43:18,056 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-08 17:43:18,057 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-08 17:43:18,057 sllurp.llrp_proto: DEBUG: decode_FrequencyHopTable
2020-05-08 17:43:18,057 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTable
2020-05-08 17:43:18,057 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,057 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,057 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,057 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,059 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,060 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,060 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,060 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,060 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,061 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,061 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,062 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,062 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,062 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,062 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,063 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,063 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,063 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,064 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,064 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,064 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-08 17:43:18,064 sllurp.llrp_proto: DEBUG: decode_C1G2LLRPCapabilities
2020-05-08 17:43:18,064 sllurp.llrp_proto: DEBUG: decode_MotoGeneralCapabilities
2020-05-08 17:43:18,064 sllurp.llrp_proto: DEBUG: decode_MotoAutonomousCapabilities
2020-05-08 17:43:18,064 sllurp.llrp_proto: DEBUG: decode_MotoTagEventsGenerationCapabilities
2020-05-08 17:43:18,064 sllurp.llrp_proto: DEBUG: decode_MotoFilterCapabilities
2020-05-08 17:43:18,064 sllurp.llrp_proto: DEBUG: decode_MotoPersistenceCapabilities
2020-05-08 17:43:18,064 sllurp.llrp_proto: DEBUG: decode_MotoC1G2LLRPCapabilities
2020-05-08 17:43:18,064 sllurp.llrp: DEBUG: done deserializing GET_READER_CAPABILITIES_RESPONSE command
2020-05-08 17:43:18,066 sllurp.llrp: DEBUG: starting message callbacks for GET_READER_CAPABILITIES_RESPONSE
2020-05-08 17:43:18,101 sllurp.llrp: DEBUG: done with message callbacks for GET_READER_CAPABILITIES_RESPONSE
2020-05-08 17:43:18,123 sllurp.llrp: DEBUG: LLRPMessage received in state 21:
<GET_READER_CAPABILITIES_RESPONSE>
    <ID>1</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
    <GeneralDeviceCapabilities>
        <MaxNumberOfAntennaSupported>4</MaxNumberOfAntennaSupported>
        <CanSetAntennaProperties>False</CanSetAntennaProperties>
        <HasUTCClockCapability>True</HasUTCClockCapability>
        <DeviceManufacturerName>24831</DeviceManufacturerName>
        <ModelName>9500</ModelName>
        <FirmwareVersionByteCount>12</FirmwareVersionByteCount>
        <ReaderFirmwareVersion>b'1.6.5.160010'</ReaderFirmwareVersion>
        <ReceiveSensitivityTableEntry>
            <Index>1</Index>
            <ReceiveSensitivityValue>0</ReceiveSensitivityValue>
        </ReceiveSensitivityTableEntry>
        <GPIOCapabilities>
            <NumGPIs>4</NumGPIs>
            <NumGPOs>4</NumGPOs>
        </GPIOCapabilities>
        <PerAntennaAirProtocol>
            <AntennaID>1</AntennaID>
            <NumProtocols>1</NumProtocols>
            <ProtocolID>[1]</ProtocolID>
        </PerAntennaAirProtocol>
        <PerAntennaAirProtocol>
            <AntennaID>2</AntennaID>
            <NumProtocols>1</NumProtocols>
            <ProtocolID>[1]</ProtocolID>
        </PerAntennaAirProtocol>
        <PerAntennaAirProtocol>
            <AntennaID>3</AntennaID>
            <NumProtocols>1</NumProtocols>
            <ProtocolID>[1]</ProtocolID>
        </PerAntennaAirProtocol>
        <PerAntennaAirProtocol>
            <AntennaID>4</AntennaID>
            <NumProtocols>1</NumProtocols>
            <ProtocolID>[1]</ProtocolID>
        </PerAntennaAirProtocol>
    </GeneralDeviceCapabilities>
    <LLRPCapabilities>
        <CanDoRFSurvey>True</CanDoRFSurvey>
        <CanReportBufferFillWarning>True</CanReportBufferFillWarning>
        <SupportsClientRequestOpSpec>False</SupportsClientRequestOpSpec>
        <CanDoTagInventoryStateAwareSingulation>True</CanDoTagInventoryStateAwareSingulation>
        <SupportsEventAndReportHolding>True</SupportsEventAndReportHolding>
        <MaxPriorityLevelSupported>7</MaxPriorityLevelSupported>
        <ClientRequestOpSpecTimeout>0</ClientRequestOpSpecTimeout>
        <MaxNumROSpec>32</MaxNumROSpec>
        <MaxNumSpecsPerROSpec>8</MaxNumSpecsPerROSpec>
        <MaxNumInventoryParametersSpecsPerAISpec>4</MaxNumInventoryParametersSpecsPerAISpec>
        <MaxNumAccessSpec>32</MaxNumAccessSpec>
        <MaxNumOpSpecsPerAccessSpec>8</MaxNumOpSpecsPerAccessSpec>
    </LLRPCapabilities>
    <RegulatoryCapabilities>
        <CountryCode>840</CountryCode>
        <CommunicationsStandard>1</CommunicationsStandard>
        <UHFBandCapabilities>
            <TransmitPowerLevelTableEntry>
                <Index>0</Index>
                <TransmitPowerValue>1000</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>1</Index>
                <TransmitPowerValue>1010</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>2</Index>
                <TransmitPowerValue>1020</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>3</Index>
                <TransmitPowerValue>1030</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>4</Index>
                <TransmitPowerValue>1040</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>5</Index>
                <TransmitPowerValue>1050</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>6</Index>
                <TransmitPowerValue>1060</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>7</Index>
                <TransmitPowerValue>1070</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>8</Index>
                <TransmitPowerValue>1080</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>9</Index>
                <TransmitPowerValue>1090</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>10</Index>
                <TransmitPowerValue>1100</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>11</Index>
                <TransmitPowerValue>1110</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>12</Index>
                <TransmitPowerValue>1120</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>13</Index>
                <TransmitPowerValue>1130</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>14</Index>
                <TransmitPowerValue>1140</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>15</Index>
                <TransmitPowerValue>1150</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>16</Index>
                <TransmitPowerValue>1160</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>17</Index>
                <TransmitPowerValue>1170</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>18</Index>
                <TransmitPowerValue>1180</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>19</Index>
                <TransmitPowerValue>1190</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>20</Index>
                <TransmitPowerValue>1200</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>21</Index>
                <TransmitPowerValue>1210</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>22</Index>
                <TransmitPowerValue>1220</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>23</Index>
                <TransmitPowerValue>1230</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>24</Index>
                <TransmitPowerValue>1240</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>25</Index>
                <TransmitPowerValue>1250</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>26</Index>
                <TransmitPowerValue>1260</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>27</Index>
                <TransmitPowerValue>1270</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>28</Index>
                <TransmitPowerValue>1280</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>29</Index>
                <TransmitPowerValue>1290</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>30</Index>
                <TransmitPowerValue>1300</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>31</Index>
                <TransmitPowerValue>1310</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>32</Index>
                <TransmitPowerValue>1320</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>33</Index>
                <TransmitPowerValue>1330</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>34</Index>
                <TransmitPowerValue>1340</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>35</Index>
                <TransmitPowerValue>1350</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>36</Index>
                <TransmitPowerValue>1360</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>37</Index>
                <TransmitPowerValue>1370</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>38</Index>
                <TransmitPowerValue>1380</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>39</Index>
                <TransmitPowerValue>1390</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>40</Index>
                <TransmitPowerValue>1400</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>41</Index>
                <TransmitPowerValue>1410</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>42</Index>
                <TransmitPowerValue>1420</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>43</Index>
                <TransmitPowerValue>1430</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>44</Index>
                <TransmitPowerValue>1440</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>45</Index>
                <TransmitPowerValue>1450</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>46</Index>
                <TransmitPowerValue>1460</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>47</Index>
                <TransmitPowerValue>1470</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>48</Index>
                <TransmitPowerValue>1480</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>49</Index>
                <TransmitPowerValue>1490</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>50</Index>
                <TransmitPowerValue>1500</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>51</Index>
                <TransmitPowerValue>1510</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>52</Index>
                <TransmitPowerValue>1520</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>53</Index>
                <TransmitPowerValue>1530</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>54</Index>
                <TransmitPowerValue>1540</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>55</Index>
                <TransmitPowerValue>1550</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>56</Index>
                <TransmitPowerValue>1560</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>57</Index>
                <TransmitPowerValue>1570</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>58</Index>
                <TransmitPowerValue>1580</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>59</Index>
                <TransmitPowerValue>1590</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>60</Index>
                <TransmitPowerValue>1600</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>61</Index>
                <TransmitPowerValue>1610</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>62</Index>
                <TransmitPowerValue>1620</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>63</Index>
                <TransmitPowerValue>1630</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>64</Index>
                <TransmitPowerValue>1640</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>65</Index>
                <TransmitPowerValue>1650</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>66</Index>
                <TransmitPowerValue>1660</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>67</Index>
                <TransmitPowerValue>1670</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>68</Index>
                <TransmitPowerValue>1680</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>69</Index>
                <TransmitPowerValue>1690</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>70</Index>
                <TransmitPowerValue>1700</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>71</Index>
                <TransmitPowerValue>1710</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>72</Index>
                <TransmitPowerValue>1720</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>73</Index>
                <TransmitPowerValue>1730</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>74</Index>
                <TransmitPowerValue>1740</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>75</Index>
                <TransmitPowerValue>1750</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>76</Index>
                <TransmitPowerValue>1760</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>77</Index>
                <TransmitPowerValue>1770</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>78</Index>
                <TransmitPowerValue>1780</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>79</Index>
                <TransmitPowerValue>1790</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>80</Index>
                <TransmitPowerValue>1800</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>81</Index>
                <TransmitPowerValue>1810</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>82</Index>
                <TransmitPowerValue>1820</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>83</Index>
                <TransmitPowerValue>1830</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>84</Index>
                <TransmitPowerValue>1840</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>85</Index>
                <TransmitPowerValue>1850</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>86</Index>
                <TransmitPowerValue>1860</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>87</Index>
                <TransmitPowerValue>1870</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>88</Index>
                <TransmitPowerValue>1880</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>89</Index>
                <TransmitPowerValue>1890</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>90</Index>
                <TransmitPowerValue>1900</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>91</Index>
                <TransmitPowerValue>1910</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>92</Index>
                <TransmitPowerValue>1920</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>93</Index>
                <TransmitPowerValue>1930</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>94</Index>
                <TransmitPowerValue>1940</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>95</Index>
                <TransmitPowerValue>1950</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>96</Index>
                <TransmitPowerValue>1960</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>97</Index>
                <TransmitPowerValue>1970</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>98</Index>
                <TransmitPowerValue>1980</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>99</Index>
                <TransmitPowerValue>1990</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>100</Index>
                <TransmitPowerValue>2000</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>101</Index>
                <TransmitPowerValue>2010</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>102</Index>
                <TransmitPowerValue>2020</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>103</Index>
                <TransmitPowerValue>2030</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>104</Index>
                <TransmitPowerValue>2040</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>105</Index>
                <TransmitPowerValue>2050</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>106</Index>
                <TransmitPowerValue>2060</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>107</Index>
                <TransmitPowerValue>2070</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>108</Index>
                <TransmitPowerValue>2080</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>109</Index>
                <TransmitPowerValue>2090</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>110</Index>
                <TransmitPowerValue>2100</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>111</Index>
                <TransmitPowerValue>2110</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>112</Index>
                <TransmitPowerValue>2120</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>113</Index>
                <TransmitPowerValue>2130</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>114</Index>
                <TransmitPowerValue>2140</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>115</Index>
                <TransmitPowerValue>2150</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>116</Index>
                <TransmitPowerValue>2160</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>117</Index>
                <TransmitPowerValue>2170</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>118</Index>
                <TransmitPowerValue>2180</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>119</Index>
                <TransmitPowerValue>2190</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>120</Index>
                <TransmitPowerValue>2200</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>121</Index>
                <TransmitPowerValue>2210</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>122</Index>
                <TransmitPowerValue>2220</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>123</Index>
                <TransmitPowerValue>2230</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>124</Index>
                <TransmitPowerValue>2240</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>125</Index>
                <TransmitPowerValue>2250</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>126</Index>
                <TransmitPowerValue>2260</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>127</Index>
                <TransmitPowerValue>2270</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>128</Index>
                <TransmitPowerValue>2280</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>129</Index>
                <TransmitPowerValue>2290</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>130</Index>
                <TransmitPowerValue>2300</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>131</Index>
                <TransmitPowerValue>2310</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>132</Index>
                <TransmitPowerValue>2320</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>133</Index>
                <TransmitPowerValue>2330</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>134</Index>
                <TransmitPowerValue>2340</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>135</Index>
                <TransmitPowerValue>2350</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>136</Index>
                <TransmitPowerValue>2360</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>137</Index>
                <TransmitPowerValue>2370</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>138</Index>
                <TransmitPowerValue>2380</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>139</Index>
                <TransmitPowerValue>2390</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>140</Index>
                <TransmitPowerValue>2400</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>141</Index>
                <TransmitPowerValue>2410</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>142</Index>
                <TransmitPowerValue>2420</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>143</Index>
                <TransmitPowerValue>2430</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>144</Index>
                <TransmitPowerValue>2440</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>145</Index>
                <TransmitPowerValue>2450</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>146</Index>
                <TransmitPowerValue>2460</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>147</Index>
                <TransmitPowerValue>2470</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>148</Index>
                <TransmitPowerValue>2480</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>149</Index>
                <TransmitPowerValue>2490</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>150</Index>
                <TransmitPowerValue>2500</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>151</Index>
                <TransmitPowerValue>2510</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>152</Index>
                <TransmitPowerValue>2520</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>153</Index>
                <TransmitPowerValue>2530</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>154</Index>
                <TransmitPowerValue>2540</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>155</Index>
                <TransmitPowerValue>2550</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>156</Index>
                <TransmitPowerValue>2560</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>157</Index>
                <TransmitPowerValue>2570</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>158</Index>
                <TransmitPowerValue>2580</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>159</Index>
                <TransmitPowerValue>2590</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>160</Index>
                <TransmitPowerValue>2600</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>161</Index>
                <TransmitPowerValue>2610</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>162</Index>
                <TransmitPowerValue>2620</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>163</Index>
                <TransmitPowerValue>2630</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>164</Index>
                <TransmitPowerValue>2640</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>165</Index>
                <TransmitPowerValue>2650</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>166</Index>
                <TransmitPowerValue>2660</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>167</Index>
                <TransmitPowerValue>2670</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>168</Index>
                <TransmitPowerValue>2680</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>169</Index>
                <TransmitPowerValue>2690</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>170</Index>
                <TransmitPowerValue>2700</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>171</Index>
                <TransmitPowerValue>2710</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>172</Index>
                <TransmitPowerValue>2720</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>173</Index>
                <TransmitPowerValue>2730</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>174</Index>
                <TransmitPowerValue>2740</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>175</Index>
                <TransmitPowerValue>2750</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>176</Index>
                <TransmitPowerValue>2760</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>177</Index>
                <TransmitPowerValue>2770</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>178</Index>
                <TransmitPowerValue>2780</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>179</Index>
                <TransmitPowerValue>2790</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>180</Index>
                <TransmitPowerValue>2800</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>181</Index>
                <TransmitPowerValue>2810</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>182</Index>
                <TransmitPowerValue>2820</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>183</Index>
                <TransmitPowerValue>2830</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>184</Index>
                <TransmitPowerValue>2840</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>185</Index>
                <TransmitPowerValue>2850</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>186</Index>
                <TransmitPowerValue>2860</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>187</Index>
                <TransmitPowerValue>2870</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>188</Index>
                <TransmitPowerValue>2880</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>189</Index>
                <TransmitPowerValue>2890</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>190</Index>
                <TransmitPowerValue>2900</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>191</Index>
                <TransmitPowerValue>2910</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>192</Index>
                <TransmitPowerValue>2920</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>193</Index>
                <TransmitPowerValue>2930</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>194</Index>
                <TransmitPowerValue>2940</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>195</Index>
                <TransmitPowerValue>2950</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>196</Index>
                <TransmitPowerValue>2960</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>197</Index>
                <TransmitPowerValue>2970</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>198</Index>
                <TransmitPowerValue>2980</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>199</Index>
                <TransmitPowerValue>2990</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>200</Index>
                <TransmitPowerValue>3000</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <FrequencyInformation>
                <Hopping>True</Hopping>
                <FrequencyHopTable>
                    <HopTableId>1</HopTableId>
                    <NumHops>50</NumHops>
                    <Frequency>[902750, 926750, 910750, 918750, 903250, 927250, 911250, 919250, 903750, 911750, 919750, 904250, 912250, 920250, 904750, 912750, 920750, 905250, 913250, 921250, 905750, 913750, 921750, 906250, 914250, 922250, 906750, 914750, 922750, 907250, 915250, 923250, 907750, 915750, 923750, 908250, 916250, 924250, 908750, 916750, 924750, 909250, 917250, 925250, 909750, 917750, 925750, 910250, 918250, 926250]</Frequency>
                </FrequencyHopTable>
            </FrequencyInformation>
            <UHFC1G2RFModeTable>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>0</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>1</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>2</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>3</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>4</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>5</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>6</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>320000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>7</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>320000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>8</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>320000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>9</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>640000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>6250</MinTari>
                    <MaxTari>6250</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>10</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>640000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>6250</MinTari>
                    <MaxTari>6250</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>11</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>640000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>6250</MinTari>
                    <MaxTari>6250</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>12</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>13</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>14</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>15</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>16</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>17</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>18</ModeIdentifier>
                    <DR>0</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>0</Mod>
                    <FLM>0</FLM>
                    <M>1</M>
                    <BDR>80000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>19</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>0</Mod>
                    <FLM>0</FLM>
                    <M>1</M>
                    <BDR>320000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>20</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>0</Mod>
                    <FLM>2</FLM>
                    <M>1</M>
                    <BDR>640000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>6250</MinTari>
                    <MaxTari>6250</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
            </UHFC1G2RFModeTable>
        </UHFBandCapabilities>
    </RegulatoryCapabilities>
    <C1G2LLRPCapabilities>
        <CanSupportBlockErase>True</CanSupportBlockErase>
        <CanSupportBlockWrite>True</CanSupportBlockWrite>
        <CanSupportBlockPermalock>False</CanSupportBlockPermalock>
        <CanSupportTagRecommissioning>False</CanSupportTagRecommissioning>
        <CanSupportUMIMethod2>False</CanSupportUMIMethod2>
        <CanSupportXPC>False</CanSupportXPC>
        <MaxNumSelectFiltersPerQuery>8</MaxNumSelectFiltersPerQuery>
    </C1G2LLRPCapabilities>
    <MotoAutonomousCapabilities>
        <Version>1</Version>
        <CanSupportAutonomousMode>True</CanSupportAutonomousMode>
    </MotoAutonomousCapabilities>
    <MotoGeneralCapabilities>
        <Version>1</Version>
        <CanGetGeneralParams>True</CanGetGeneralParams>
        <CanReportPartNumber>False</CanReportPartNumber>
        <CanReportRadioVersion>False</CanReportRadioVersion>
        <CanSupportRadioPowerState>False</CanSupportRadioPowerState>
        <CanSupportRadioTransmitDelay>False</CanSupportRadioTransmitDelay>
        <CanSupportZebraTrigger>False</CanSupportZebraTrigger>
    </MotoGeneralCapabilities>
    <MotoTagEventsGenerationCapabilities>
        <Version>1</Version>
        <CanSelectTagEvents>True</CanSelectTagEvents>
        <CanSelectTagReportingFormat>True</CanSelectTagReportingFormat>
        <CanSelectMovingEvent>False</CanSelectMovingEvent>
    </MotoTagEventsGenerationCapabilities>
    <MotoFilterCapabilities>
        <Version>1</Version>
        <CanFilterTagsBasedOnRSSI>True</CanFilterTagsBasedOnRSSI>
        <CanFilterTagsBasedOnTimeOfDay>True</CanFilterTagsBasedOnTimeOfDay>
        <CanFilterTagsBasedOnUTCTimeStamp>True</CanFilterTagsBasedOnUTCTimeStamp>
    </MotoFilterCapabilities>
    <MotoPersistenceCapabilities>
        <Version>1</Version>
        <CanSaveConfiguration>True</CanSaveConfiguration>
        <CanSaveTags>False</CanSaveTags>
        <CanSaveEvents>False</CanSaveEvents>
    </MotoPersistenceCapabilities>
    <MotoC1G2LLRPCapabilities>
        <Version>1</Version>
        <CanSupportBlockPermalock>True</CanSupportBlockPermalock>
        <CanSupportRecommissioning>False</CanSupportRecommissioning>
        <CanWriteUMI>False</CanWriteUMI>
        <CanSupportNXPCuxtomCommands>True</CanSupportNXPCuxtomCommands>
        <CanSupportFujitsuCuxtomCommands>False</CanSupportFujitsuCuxtomCommands>
    </MotoC1G2LLRPCapabilities>
</GET_READER_CAPABILITIES_RESPONSE>
2020-05-08 17:43:18,428 sllurp.llrp: DEBUG: in handleMessage(GET_READER_CAPABILITIES_RESPONSE), there are 1 Deferreds
2020-05-08 17:43:18,528 sllurp.llrp: DEBUG: set antennas: [0]
2020-05-08 17:43:18,528 sllurp.llrp: DEBUG: tx_power_table: [10.0, 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 11.9, 12.0, 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7, 12.8, 12.9, 13.0, 13.1, 13.2, 13.3, 13.4, 13.5, 13.6, 13.7, 13.8, 13.9, 14.0, 14.1, 14.2, 14.3, 14.4, 14.5, 14.6, 14.7, 14.8, 14.9, 15.0, 15.1, 15.2, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9, 16.0, 16.1, 16.2, 16.3, 16.4, 16.5, 16.6, 16.7, 16.8, 16.9, 17.0, 17.1, 17.2, 17.3, 17.4, 17.5, 17.6, 17.7, 17.8, 17.9, 18.0, 18.1, 18.2, 18.3, 18.4, 18.5, 18.6, 18.7, 18.8, 18.9, 19.0, 19.1, 19.2, 19.3, 19.4, 19.5, 19.6, 19.7, 19.8, 19.9, 20.0, 20.1, 20.2, 20.3, 20.4, 20.5, 20.6, 20.7, 20.8, 20.9, 21.0, 21.1, 21.2, 21.3, 21.4, 21.5, 21.6, 21.7, 21.8, 21.9, 22.0, 22.1, 22.2, 22.3, 22.4, 22.5, 22.6, 22.7, 22.8, 22.9, 23.0, 23.1, 23.2, 23.3, 23.4, 23.5, 23.6, 23.7, 23.8, 23.9, 24.0, 24.1, 24.2, 24.3, 24.4, 24.5, 24.6, 24.7, 24.8, 24.9, 25.0, 25.1, 25.2, 25.3, 25.4, 25.5, 25.6, 25.7, 25.8, 25.9, 26.0, 26.1, 26.2, 26.3, 26.4, 26.5, 26.6, 26.7, 26.8, 26.9, 27.0, 27.1, 27.2, 27.3, 27.4, 27.5, 27.6, 27.7, 27.8, 27.9, 28.0, 28.1, 28.2, 28.3, 28.4, 28.5, 28.6, 28.7, 28.8, 28.9, 29.0, 29.1, 29.2, 29.3, 29.4, 29.5, 29.6, 29.7, 29.8, 29.9, 30.0, 0]
2020-05-08 17:43:18,530 sllurp.llrp: DEBUG: requested tx_power: {0: 0}
2020-05-08 17:43:18,530 sllurp.llrp: DEBUG: tx_pow_validated: {0: (200, 30.0)}
2020-05-08 17:43:18,530 sllurp.llrp: DEBUG: tx_power for antenna 0: 200 (30.0 dBm)
2020-05-08 17:43:18,531 sllurp.llrp: INFO: using reader mode: None
2020-05-08 17:43:18,531 sllurp.llrp: DEBUG: running 1 Deferreds for GET_READER_CAPABILITIES_RESPONSE; isSuccess=True
2020-05-08 17:43:18,535 sllurp.llrp: DEBUG: state change: STATE_SENT_GET_CAPABILITIES -> STATE_CONNECTED
2020-05-08 17:43:18,544 sllurp.llrp: DEBUG: serializing GET_READER_CONFIG command
2020-05-08 17:43:18,544 sllurp.llrp: DEBUG: serialized bytes: b'0402000000110000000200000000000000'
2020-05-08 17:43:18,577 sllurp.llrp: DEBUG: done serializing GET_READER_CONFIG command
2020-05-08 17:43:18,621 sllurp.llrp: DEBUG: state change: STATE_CONNECTED -> STATE_SENT_GET_CONFIG
2020-05-08 17:43:18,843 sllurp.llrp: DEBUG: got 659 bytes from reader: b'040c0000029300000002011f00080000000000da000f000008c47dccffff31846600dd0009800001ff1000dd0009800002ff1000dd0009800003ff1000dd0009000004ff1000de0033000100df0006000100e0000a0001000100c8014a001d00014f0008000430d40150001040001400000000015100050000de0033000200df0006000100e0000a0001000100c8014a001d00014f0008000430d40150001040001400000000015100050000de0033000300df0006000100e0000a0001000100c8014a001d00014f0008000430d40150001040001400000000015100050000de0033000400df0006000100e0000a0001000100c8014a001d00014f0008000430d40150001040001400000000015100050000f4004300f5000700010000f5000700020000f5000700060000f5000700000000f5000700030000f5000700040000f5000700050000f5000700080000f5000700070000ed001200000000ee000b0000015c00050000ef00050000d90008000003cb00dc0009010000411a00e100080001000100e100080002000100e100080003000100e100080004000100db000700010000db000700020000db000700030000db000700040000e200058003ff000d000000a1000000650003ff0010000000a1000000ff0000000003ff000d000000a10000015e0003ff009c000000a1000000668000b1008f000003e9070000b2001200b300050100b60009000000000000b7003f0001000000b80009000000000000ba000703e90103ff000d000060ff0000012c8003ff000d000060ff0000012d0103ff000d000060ff0000012c8000ed003400000000ee000b9780015c0005c003ff0015000000a100000079010000021f4001000003ff000d000000a10000007a0103ff0010000000a1000001d200000000'
2020-05-08 17:43:18,874 sllurp.llrp: DEBUG: expect 659 bytes (have 659)
2020-05-08 17:43:18,875 sllurp.llrp: DEBUG: deserializing GET_READER_CONFIG_RESPONSE command
2020-05-08 17:43:18,940 sllurp.llrp_proto: DEBUG: decode_GET_READER_CONFIG_RESPONSE
2020-05-08 17:43:18,951 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-08 17:43:18,952 sllurp.llrp_proto: DEBUG: decode_AntennaProperties
2020-05-08 17:43:18,985 sllurp.llrp_proto: DEBUG: decode_AntennaProperties
2020-05-08 17:43:18,986 sllurp.llrp_proto: DEBUG: decode_AntennaProperties
2020-05-08 17:43:18,986 sllurp.llrp_proto: DEBUG: decode_AntennaProperties
2020-05-08 17:43:18,986 sllurp.llrp_proto: DEBUG: decode_AntennaConfiguration
2020-05-08 17:43:18,987 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-08 17:43:18,988 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-08 17:43:18,988 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-08 17:43:18,988 sllurp.llrp_proto: DEBUG: decode_C1G2SingulationControl
2020-05-08 17:43:18,988 sllurp.llrp_proto: DEBUG: decode_C1G2TagInventoryStateAwareSingulationAction
2020-05-08 17:43:18,989 sllurp.llrp_proto: DEBUG: decode_AntennaConfiguration
2020-05-08 17:43:18,989 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-08 17:43:18,989 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-08 17:43:18,989 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-08 17:43:18,990 sllurp.llrp_proto: DEBUG: decode_C1G2SingulationControl
2020-05-08 17:43:18,990 sllurp.llrp_proto: DEBUG: decode_C1G2TagInventoryStateAwareSingulationAction
2020-05-08 17:43:18,990 sllurp.llrp_proto: DEBUG: decode_AntennaConfiguration
2020-05-08 17:43:18,990 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-08 17:43:18,991 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-08 17:43:18,991 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-08 17:43:18,991 sllurp.llrp_proto: DEBUG: decode_C1G2SingulationControl
2020-05-08 17:43:18,991 sllurp.llrp_proto: DEBUG: decode_C1G2TagInventoryStateAwareSingulationAction
2020-05-08 17:43:18,992 sllurp.llrp_proto: DEBUG: decode_AntennaConfiguration
2020-05-08 17:43:18,992 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-08 17:43:18,992 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-08 17:43:18,992 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-08 17:43:18,993 sllurp.llrp_proto: DEBUG: decode_C1G2SingulationControl
2020-05-08 17:43:18,993 sllurp.llrp_proto: DEBUG: decode_C1G2TagInventoryStateAwareSingulationAction
2020-05-08 17:43:18,995 sllurp.llrp_proto: DEBUG: decode_ReaderEventNotificationSpec
2020-05-08 17:43:18,995 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-08 17:43:18,996 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-08 17:43:18,997 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-08 17:43:19,001 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_ROReportSpec
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_ROReportSpec
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_TagReportContentSelector
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_TagReportContentSelector
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_C1G2EPCMemorySelector
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_GPIPortCurrentState
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_GPIPortCurrentState
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_GPIPortCurrentState
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_GPIPortCurrentState
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_GPOEvent
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_GPOEvent
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_GPOEvent
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_GPOEvent
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_GPOEvent
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_MotoAutonomousState
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 255)
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_MotoPersistenceSaveParams
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_MotoDefaultSpec
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_MotoDefaultSpec
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_ROSpec
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_ROBoundarySpec
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_AISpec
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_AISpec
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 24831, 300)
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 24831, 301)
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 24831, 300)
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_ROReportSpec
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_ROReportSpec
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_TagReportContentSelector
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_TagReportContentSelector
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_C1G2EPCMemorySelector
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 121)
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 161, 122)
2020-05-08 17:43:19,003 sllurp.llrp_proto: DEBUG: decode_MotoCustomCommandOptions
2020-05-08 17:43:19,003 sllurp.llrp: DEBUG: done deserializing GET_READER_CONFIG_RESPONSE command
2020-05-08 17:43:19,003 sllurp.llrp: DEBUG: starting message callbacks for GET_READER_CONFIG_RESPONSE
2020-05-08 17:43:19,003 sllurp.llrp: DEBUG: done with message callbacks for GET_READER_CONFIG_RESPONSE
2020-05-08 17:43:19,003 sllurp.llrp: DEBUG: LLRPMessage received in state 4:
<GET_READER_CONFIG_RESPONSE>
    <ID>2</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
    <Identification>
        <IDType>'MAC Address'</IDType>
        <ReaderID>b'c47dccffff318466'</ReaderID>
    </Identification>
    <ReaderEventNotificationSpec>
        <EventNotificationState>
            <EventType>'GPIEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'ROSpecEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'AISpecEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'HoppingEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'ReportBufferFillWarning'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'ReaderExceptionEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'RFSurveyEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'AntennaEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'AISpecEventWithSingulation'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
    </ReaderEventNotificationSpec>
    <ROReportSpec>
        <ROReportTrigger>'None'</ROReportTrigger>
        <N>0</N>
        <TagReportContentSelector>
            <EnableROSpecID>False</EnableROSpecID>
            <EnableSpecIndex>False</EnableSpecIndex>
            <EnableInventoryParameterSpecID>False</EnableInventoryParameterSpecID>
            <EnableAntennaID>False</EnableAntennaID>
            <EnableChannelIndex>False</EnableChannelIndex>
            <EnablePeakRSSI>False</EnablePeakRSSI>
            <EnableFirstSeenTimestamp>False</EnableFirstSeenTimestamp>
            <EnableLastSeenTimestamp>False</EnableLastSeenTimestamp>
            <EnableTagSeenCount>False</EnableTagSeenCount>
            <EnableAccessSpecID>False</EnableAccessSpecID>
            <C1G2EPCMemorySelector>
                <EnableCRC>False</EnableCRC>
                <EnablePCBits>False</EnablePCBits>
                <EnableXPCBits>False</EnableXPCBits>
            </C1G2EPCMemorySelector>
            <CustomParameter>False</CustomParameter>
        </TagReportContentSelector>
    </ROReportSpec>
    <AccessReportSpec>0</AccessReportSpec>
    <LLRPConfigurationStateValue>
        <LLRPConfigurationStateValue>971</LLRPConfigurationStateValue>
    </LLRPConfigurationStateValue>
    <KeepaliveSpec>
        <KeepaliveTriggerType>1</KeepaliveTriggerType>
        <TimeInterval>16666</TimeInterval>
    </KeepaliveSpec>
    <EventsAndReports>
        <HoldEventsAndReportsUponReconnect>True</HoldEventsAndReportsUponReconnect>
    </EventsAndReports>
    <MotoAutonomousState>
        <AutonomousModeState>False</AutonomousModeState>
    </MotoAutonomousState>
    <MotoDefaultSpec>
        <UseDefaultSpecForAutoMode>True</UseDefaultSpecForAutoMode>
    </MotoDefaultSpec>
    <MotoPersistenceSaveParams>
        <SaveConfiguration>False</SaveConfiguration>
        <SaveTagData>False</SaveTagData>
        <SaveTagEventData>False</SaveTagEventData>
    </MotoPersistenceSaveParams>
    <MotoCustomCommandOptions>
    </MotoCustomCommandOptions>
    <AntennaProperties>
        <AntennaConnected>True</AntennaConnected>
        <AntennaID>1</AntennaID>
        <AntennaGain>-240</AntennaGain>
    </AntennaProperties>
    <AntennaProperties>
        <AntennaConnected>True</AntennaConnected>
        <AntennaID>2</AntennaID>
        <AntennaGain>-240</AntennaGain>
    </AntennaProperties>
    <AntennaProperties>
        <AntennaConnected>True</AntennaConnected>
        <AntennaID>3</AntennaID>
        <AntennaGain>-240</AntennaGain>
    </AntennaProperties>
    <AntennaProperties>
        <AntennaConnected>False</AntennaConnected>
        <AntennaID>4</AntennaID>
        <AntennaGain>-240</AntennaGain>
    </AntennaProperties>
    <AntennaConfiguration>
        <AntennaID>1</AntennaID>
        <RFReceiver>
            <ReceiverSensitivity>1</ReceiverSensitivity>
        </RFReceiver>
        <RFTransmitter>
            <HopTableId>1</HopTableId>
            <ChannelIndex>1</ChannelIndex>
            <TransmitPower>200</TransmitPower>
        </RFTransmitter>
        <C1G2InventoryCommand>
            <TagInventoryStateAware>False</TagInventoryStateAware>
            <C1G2RFControl>
                <ModeIndex>4</ModeIndex>
                <Tari>12500</Tari>
            </C1G2RFControl>
            <C1G2SingulationControl>
                <Session>1</Session>
                <TagPopulation>20</TagPopulation>
                <TagTransitTime>0</TagTransitTime>
                <C1G2TagInventoryStateAwareSingulationAction>
                    <I>'State_A'</I>
                    <S>'SL'</S>
                    <A>'No'</A>
                </C1G2TagInventoryStateAwareSingulationAction>
            </C1G2SingulationControl>
        </C1G2InventoryCommand>
    </AntennaConfiguration>
    <AntennaConfiguration>
        <AntennaID>2</AntennaID>
        <RFReceiver>
            <ReceiverSensitivity>1</ReceiverSensitivity>
        </RFReceiver>
        <RFTransmitter>
            <HopTableId>1</HopTableId>
            <ChannelIndex>1</ChannelIndex>
            <TransmitPower>200</TransmitPower>
        </RFTransmitter>
        <C1G2InventoryCommand>
            <TagInventoryStateAware>False</TagInventoryStateAware>
            <C1G2RFControl>
                <ModeIndex>4</ModeIndex>
                <Tari>12500</Tari>
            </C1G2RFControl>
            <C1G2SingulationControl>
                <Session>1</Session>
                <TagPopulation>20</TagPopulation>
                <TagTransitTime>0</TagTransitTime>
                <C1G2TagInventoryStateAwareSingulationAction>
                    <I>'State_A'</I>
                    <S>'SL'</S>
                    <A>'No'</A>
                </C1G2TagInventoryStateAwareSingulationAction>
            </C1G2SingulationControl>
        </C1G2InventoryCommand>
    </AntennaConfiguration>
    <AntennaConfiguration>
        <AntennaID>3</AntennaID>
        <RFReceiver>
            <ReceiverSensitivity>1</ReceiverSensitivity>
        </RFReceiver>
        <RFTransmitter>
            <HopTableId>1</HopTableId>
            <ChannelIndex>1</ChannelIndex>
            <TransmitPower>200</TransmitPower>
        </RFTransmitter>
        <C1G2InventoryCommand>
            <TagInventoryStateAware>False</TagInventoryStateAware>
            <C1G2RFControl>
                <ModeIndex>4</ModeIndex>
                <Tari>12500</Tari>
            </C1G2RFControl>
            <C1G2SingulationControl>
                <Session>1</Session>
                <TagPopulation>20</TagPopulation>
                <TagTransitTime>0</TagTransitTime>
                <C1G2TagInventoryStateAwareSingulationAction>
                    <I>'State_A'</I>
                    <S>'SL'</S>
                    <A>'No'</A>
                </C1G2TagInventoryStateAwareSingulationAction>
            </C1G2SingulationControl>
        </C1G2InventoryCommand>
    </AntennaConfiguration>
    <AntennaConfiguration>
        <AntennaID>4</AntennaID>
        <RFReceiver>
            <ReceiverSensitivity>1</ReceiverSensitivity>
        </RFReceiver>
        <RFTransmitter>
            <HopTableId>1</HopTableId>
            <ChannelIndex>1</ChannelIndex>
            <TransmitPower>200</TransmitPower>
        </RFTransmitter>
        <C1G2InventoryCommand>
            <TagInventoryStateAware>False</TagInventoryStateAware>
            <C1G2RFControl>
                <ModeIndex>4</ModeIndex>
                <Tari>12500</Tari>
            </C1G2RFControl>
            <C1G2SingulationControl>
                <Session>1</Session>
                <TagPopulation>20</TagPopulation>
                <TagTransitTime>0</TagTransitTime>
                <C1G2TagInventoryStateAwareSingulationAction>
                    <I>'State_A'</I>
                    <S>'SL'</S>
                    <A>'No'</A>
                </C1G2TagInventoryStateAwareSingulationAction>
            </C1G2SingulationControl>
        </C1G2InventoryCommand>
    </AntennaConfiguration>
    <GPIPortCurrentState>
        <GPIPortNum>1</GPIPortNum>
        <GPIConfig>False</GPIConfig>
        <GPIState>1</GPIState>
    </GPIPortCurrentState>
    <GPIPortCurrentState>
        <GPIPortNum>2</GPIPortNum>
        <GPIConfig>False</GPIConfig>
        <GPIState>1</GPIState>
    </GPIPortCurrentState>
    <GPIPortCurrentState>
        <GPIPortNum>3</GPIPortNum>
        <GPIConfig>False</GPIConfig>
        <GPIState>1</GPIState>
    </GPIPortCurrentState>
    <GPIPortCurrentState>
        <GPIPortNum>4</GPIPortNum>
        <GPIConfig>False</GPIConfig>
        <GPIState>1</GPIState>
    </GPIPortCurrentState>
    <GPOWriteData>
        <GPOPortNumber>1</GPOPortNumber>
        <GPOData>False</GPOData>
    </GPOWriteData>
    <GPOWriteData>
        <GPOPortNumber>2</GPOPortNumber>
        <GPOData>False</GPOData>
    </GPOWriteData>
    <GPOWriteData>
        <GPOPortNumber>3</GPOPortNumber>
        <GPOData>False</GPOData>
    </GPOWriteData>
    <GPOWriteData>
        <GPOPortNumber>4</GPOPortNumber>
        <GPOData>False</GPOData>
    </GPOWriteData>
    <SllurpDecodeError>
        <DecodeError>UnknownParameter</DecodeError>
        <Type>1023</Type>
        <Data>b'\x00\x00\x00\x00'</Data>
        <VendorID>161</VendorID>
        <Subtype>255</Subtype>
    </SllurpDecodeError>
</GET_READER_CONFIG_RESPONSE>
2020-05-08 17:43:19,027 sllurp.llrp: DEBUG: in handleMessage(GET_READER_CONFIG_RESPONSE), there are 1 Deferreds
2020-05-08 17:43:19,042 sllurp.llrp: DEBUG: running 1 Deferreds for GET_READER_CONFIG_RESPONSE; isSuccess=True
2020-05-08 17:43:19,046 sllurp.llrp: DEBUG: state change: STATE_SENT_GET_CONFIG -> STATE_SENT_GET_CONFIG
2020-05-08 17:43:19,046 sllurp.llrp: DEBUG: serializing ENABLE_EVENTS_AND_REPORTS command
2020-05-08 17:43:19,046 sllurp.llrp: DEBUG: serialized bytes: b'04400000000a00000003'
2020-05-08 17:43:19,046 sllurp.llrp: DEBUG: done serializing ENABLE_EVENTS_AND_REPORTS command
2020-05-08 17:43:19,046 sllurp.llrp: DEBUG: serializing SET_READER_CONFIG command
2020-05-08 17:43:19,046 sllurp.llrp_proto: DEBUG: Encode: ReaderEventNotificationSpec
2020-05-08 17:43:19,046 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-08 17:43:19,046 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-08 17:43:19,046 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-08 17:43:19,046 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-08 17:43:19,046 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-08 17:43:19,046 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-08 17:43:19,046 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-08 17:43:19,046 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-08 17:43:19,046 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-08 17:43:19,046 sllurp.llrp: DEBUG: serialized bytes: b'04030000004e000000040000f4004300f5000700000000f5000700010000f5000700020000f5000700030000f5000700040000f5000700050000f5000700060000f5000700070000f50007000800'
2020-05-08 17:43:19,046 sllurp.llrp: DEBUG: done serializing SET_READER_CONFIG command
2020-05-08 17:43:19,046 sllurp.llrp: DEBUG: state change: STATE_SENT_GET_CONFIG -> STATE_SENT_SET_CONFIG
2020-05-08 17:43:19,177 sllurp.llrp: DEBUG: got 10 bytes from reader: b'043d0000000a00000f89'
2020-05-08 17:43:19,177 sllurp.llrp: DEBUG: expect 10 bytes (have 10)
2020-05-08 17:43:19,193 sllurp.llrp: DEBUG: deserializing RO_ACCESS_REPORT command
2020-05-08 17:43:19,266 sllurp.llrp_proto: DEBUG: decode_RO_ACCESS_REPORT
2020-05-08 17:43:19,267 sllurp.llrp: DEBUG: done deserializing RO_ACCESS_REPORT command
2020-05-08 17:43:19,267 sllurp.llrp: DEBUG: starting message callbacks for RO_ACCESS_REPORT
2020-05-08 17:43:19,298 sllurp.verb.inventory: INFO: no tags seen
2020-05-08 17:43:19,298 sllurp.llrp: DEBUG: done with message callbacks for RO_ACCESS_REPORT
2020-05-08 17:43:19,299 sllurp.llrp: DEBUG: LLRPMessage received in state 5:
<RO_ACCESS_REPORT>
    <ID>3977</ID>
    <TagReportData>[]</TagReportData>
</RO_ACCESS_REPORT>
2020-05-08 17:43:19,302 sllurp.llrp: DEBUG: ignoring RO_ACCESS_REPORT because not inventorying
2020-05-08 17:43:19,382 sllurp.llrp: DEBUG: got 18 bytes from reader: b'040d0000001200000004011f000800000000'
2020-05-08 17:43:19,417 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-08 17:43:19,418 sllurp.llrp: DEBUG: deserializing SET_READER_CONFIG_RESPONSE command
2020-05-08 17:43:19,419 sllurp.llrp_proto: DEBUG: decode_SET_READER_CONFIG_RESPONSE
2020-05-08 17:43:19,422 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-08 17:43:19,422 sllurp.llrp: DEBUG: done deserializing SET_READER_CONFIG_RESPONSE command
2020-05-08 17:43:19,422 sllurp.llrp: DEBUG: starting message callbacks for SET_READER_CONFIG_RESPONSE
2020-05-08 17:43:19,422 sllurp.llrp: DEBUG: done with message callbacks for SET_READER_CONFIG_RESPONSE
2020-05-08 17:43:19,423 sllurp.llrp: DEBUG: LLRPMessage received in state 5:
<SET_READER_CONFIG_RESPONSE>
    <ID>4</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</SET_READER_CONFIG_RESPONSE>
2020-05-08 17:43:19,423 sllurp.llrp: DEBUG: in handleMessage(SET_READER_CONFIG_RESPONSE), there are 1 Deferreds
2020-05-08 17:43:19,424 sllurp.llrp: DEBUG: running 1 Deferreds for SET_READER_CONFIG_RESPONSE; isSuccess=True
2020-05-08 17:43:19,424 sllurp.llrp: DEBUG: state change: STATE_SENT_SET_CONFIG -> STATE_SENT_SET_CONFIG
2020-05-08 17:43:19,424 sllurp.llrp: INFO: stopping politely
2020-05-08 17:43:19,424 sllurp.llrp: DEBUG: serializing DELETE_ACCESSSPEC command
2020-05-08 17:43:19,425 sllurp.llrp: DEBUG: serialized bytes: b'04290000000e0000000500000000'
2020-05-08 17:43:19,426 sllurp.llrp: DEBUG: done serializing DELETE_ACCESSSPEC command
2020-05-08 17:43:19,426 sllurp.llrp: DEBUG: state change: STATE_SENT_SET_CONFIG -> STATE_SENT_DELETE_ACCESSSPEC
2020-05-08 17:43:19,544 sllurp.llrp: DEBUG: got 18 bytes from reader: b'04330000001200000005011f000800000000'
2020-05-08 17:43:19,621 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-08 17:43:19,621 sllurp.llrp: DEBUG: deserializing DELETE_ACCESSSPEC_RESPONSE command
2020-05-08 17:43:19,671 sllurp.llrp_proto: DEBUG: decode_DELETE_ACCESSSPEC_RESPONSE
2020-05-08 17:43:19,673 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-08 17:43:19,673 sllurp.llrp: DEBUG: done deserializing DELETE_ACCESSSPEC_RESPONSE command
2020-05-08 17:43:19,673 sllurp.llrp: DEBUG: starting message callbacks for DELETE_ACCESSSPEC_RESPONSE
2020-05-08 17:43:19,674 sllurp.llrp: DEBUG: done with message callbacks for DELETE_ACCESSSPEC_RESPONSE
2020-05-08 17:43:19,674 sllurp.llrp: DEBUG: LLRPMessage received in state 20:
<DELETE_ACCESSSPEC_RESPONSE>
    <ID>5</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</DELETE_ACCESSSPEC_RESPONSE>
2020-05-08 17:43:19,674 sllurp.llrp: DEBUG: in handleMessage(DELETE_ACCESSSPEC_RESPONSE), there are 1 Deferreds
2020-05-08 17:43:19,675 sllurp.llrp: DEBUG: running 1 Deferreds for DELETE_ACCESSSPEC_RESPONSE; isSuccess=True
2020-05-08 17:43:19,675 sllurp.llrp: DEBUG: serializing DELETE_ROSPEC command
2020-05-08 17:43:19,675 sllurp.llrp: DEBUG: serialized bytes: b'04150000000e0000000600000000'
2020-05-08 17:43:19,675 sllurp.llrp: DEBUG: done serializing DELETE_ROSPEC command
2020-05-08 17:43:19,676 sllurp.llrp: DEBUG: state change: STATE_SENT_DELETE_ACCESSSPEC -> STATE_SENT_DELETE_ROSPEC
2020-05-08 17:43:19,803 sllurp.llrp: DEBUG: got 18 bytes from reader: b'041f0000001200000006011f000800000000'
2020-05-08 17:43:19,863 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-08 17:43:19,863 sllurp.llrp: DEBUG: deserializing DELETE_ROSPEC_RESPONSE command
2020-05-08 17:43:19,864 sllurp.llrp_proto: DEBUG: decode_DELETE_ROSPEC_RESPONSE
2020-05-08 17:43:19,897 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-08 17:43:20,007 sllurp.llrp: DEBUG: done deserializing DELETE_ROSPEC_RESPONSE command
2020-05-08 17:43:20,015 sllurp.llrp: DEBUG: starting message callbacks for DELETE_ROSPEC_RESPONSE
2020-05-08 17:43:20,015 sllurp.llrp: DEBUG: done with message callbacks for DELETE_ROSPEC_RESPONSE
2020-05-08 17:43:20,016 sllurp.llrp: DEBUG: LLRPMessage received in state 19:
<DELETE_ROSPEC_RESPONSE>
    <ID>6</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</DELETE_ROSPEC_RESPONSE>
2020-05-08 17:43:20,018 sllurp.llrp: DEBUG: in handleMessage(DELETE_ROSPEC_RESPONSE), there are 1 Deferreds
2020-05-08 17:43:20,035 sllurp.llrp: DEBUG: running 1 Deferreds for DELETE_ROSPEC_RESPONSE; isSuccess=True
2020-05-08 17:43:20,035 sllurp.llrp: DEBUG: state change: STATE_SENT_DELETE_ROSPEC -> STATE_CONNECTED
2020-05-08 17:43:20,035 sllurp.llrp: INFO: Impinj search mode? None
2020-05-08 17:43:20,035 sllurp.llrp: DEBUG: ROSpec:
<ROSpec>
    <ROSpecID>1</ROSpecID>
    <Priority>0</Priority>
    <CurrentState>'Disabled'</CurrentState>
    <ROBoundarySpec>
        <ROSpecStartTrigger>
            <ROSpecStartTriggerType>'Immediate'</ROSpecStartTriggerType>
        </ROSpecStartTrigger>
        <ROSpecStopTrigger>
            <ROSpecStopTriggerType>'Null'</ROSpecStopTriggerType>
            <DurationTriggerValue>0</DurationTriggerValue>
        </ROSpecStopTrigger>
    </ROBoundarySpec>
    <AISpec>
        <AntennaID>[0]</AntennaID>
        <AISpecStopTrigger>
            <AISpecStopTriggerType>'Null'</AISpecStopTriggerType>
            <DurationTriggerValue>0</DurationTriggerValue>
        </AISpecStopTrigger>
        <InventoryParameterSpec>
            <InventoryParameterSpecID>1</InventoryParameterSpecID>
            <ProtocolID>1</ProtocolID>
            <AntennaConfiguration>
                <AntennaID>0</AntennaID>
                <RFTransmitter>
                    <HopTableId>1</HopTableId>
                    <ChannelIndex>1</ChannelIndex>
                    <TransmitPower>200</TransmitPower>
                </RFTransmitter>
                <C1G2InventoryCommand>
                    <TagInventoryStateAware>False</TagInventoryStateAware>
                    <C1G2SingulationControl>
                        <Session>2</Session>
                        <TagPopulation>4</TagPopulation>
                        <TagTransitTime>0</TagTransitTime>
                    </C1G2SingulationControl>
                </C1G2InventoryCommand>
            </AntennaConfiguration>
        </InventoryParameterSpec>
    </AISpec>
    <ROReportSpec>
        <ROReportTrigger>'Upon_N_Tags_Or_End_Of_AISpec'</ROReportTrigger>
        <N>0</N>
        <TagReportContentSelector>
            <EnableROSpecID>False</EnableROSpecID>
            <EnableSpecIndex>False</EnableSpecIndex>
            <EnableInventoryParameterSpecID>False</EnableInventoryParameterSpecID>
            <EnableAntennaID>False</EnableAntennaID>
            <EnableChannelIndex>True</EnableChannelIndex>
            <EnablePeakRSSI>False</EnablePeakRSSI>
            <EnableFirstSeenTimestamp>False</EnableFirstSeenTimestamp>
            <EnableLastSeenTimestamp>True</EnableLastSeenTimestamp>
            <EnableTagSeenCount>True</EnableTagSeenCount>
            <EnableAccessSpecID>False</EnableAccessSpecID>
            <C1G2EPCMemorySelector>
                <EnableCRC>False</EnableCRC>
                <EnablePCBits>False</EnablePCBits>
            </C1G2EPCMemorySelector>
        </TagReportContentSelector>
    </ROReportSpec>
</ROSpec>
2020-05-08 17:43:20,035 sllurp.llrp: INFO: starting inventory
2020-05-08 17:43:20,035 sllurp.llrp: DEBUG: made enabled_rospec
2020-05-08 17:43:20,035 sllurp.llrp: DEBUG: made added_rospec
2020-05-08 17:43:20,035 sllurp.llrp: DEBUG: about to send_ADD_ROSPEC
2020-05-08 17:43:20,035 sllurp.llrp: DEBUG: serializing ADD_ROSPEC command
2020-05-08 17:43:20,035 sllurp.llrp_proto: DEBUG: Encode: ROSpec
2020-05-08 17:43:20,035 sllurp.llrp_proto: DEBUG: Encode: ROBoundarySpec
2020-05-08 17:43:20,035 sllurp.llrp_proto: DEBUG: Encode: ROSpecStartTrigger
2020-05-08 17:43:20,035 sllurp.llrp_proto: DEBUG: Encode: ROSpecStopTrigger
2020-05-08 17:43:20,035 sllurp.llrp_proto: DEBUG: Encode: AISpec
2020-05-08 17:43:20,035 sllurp.llrp_proto: DEBUG: Encode: AISpecStopTrigger
2020-05-08 17:43:20,035 sllurp.llrp_proto: DEBUG: Encode: InventoryParameterSpec
2020-05-08 17:43:20,035 sllurp.llrp_proto: DEBUG: Encode: AntennaConfiguration
2020-05-08 17:43:20,035 sllurp.llrp_proto: DEBUG: Encode: RFTransmitter
2020-05-08 17:43:20,035 sllurp.llrp_proto: DEBUG: Encode: C1G2InventoryCommand
2020-05-08 17:43:20,035 sllurp.llrp_proto: DEBUG: Encode: C1G2SingulationControl
2020-05-08 17:43:20,035 sllurp.llrp_proto: DEBUG: Encode: ROReportSpec
2020-05-08 17:43:20,035 sllurp.llrp_proto: DEBUG: Encode: TagReportContentSelector
2020-05-08 17:43:20,035 sllurp.llrp_proto: DEBUG: Encode: C1G2EPCMemorySelector
2020-05-08 17:43:20,035 sllurp.llrp: DEBUG: serialized bytes: b'0414000000700000000700b1006600000001000000b2001200b300050100b60009000000000000b700380001000000b80009000000000000ba002700010100de0020000000e0000a0001000100c8014a0010000150000b8000040000000000ed001201000000ee000b0980015c000500'
2020-05-08 17:43:20,035 sllurp.llrp: DEBUG: done serializing ADD_ROSPEC command
2020-05-08 17:43:20,035 sllurp.llrp: DEBUG: sent ADD_ROSPEC
2020-05-08 17:43:20,035 sllurp.llrp: DEBUG: state change: STATE_CONNECTED -> STATE_SENT_ADD_ROSPEC
2020-05-08 17:43:20,166 sllurp.llrp: DEBUG: got 18 bytes from reader: b'041e0000001200000007011f000800000000'
2020-05-08 17:43:20,182 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-08 17:43:20,185 sllurp.llrp: DEBUG: deserializing ADD_ROSPEC_RESPONSE command
2020-05-08 17:43:20,250 sllurp.llrp_proto: DEBUG: decode_ADD_ROSPEC_RESPONSE
2020-05-08 17:43:20,251 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-08 17:43:20,251 sllurp.llrp: DEBUG: done deserializing ADD_ROSPEC_RESPONSE command
2020-05-08 17:43:20,251 sllurp.llrp: DEBUG: starting message callbacks for ADD_ROSPEC_RESPONSE
2020-05-08 17:43:20,251 sllurp.llrp: DEBUG: done with message callbacks for ADD_ROSPEC_RESPONSE
2020-05-08 17:43:20,251 sllurp.llrp: DEBUG: LLRPMessage received in state 15:
<ADD_ROSPEC_RESPONSE>
    <ID>7</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</ADD_ROSPEC_RESPONSE>
2020-05-08 17:43:20,251 sllurp.llrp: DEBUG: in handleMessage(ADD_ROSPEC_RESPONSE), there are 1 Deferreds
2020-05-08 17:43:20,251 sllurp.llrp: DEBUG: running 1 Deferreds for ADD_ROSPEC_RESPONSE; isSuccess=True
2020-05-08 17:43:20,251 sllurp.llrp: DEBUG: serializing ENABLE_ROSPEC command
2020-05-08 17:43:20,251 sllurp.llrp: DEBUG: serialized bytes: b'04180000000e0000000800000001'
2020-05-08 17:43:20,251 sllurp.llrp: DEBUG: done serializing ENABLE_ROSPEC command
2020-05-08 17:43:20,251 sllurp.llrp: DEBUG: state change: STATE_SENT_ADD_ROSPEC -> STATE_SENT_ENABLE_ROSPEC
2020-05-08 17:43:20,379 sllurp.llrp: DEBUG: got 18 bytes from reader: b'04220000001200000008011f000800000000'
2020-05-08 17:43:20,427 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-08 17:43:20,427 sllurp.llrp: DEBUG: deserializing ENABLE_ROSPEC_RESPONSE command
2020-05-08 17:43:20,427 sllurp.llrp_proto: DEBUG: decode_ENABLE_ROSPEC_RESPONSE
2020-05-08 17:43:20,496 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-08 17:43:20,496 sllurp.llrp: DEBUG: done deserializing ENABLE_ROSPEC_RESPONSE command
2020-05-08 17:43:20,496 sllurp.llrp: DEBUG: starting message callbacks for ENABLE_ROSPEC_RESPONSE
2020-05-08 17:43:20,496 sllurp.llrp: DEBUG: done with message callbacks for ENABLE_ROSPEC_RESPONSE
2020-05-08 17:43:20,496 sllurp.llrp: DEBUG: LLRPMessage received in state 16:
<ENABLE_ROSPEC_RESPONSE>
    <ID>8</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</ENABLE_ROSPEC_RESPONSE>
2020-05-08 17:43:20,496 sllurp.llrp: DEBUG: in handleMessage(ENABLE_ROSPEC_RESPONSE), there are 1 Deferreds
2020-05-08 17:43:20,496 sllurp.llrp: DEBUG: running 1 Deferreds for ENABLE_ROSPEC_RESPONSE; isSuccess=True
2020-05-08 17:43:20,496 sllurp.llrp: DEBUG: state change: STATE_SENT_ENABLE_ROSPEC -> STATE_INVENTORYING
2020-05-08 17:43:22,343 sllurp.verb.inventory: INFO: Exit detected! Stopping readers...
2020-05-08 17:43:22,343 sllurp.llrp: INFO: stopPolitely will disconnect when stopped
2020-05-08 17:43:22,419 sllurp.llrp: INFO: stopping politely
2020-05-08 17:43:22,419 sllurp.llrp: DEBUG: serializing DELETE_ACCESSSPEC command
2020-05-08 17:43:22,419 sllurp.llrp: DEBUG: serialized bytes: b'04290000000e0000000900000000'
2020-05-08 17:43:22,507 sllurp.llrp: DEBUG: done serializing DELETE_ACCESSSPEC command
2020-05-08 17:43:22,577 sllurp.llrp: DEBUG: state change: STATE_INVENTORYING -> STATE_SENT_DELETE_ACCESSSPEC
2020-05-08 17:43:22,712 sllurp.llrp: DEBUG: got 18 bytes from reader: b'04330000001200000009011f000800000000'
2020-05-08 17:43:22,773 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-08 17:43:22,773 sllurp.llrp: DEBUG: deserializing DELETE_ACCESSSPEC_RESPONSE command
2020-05-08 17:43:22,773 sllurp.llrp_proto: DEBUG: decode_DELETE_ACCESSSPEC_RESPONSE
2020-05-08 17:43:22,773 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-08 17:43:22,773 sllurp.llrp: DEBUG: done deserializing DELETE_ACCESSSPEC_RESPONSE command
2020-05-08 17:43:22,773 sllurp.llrp: DEBUG: starting message callbacks for DELETE_ACCESSSPEC_RESPONSE
2020-05-08 17:43:22,804 sllurp.llrp: DEBUG: done with message callbacks for DELETE_ACCESSSPEC_RESPONSE
2020-05-08 17:43:22,806 sllurp.llrp: DEBUG: LLRPMessage received in state 20:
<DELETE_ACCESSSPEC_RESPONSE>
    <ID>9</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</DELETE_ACCESSSPEC_RESPONSE>
2020-05-08 17:43:22,808 sllurp.llrp: DEBUG: in handleMessage(DELETE_ACCESSSPEC_RESPONSE), there are 1 Deferreds
2020-05-08 17:43:22,808 sllurp.llrp: DEBUG: running 1 Deferreds for DELETE_ACCESSSPEC_RESPONSE; isSuccess=True
2020-05-08 17:43:22,808 sllurp.llrp: DEBUG: serializing DELETE_ROSPEC command
2020-05-08 17:43:22,808 sllurp.llrp: DEBUG: serialized bytes: b'04150000000e0000000a00000000'
2020-05-08 17:43:22,809 sllurp.llrp: DEBUG: done serializing DELETE_ROSPEC command
2020-05-08 17:43:22,809 sllurp.llrp: DEBUG: state change: STATE_SENT_DELETE_ACCESSSPEC -> STATE_SENT_DELETE_ROSPEC
2020-05-08 17:43:22,962 sllurp.llrp: DEBUG: got 298 bytes from reader: b'043d0000012a00000f8a00f000208de2005037590701270270edaf870005840005a5267fc0561e88004300f000208de20050375909012822902745870005840005a5267fc08cce88003e00f000208de200503759090160231026c7870005840005a5267fc12cf688004000f000208de2005037590701990230ef4f870005840005a5267fc11d5688003c00f000208de2005037590901432180320e870005840005a5267fc1540688001a00f000208de2005037590701270200f188870005840005a5267fc0c76688002300f000208de200503759090100230027b6870005840005a5267fc1678e88001c00f000208de20050375909007522302f83870005840005a5267fc13c9688004000f000208de20050375909015722302e3b87000a840005a5267fb8c0b6880007'
2020-05-08 17:43:22,962 sllurp.llrp: DEBUG: expect 298 bytes (have 298)
2020-05-08 17:43:22,962 sllurp.llrp: DEBUG: deserializing RO_ACCESS_REPORT command
2020-05-08 17:43:22,962 sllurp.llrp_proto: DEBUG: decode_RO_ACCESS_REPORT
2020-05-08 17:43:22,962 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-08 17:43:22,962 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-08 17:43:22,962 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-08 17:43:22,962 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-08 17:43:22,962 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-08 17:43:22,962 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-08 17:43:22,962 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-08 17:43:22,962 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-08 17:43:22,962 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-08 17:43:22,962 sllurp.llrp: DEBUG: done deserializing RO_ACCESS_REPORT command
2020-05-08 17:43:22,962 sllurp.llrp: DEBUG: starting message callbacks for RO_ACCESS_REPORT
2020-05-08 17:43:22,962 sllurp.verb.inventory: INFO: saw tag(s): [{'ChannelIndex': 5,
  'EPC': b'e2005037590701270270edaf',
  'EPC-96': b'e2005037590701270270edaf',
  'LastSeenTimestampUTC': 1588959654204958,
  'TagSeenCount': 67},
 {'ChannelIndex': 5,
  'EPC': b'e20050375909012822902745',
  'EPC-96': b'e20050375909012822902745',
  'LastSeenTimestampUTC': 1588959654218958,
  'TagSeenCount': 62},
 {'ChannelIndex': 5,
  'EPC': b'e200503759090160231026c7',
  'EPC-96': b'e200503759090160231026c7',
  'LastSeenTimestampUTC': 1588959654259958,
  'TagSeenCount': 64},
 {'ChannelIndex': 5,
  'EPC': b'e2005037590701990230ef4f',
  'EPC-96': b'e2005037590701990230ef4f',
  'LastSeenTimestampUTC': 1588959654255958,
  'TagSeenCount': 60},
 {'ChannelIndex': 5,
  'EPC': b'e2005037590901432180320e',
  'EPC-96': b'e2005037590901432180320e',
  'LastSeenTimestampUTC': 1588959654269958,
  'TagSeenCount': 26},
 {'ChannelIndex': 5,
  'EPC': b'e2005037590701270200f188',
  'EPC-96': b'e2005037590701270200f188',
  'LastSeenTimestampUTC': 1588959654233958,
  'TagSeenCount': 35},
 {'ChannelIndex': 5,
  'EPC': b'e200503759090100230027b6',
  'EPC-96': b'e200503759090100230027b6',
  'LastSeenTimestampUTC': 1588959654274958,
  'TagSeenCount': 28},
 {'ChannelIndex': 5,
  'EPC': b'e20050375909007522302f83',
  'EPC-96': b'e20050375909007522302f83',
  'LastSeenTimestampUTC': 1588959654263958,
  'TagSeenCount': 64},
 {'ChannelIndex': 10,
  'EPC': b'e20050375909015722302e3b',
  'EPC-96': b'e20050375909015722302e3b',
  'LastSeenTimestampUTC': 1588959653707958,
  'TagSeenCount': 7}]
2020-05-08 17:43:23,033 sllurp.llrp: DEBUG: done with message callbacks for RO_ACCESS_REPORT
2020-05-08 17:43:23,049 sllurp.llrp: DEBUG: LLRPMessage received in state 19:
<RO_ACCESS_REPORT>
    <ID>3978</ID>
    <TagReportData>
        <EPC>b'e2005037590701270270edaf'</EPC>
        <EPC-96>b'e2005037590701270270edaf'</EPC-96>
        <ChannelIndex>5</ChannelIndex>
        <LastSeenTimestampUTC>1588959654204958</LastSeenTimestampUTC>
        <TagSeenCount>67</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e20050375909012822902745'</EPC>
        <EPC-96>b'e20050375909012822902745'</EPC-96>
        <ChannelIndex>5</ChannelIndex>
        <LastSeenTimestampUTC>1588959654218958</LastSeenTimestampUTC>
        <TagSeenCount>62</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e200503759090160231026c7'</EPC>
        <EPC-96>b'e200503759090160231026c7'</EPC-96>
        <ChannelIndex>5</ChannelIndex>
        <LastSeenTimestampUTC>1588959654259958</LastSeenTimestampUTC>
        <TagSeenCount>64</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e2005037590701990230ef4f'</EPC>
        <EPC-96>b'e2005037590701990230ef4f'</EPC-96>
        <ChannelIndex>5</ChannelIndex>
        <LastSeenTimestampUTC>1588959654255958</LastSeenTimestampUTC>
        <TagSeenCount>60</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e2005037590901432180320e'</EPC>
        <EPC-96>b'e2005037590901432180320e'</EPC-96>
        <ChannelIndex>5</ChannelIndex>
        <LastSeenTimestampUTC>1588959654269958</LastSeenTimestampUTC>
        <TagSeenCount>26</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e2005037590701270200f188'</EPC>
        <EPC-96>b'e2005037590701270200f188'</EPC-96>
        <ChannelIndex>5</ChannelIndex>
        <LastSeenTimestampUTC>1588959654233958</LastSeenTimestampUTC>
        <TagSeenCount>35</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e200503759090100230027b6'</EPC>
        <EPC-96>b'e200503759090100230027b6'</EPC-96>
        <ChannelIndex>5</ChannelIndex>
        <LastSeenTimestampUTC>1588959654274958</LastSeenTimestampUTC>
        <TagSeenCount>28</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e20050375909007522302f83'</EPC>
        <EPC-96>b'e20050375909007522302f83'</EPC-96>
        <ChannelIndex>5</ChannelIndex>
        <LastSeenTimestampUTC>1588959654263958</LastSeenTimestampUTC>
        <TagSeenCount>64</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e20050375909015722302e3b'</EPC>
        <EPC-96>b'e20050375909015722302e3b'</EPC-96>
        <ChannelIndex>10</ChannelIndex>
        <LastSeenTimestampUTC>1588959653707958</LastSeenTimestampUTC>
        <TagSeenCount>7</TagSeenCount>
    </TagReportData>
</RO_ACCESS_REPORT>
2020-05-08 17:43:23,053 sllurp.llrp: DEBUG: ignoring RO_ACCESS_REPORT because not inventorying
2020-05-08 17:43:23,181 sllurp.llrp: DEBUG: got 18 bytes from reader: b'041f000000120000000a011f000800000000'
2020-05-08 17:43:23,244 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-08 17:43:23,257 sllurp.llrp: DEBUG: deserializing DELETE_ROSPEC_RESPONSE command
2020-05-08 17:43:23,282 sllurp.llrp_proto: DEBUG: decode_DELETE_ROSPEC_RESPONSE
2020-05-08 17:43:23,282 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-08 17:43:23,282 sllurp.llrp: DEBUG: done deserializing DELETE_ROSPEC_RESPONSE command
2020-05-08 17:43:23,283 sllurp.llrp: DEBUG: starting message callbacks for DELETE_ROSPEC_RESPONSE
2020-05-08 17:43:23,283 sllurp.llrp: DEBUG: done with message callbacks for DELETE_ROSPEC_RESPONSE
2020-05-08 17:43:23,283 sllurp.llrp: DEBUG: LLRPMessage received in state 19:
<DELETE_ROSPEC_RESPONSE>
    <ID>10</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</DELETE_ROSPEC_RESPONSE>
2020-05-08 17:43:23,284 sllurp.llrp: DEBUG: in handleMessage(DELETE_ROSPEC_RESPONSE), there are 1 Deferreds
2020-05-08 17:43:23,324 sllurp.llrp: DEBUG: running 1 Deferreds for DELETE_ROSPEC_RESPONSE; isSuccess=True
2020-05-08 17:43:23,325 sllurp.llrp: DEBUG: state change: STATE_SENT_DELETE_ROSPEC -> STATE_DISCONNECTED
2020-05-08 17:43:23,336 sllurp.llrp: INFO: disconnecting
2020-05-08 17:43:23,339 sllurp.verb.inventory: INFO: total # of tags seen: 413 (145 tags/second)

sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 24831, 300) sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 24831, 301) sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 24831, 300)

ID 24831 (which is the same as the DeviceManufacturerName) belongs to Sirit Technologies Inc..

Later Edit:

I tried to log the output of llrp_data2xml for MotoDefaultSpec and this is what I got:

{
    'UseDefaultSpecForAutoMode': True,
     'ROSpec': {
        'ROSpecID': 1001,
        'Priority': 7,
        'CurrentState': 0,
        'ROBoundarySpec': {
            'ROSpecStartTrigger': {
                'ROSpecStartTriggerType': 1
            },
            'ROSpecStopTrigger': {
                'ROSpecStopTriggerType': 0,
                'DurationTriggerValue': 0
            }
        },
        'AISpec': [
            {
                'AntennaCount': 1,
                'AntennaID': {0},
                'AISpecStopTrigger': {
                    'AISpecStopTriggerType': 0,
                    'DurationTriggerValue': 0
                    },
                'InventoryParameterSpec': [
                    {
                        'InventoryParameterSpecID': 1001,
                        'ProtocolID': 1
                    }
                ],
            'SllurpDecodeError': [
                    {
                        'Name': '',
                        'Type': 1023,
                        'DecodeError': 'UnknownParameter',
                        'Data': b'\x80', 
                        'VendorID': 24831,
                        'Subtype': 300
                    },
                    {
                        'Name': '',
                        'Type': 1023,
                        'DecodeError': 'UnknownParameter',
                        'Data': b'\x01',
                        'VendorID': 24831,
                        'Subtype': 301
                    },
                    {
                        'Name': '',
                        'Type': 1023,
                        'DecodeError': 'UnknownParameter',
                        'Data': b'\x80',
                        'VendorID': 24831,
                        'Subtype': 300
                    }
                ]
            }
        ],
        'ROReportSpec': {
            'N': 0,
            'ROReportTrigger': 'None',
            'TagReportContentSelector': {
                'EnableROSpecID': True,
                'EnableSpecIndex': False,
                'EnableInventoryParameterSpecID': False,
                'EnableAntennaID': True,
                'EnableChannelIndex': False,
                'EnablePeakRSSI': True,
                'EnableFirstSeenTimestamp': True,
                'EnableLastSeenTimestamp': True,
                'EnableTagSeenCount': True,
                'EnableAccessSpecID': False,
                'CustomParameter': False,
                'C1G2EPCMemorySelector': {
                    'EnableCRC': True,
                    'EnablePCBits': True,
                    'EnableXPCBits': False
                    }
            },
            'MotoTagEventSelector': {
                'ReportNewTagEvent': 'Immediate',
                'NewTagEventModeratedTimeout': 0,
                'ReportTagInvisibleEvent': 'Moderate',
                'TagInvisibleEventModeratedTimeout': 8000,
                'ReportTagVisibilityChangeEvent': 'Immediate',
                'TagVisibilityChangeEventModeratedTimeout': 0
            },
            'MotoTagReportMode': {
                'ReportFormat': 'Report Notification'
            }
        }
    }
}

Don't know why it's not printed in the log file, though.

pBogey commented 4 years ago

Had typo in the code, I have managed to decode most parameters (all, except the unusual ones with vendor id = 24831):

2020-05-11 22:45:39,347 sllurp.cli: DEBUG: inventory args: Args(host=('<host>',), port=5084, time=None, every_n=None, antennas='0', tx_power=0, tari=0, session=2, population=4, mode_identifier=None, reconnect=False, tag_filter_mask=(), impinj_extended_configuration=False, impinj_search_mode=None, impinj_reports=False, frequencies='1', hoptable_id=1)
2020-05-11 22:45:39,347 sllurp.llrp: INFO: will reset reader state on connect
2020-05-11 22:45:39,348 sllurp.llrp: INFO: will start inventory on connect
2020-05-11 22:45:39,348 sllurp.llrp: INFO: using antennas: [0]
2020-05-11 22:45:39,348 sllurp.llrp: INFO: transmit power: {0: 0}
2020-05-11 22:45:39,481 sllurp.llrp: INFO: connected to <host> (:5084)
2020-05-11 22:45:39,853 sllurp.llrp: DEBUG: got 32 bytes from reader: b'043f000000200000105e00f600160080000c0005a5670f799b4c010000060000'
2020-05-11 22:45:39,855 sllurp.llrp: DEBUG: expect 32 bytes (have 32)
2020-05-11 22:45:39,890 sllurp.llrp: DEBUG: deserializing READER_EVENT_NOTIFICATION command
2020-05-11 22:45:39,895 sllurp.llrp_proto: DEBUG: decode_READER_EVENT_NOTIFICATION
2020-05-11 22:45:39,961 sllurp.llrp_proto: DEBUG: decode_ReaderEventNotificationData
2020-05-11 22:45:39,963 sllurp.llrp_proto: DEBUG: decode_ConnectionAttemptEvent
2020-05-11 22:45:39,971 sllurp.llrp: DEBUG: done deserializing READER_EVENT_NOTIFICATION command
2020-05-11 22:45:39,991 sllurp.llrp: DEBUG: starting message callbacks for READER_EVENT_NOTIFICATION
2020-05-11 22:45:40,017 sllurp.llrp: DEBUG: done with message callbacks for READER_EVENT_NOTIFICATION
2020-05-11 22:45:40,018 sllurp.llrp: DEBUG: LLRPMessage received in state 1:
<READER_EVENT_NOTIFICATION>
    <ID>4190</ID>
    <ReaderEventNotificationData>
        <UTCTimestamp>
            <Microseconds>1589236943395660</Microseconds>
        </UTCTimestamp>
        <ConnectionAttemptEvent>
            <Status>'Success'</Status>
        </ConnectionAttemptEvent>
    </ReaderEventNotificationData>
</READER_EVENT_NOTIFICATION>
2020-05-11 22:45:40,034 sllurp.llrp: DEBUG: in handleMessage(READER_EVENT_NOTIFICATION), there are 0 Deferreds
2020-05-11 22:45:40,035 sllurp.llrp: DEBUG: serializing GET_READER_CAPABILITIES command
2020-05-11 22:45:40,036 sllurp.llrp: DEBUG: serialized bytes: b'04010000000b0000000100'
2020-05-11 22:45:40,037 sllurp.llrp: DEBUG: done serializing GET_READER_CAPABILITIES command
2020-05-11 22:45:40,077 sllurp.llrp: DEBUG: state change: STATE_DISCONNECTED -> STATE_SENT_GET_CAPABILITIES
2020-05-11 22:45:40,183 sllurp.llrp: DEBUG: got 1320 bytes from reader: b'040b00000aba00000001011f0008000000000089005200044000000060ff0000251c000c312e362e352e313630303130008b000800010000008d000800040004008c00090001000101008c00090002000101008c00090003000101008c00090004000101008e001cd80700000000002000000008000000040000002000000008008f09cd03480001009009c500910008000003e800910008000103f200910008000203fc00910008000304060091000800040410009100080005041a0091000800060424009100080007042e0091000800080438009100080009044200910008000a044c00910008000b045600910008000c046000910008000d046a00910008000e047400910008000f047e00910008001004880091000800110492009100080012049c00910008001304a600910008001404b000910008001504ba00910008001604c400910008001704ce00910008001804d800910008001904e200910008001a04ec00910008001b04f600910008001c050000910008001d050a00910008001e051400910008001f051e00910008002005280091000800210532009100080022053c00910008002305460091000800240550009100080025055a0091000800260564009100080027056e0091000800280578009100080029058200910008002a058c00910008002b059600910008002c05a000910008002d05aa00910008002e05b400910008002f05be00910008003005c800910008003105d200910008003205dc00910008003305e600910008003405f000910008003505fa0091000800360604009100080037060e0091000800380618009100080039062200910008003a062c00910008003b063600910008003c064000910008003d064a00910008003e065400910008003f065e00910008004006680091000800410672009100080042067c00910008004306860091000800440690009100080045069a00910008004606a400910008004706ae00910008004806b800910008004906c200910008004a06cc00910008004b06d600910008004c06e000910008004d06ea00910008004e06f400910008004f06fe00910008005007080091000800510712009100080052071c00910008005307260091000800540730009100080055073a0091000800560744009100080057074e0091000800580758009100080059076200910008005a076c00910008005b077600910008005c078000910008005d078a00910008005e079400910008005f079e00910008006007a800910008006107b200910008006207bc00910008006307c600910008006407d000910008006507da00910008006607e400910008006707ee00910008006807f8009100080069080200910008006a080c00910008006b081600910008006c082000910008006d082a00910008006e083400910008006f083e00910008007008480091000800710852009100080072085c00910008007308660091000800740870009100080075087a0091000800760884009100080077088e009100080078089800910008007908a200910008007a08ac00910008007b08b600910008007c08c000910008007d08ca00910008007e08d400910008007f08de00910008008008e800910008008108f200910008008208fc00910008008309060091000800840910009100080085091a0091000800860924009100080087092e0091000800880938009100080089094200910008008a094c00910008008b095600910008008c096000910008008d096a00910008008e097400910008008f097e00910008009009880091000800910992009100080092099c00910008'
2020-05-11 22:45:40,185 sllurp.llrp: DEBUG: expect 2746 bytes (have 1320)
2020-05-11 22:45:40,187 sllurp.llrp: DEBUG: got 1426 bytes from reader: b'009309a600910008009409b000910008009509ba00910008009609c400910008009709ce00910008009809d800910008009909e200910008009a09ec00910008009b09f600910008009c0a0000910008009d0a0a00910008009e0a1400910008009f0a1e0091000800a00a280091000800a10a320091000800a20a3c0091000800a30a460091000800a40a500091000800a50a5a0091000800a60a640091000800a70a6e0091000800a80a780091000800a90a820091000800aa0a8c0091000800ab0a960091000800ac0aa00091000800ad0aaa0091000800ae0ab40091000800af0abe0091000800b00ac80091000800b10ad20091000800b20adc0091000800b30ae60091000800b40af00091000800b50afa0091000800b60b040091000800b70b0e0091000800b80b180091000800b90b220091000800ba0b2c0091000800bb0b360091000800bc0b400091000800bd0b4a0091000800be0b540091000800bf0b5e0091000800c00b680091000800c10b720091000800c20b7c0091000800c30b860091000800c40b900091000800c50b9a0091000800c60ba40091000800c70bae0091000800c80bb8009200d580009300d001000032000dc65e000e241e000de59e000e04de000dc852000e2612000de792000e06d2000dca46000de986000e08c6000dcc3a000deb7a000e0aba000dce2e000ded6e000e0cae000dd022000def62000e0ea2000dd216000df156000e1096000dd40a000df34a000e128a000dd5fe000df53e000e147e000dd7f2000df732000e1672000dd9e6000df926000e1866000ddbda000dfb1a000e1a5a000dddce000dfd0e000e1c4e000ddfc2000dff02000e1e42000de1b6000e00f6000e2036000de3aa000e02ea000e222a014802a40149002000000000c00100030002ee00000007d0000030d4000030d4000000000149002000000001c00200030002ee00000007d0000030d4000030d4000000000149002000000002c00300030002ee00000007d0000030d4000030d4000000000149002000000003c00100030003a980000007d0000030d4000030d4000000000149002000000004c00200030003a980000007d0000030d4000030d4000000000149002000000005c00300030003a980000007d0000030d4000030d4000000000149002000000006c00100030004e200000007d0000030d4000030d4000000000149002000000007c00200030004e200000007d0000030d4000030d4000000000149002000000008c00300030004e200000007d0000030d4000030d4000000000149002000000009c00100030009c400000007d00000186a0000186a00000000014900200000000ac00200030009c400000007d00000186a0000186a00000000014900200000000bc00300030009c400000007d00000186a0000186a00000000014900200000000cc00100030002ee00000005dc000061a8000061a800000000014900200000000dc00200030002ee00000005dc000061a8000061a800000000014900200000000ec00300030002ee00000005dc000061a8000061a800000000014900200000000fc00100030003a980000005dc000061a8000061a8000000000149002000000010c00200030003a980000005dc000061a8000061a8000000000149002000000011c00300030003a980000005dc000061a8000061a80000000001490020000000124000000100013880000005dc000061a8000061a8000000000149002000000013c00000010004e200000007d0000030d4000030d4000000000149002000000014c00002010009c400000005dc0000186a0000186a0000000001470007c0000803ff0011000000a100000001000000018003ff0011000000a100000064000000018003ff0011000000a10000007800000001c003ff0011000000a1000000c800000001e003ff0011000000a10000012c000000018003ff0011000000a1000001900000000190'
2020-05-11 22:45:40,206 sllurp.llrp: DEBUG: expect 2746 bytes (have 2746)
2020-05-11 22:45:40,218 sllurp.llrp: DEBUG: deserializing GET_READER_CAPABILITIES_RESPONSE command
2020-05-11 22:45:40,234 sllurp.llrp_proto: DEBUG: decode_GET_READER_CAPABILITIES_RESPONSE
2020-05-11 22:45:40,235 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-11 22:45:40,236 sllurp.llrp_proto: DEBUG: decode_GeneralDeviceCapabilities
2020-05-11 22:45:40,248 sllurp.llrp_proto: DEBUG: decode_GeneralDeviceCapabilities
2020-05-11 22:45:40,250 sllurp.llrp_proto: DEBUG: decode_PerAntennaAirProtocol
2020-05-11 22:45:40,276 sllurp.llrp_proto: DEBUG: decode_PerAntennaAirProtocol
2020-05-11 22:45:40,277 sllurp.llrp_proto: DEBUG: decode_PerAntennaAirProtocol
2020-05-11 22:45:40,277 sllurp.llrp_proto: DEBUG: decode_PerAntennaAirProtocol
2020-05-11 22:45:40,278 sllurp.llrp_proto: DEBUG: decode_LLRPCapabilities
2020-05-11 22:45:40,279 sllurp.llrp_proto: DEBUG: decode_RegulatoryCapabilities
2020-05-11 22:45:40,279 sllurp.llrp_proto: DEBUG: decode_UHFBandCapabilities
2020-05-11 22:45:40,281 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-11 22:45:40,281 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-11 22:45:40,297 sllurp.llrp_proto: DEBUG: decode_FrequencyHopTable
2020-05-11 22:45:40,298 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTable
2020-05-11 22:45:40,299 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,299 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,300 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,300 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,322 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,328 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,329 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,330 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,331 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,331 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,332 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,332 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,333 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,334 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,335 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,335 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,336 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,337 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,348 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,349 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,349 sllurp.llrp_proto: DEBUG: decode_UHFC1G2RFModeTableEntry
2020-05-11 22:45:40,397 sllurp.llrp_proto: DEBUG: decode_C1G2LLRPCapabilities
2020-05-11 22:45:40,397 sllurp.llrp_proto: DEBUG: decode_MotoGeneralCapabilities
2020-05-11 22:45:40,398 sllurp.llrp_proto: DEBUG: decode_MotoAutonomousCapabilities
2020-05-11 22:45:40,399 sllurp.llrp_proto: DEBUG: decode_MotoTagEventsGenerationCapabilities
2020-05-11 22:45:40,400 sllurp.llrp_proto: DEBUG: decode_MotoFilterCapabilities
2020-05-11 22:45:40,401 sllurp.llrp_proto: DEBUG: decode_MotoPersistenceCapabilities
2020-05-11 22:45:40,402 sllurp.llrp_proto: DEBUG: decode_MotoC1G2LLRPCapabilities
2020-05-11 22:45:40,403 sllurp.llrp: DEBUG: done deserializing GET_READER_CAPABILITIES_RESPONSE command
2020-05-11 22:45:40,403 sllurp.llrp: DEBUG: starting message callbacks for GET_READER_CAPABILITIES_RESPONSE
2020-05-11 22:45:40,404 sllurp.llrp: DEBUG: done with message callbacks for GET_READER_CAPABILITIES_RESPONSE
2020-05-11 22:45:40,405 sllurp.llrp: DEBUG: LLRPMessage received in state 21:
<GET_READER_CAPABILITIES_RESPONSE>
    <ID>1</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
    <GeneralDeviceCapabilities>
        <MaxNumberOfAntennaSupported>4</MaxNumberOfAntennaSupported>
        <CanSetAntennaProperties>False</CanSetAntennaProperties>
        <HasUTCClockCapability>True</HasUTCClockCapability>
        <DeviceManufacturerName>24831</DeviceManufacturerName>
        <ModelName>9500</ModelName>
        <FirmwareVersionByteCount>12</FirmwareVersionByteCount>
        <ReaderFirmwareVersion>b'1.6.5.160010'</ReaderFirmwareVersion>
        <ReceiveSensitivityTableEntry>
            <Index>1</Index>
            <ReceiveSensitivityValue>0</ReceiveSensitivityValue>
        </ReceiveSensitivityTableEntry>
        <GPIOCapabilities>
            <NumGPIs>4</NumGPIs>
            <NumGPOs>4</NumGPOs>
        </GPIOCapabilities>
        <PerAntennaAirProtocol>
            <AntennaID>1</AntennaID>
            <NumProtocols>1</NumProtocols>
            <ProtocolID>[1]</ProtocolID>
        </PerAntennaAirProtocol>
        <PerAntennaAirProtocol>
            <AntennaID>2</AntennaID>
            <NumProtocols>1</NumProtocols>
            <ProtocolID>[1]</ProtocolID>
        </PerAntennaAirProtocol>
        <PerAntennaAirProtocol>
            <AntennaID>3</AntennaID>
            <NumProtocols>1</NumProtocols>
            <ProtocolID>[1]</ProtocolID>
        </PerAntennaAirProtocol>
        <PerAntennaAirProtocol>
            <AntennaID>4</AntennaID>
            <NumProtocols>1</NumProtocols>
            <ProtocolID>[1]</ProtocolID>
        </PerAntennaAirProtocol>
    </GeneralDeviceCapabilities>
    <LLRPCapabilities>
        <CanDoRFSurvey>True</CanDoRFSurvey>
        <CanReportBufferFillWarning>True</CanReportBufferFillWarning>
        <SupportsClientRequestOpSpec>False</SupportsClientRequestOpSpec>
        <CanDoTagInventoryStateAwareSingulation>True</CanDoTagInventoryStateAwareSingulation>
        <SupportsEventAndReportHolding>True</SupportsEventAndReportHolding>
        <MaxPriorityLevelSupported>7</MaxPriorityLevelSupported>
        <ClientRequestOpSpecTimeout>0</ClientRequestOpSpecTimeout>
        <MaxNumROSpec>32</MaxNumROSpec>
        <MaxNumSpecsPerROSpec>8</MaxNumSpecsPerROSpec>
        <MaxNumInventoryParametersSpecsPerAISpec>4</MaxNumInventoryParametersSpecsPerAISpec>
        <MaxNumAccessSpec>32</MaxNumAccessSpec>
        <MaxNumOpSpecsPerAccessSpec>8</MaxNumOpSpecsPerAccessSpec>
    </LLRPCapabilities>
    <RegulatoryCapabilities>
        <CountryCode>840</CountryCode>
        <CommunicationsStandard>1</CommunicationsStandard>
        <UHFBandCapabilities>
            <TransmitPowerLevelTableEntry>
                <Index>0</Index>
                <TransmitPowerValue>1000</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>1</Index>
                <TransmitPowerValue>1010</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>2</Index>
                <TransmitPowerValue>1020</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>3</Index>
                <TransmitPowerValue>1030</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>4</Index>
                <TransmitPowerValue>1040</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>5</Index>
                <TransmitPowerValue>1050</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>6</Index>
                <TransmitPowerValue>1060</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>7</Index>
                <TransmitPowerValue>1070</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>8</Index>
                <TransmitPowerValue>1080</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>9</Index>
                <TransmitPowerValue>1090</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>10</Index>
                <TransmitPowerValue>1100</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>11</Index>
                <TransmitPowerValue>1110</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>12</Index>
                <TransmitPowerValue>1120</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>13</Index>
                <TransmitPowerValue>1130</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>14</Index>
                <TransmitPowerValue>1140</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>15</Index>
                <TransmitPowerValue>1150</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>16</Index>
                <TransmitPowerValue>1160</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>17</Index>
                <TransmitPowerValue>1170</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>18</Index>
                <TransmitPowerValue>1180</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>19</Index>
                <TransmitPowerValue>1190</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>20</Index>
                <TransmitPowerValue>1200</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>21</Index>
                <TransmitPowerValue>1210</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>22</Index>
                <TransmitPowerValue>1220</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>23</Index>
                <TransmitPowerValue>1230</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>24</Index>
                <TransmitPowerValue>1240</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>25</Index>
                <TransmitPowerValue>1250</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>26</Index>
                <TransmitPowerValue>1260</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>27</Index>
                <TransmitPowerValue>1270</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>28</Index>
                <TransmitPowerValue>1280</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>29</Index>
                <TransmitPowerValue>1290</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>30</Index>
                <TransmitPowerValue>1300</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>31</Index>
                <TransmitPowerValue>1310</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>32</Index>
                <TransmitPowerValue>1320</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>33</Index>
                <TransmitPowerValue>1330</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>34</Index>
                <TransmitPowerValue>1340</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>35</Index>
                <TransmitPowerValue>1350</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>36</Index>
                <TransmitPowerValue>1360</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>37</Index>
                <TransmitPowerValue>1370</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>38</Index>
                <TransmitPowerValue>1380</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>39</Index>
                <TransmitPowerValue>1390</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>40</Index>
                <TransmitPowerValue>1400</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>41</Index>
                <TransmitPowerValue>1410</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>42</Index>
                <TransmitPowerValue>1420</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>43</Index>
                <TransmitPowerValue>1430</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>44</Index>
                <TransmitPowerValue>1440</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>45</Index>
                <TransmitPowerValue>1450</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>46</Index>
                <TransmitPowerValue>1460</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>47</Index>
                <TransmitPowerValue>1470</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>48</Index>
                <TransmitPowerValue>1480</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>49</Index>
                <TransmitPowerValue>1490</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>50</Index>
                <TransmitPowerValue>1500</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>51</Index>
                <TransmitPowerValue>1510</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>52</Index>
                <TransmitPowerValue>1520</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>53</Index>
                <TransmitPowerValue>1530</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>54</Index>
                <TransmitPowerValue>1540</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>55</Index>
                <TransmitPowerValue>1550</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>56</Index>
                <TransmitPowerValue>1560</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>57</Index>
                <TransmitPowerValue>1570</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>58</Index>
                <TransmitPowerValue>1580</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>59</Index>
                <TransmitPowerValue>1590</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>60</Index>
                <TransmitPowerValue>1600</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>61</Index>
                <TransmitPowerValue>1610</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>62</Index>
                <TransmitPowerValue>1620</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>63</Index>
                <TransmitPowerValue>1630</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>64</Index>
                <TransmitPowerValue>1640</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>65</Index>
                <TransmitPowerValue>1650</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>66</Index>
                <TransmitPowerValue>1660</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>67</Index>
                <TransmitPowerValue>1670</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>68</Index>
                <TransmitPowerValue>1680</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>69</Index>
                <TransmitPowerValue>1690</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>70</Index>
                <TransmitPowerValue>1700</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>71</Index>
                <TransmitPowerValue>1710</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>72</Index>
                <TransmitPowerValue>1720</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>73</Index>
                <TransmitPowerValue>1730</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>74</Index>
                <TransmitPowerValue>1740</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>75</Index>
                <TransmitPowerValue>1750</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>76</Index>
                <TransmitPowerValue>1760</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>77</Index>
                <TransmitPowerValue>1770</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>78</Index>
                <TransmitPowerValue>1780</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>79</Index>
                <TransmitPowerValue>1790</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>80</Index>
                <TransmitPowerValue>1800</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>81</Index>
                <TransmitPowerValue>1810</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>82</Index>
                <TransmitPowerValue>1820</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>83</Index>
                <TransmitPowerValue>1830</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>84</Index>
                <TransmitPowerValue>1840</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>85</Index>
                <TransmitPowerValue>1850</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>86</Index>
                <TransmitPowerValue>1860</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>87</Index>
                <TransmitPowerValue>1870</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>88</Index>
                <TransmitPowerValue>1880</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>89</Index>
                <TransmitPowerValue>1890</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>90</Index>
                <TransmitPowerValue>1900</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>91</Index>
                <TransmitPowerValue>1910</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>92</Index>
                <TransmitPowerValue>1920</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>93</Index>
                <TransmitPowerValue>1930</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>94</Index>
                <TransmitPowerValue>1940</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>95</Index>
                <TransmitPowerValue>1950</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>96</Index>
                <TransmitPowerValue>1960</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>97</Index>
                <TransmitPowerValue>1970</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>98</Index>
                <TransmitPowerValue>1980</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>99</Index>
                <TransmitPowerValue>1990</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>100</Index>
                <TransmitPowerValue>2000</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>101</Index>
                <TransmitPowerValue>2010</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>102</Index>
                <TransmitPowerValue>2020</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>103</Index>
                <TransmitPowerValue>2030</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>104</Index>
                <TransmitPowerValue>2040</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>105</Index>
                <TransmitPowerValue>2050</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>106</Index>
                <TransmitPowerValue>2060</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>107</Index>
                <TransmitPowerValue>2070</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>108</Index>
                <TransmitPowerValue>2080</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>109</Index>
                <TransmitPowerValue>2090</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>110</Index>
                <TransmitPowerValue>2100</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>111</Index>
                <TransmitPowerValue>2110</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>112</Index>
                <TransmitPowerValue>2120</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>113</Index>
                <TransmitPowerValue>2130</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>114</Index>
                <TransmitPowerValue>2140</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>115</Index>
                <TransmitPowerValue>2150</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>116</Index>
                <TransmitPowerValue>2160</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>117</Index>
                <TransmitPowerValue>2170</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>118</Index>
                <TransmitPowerValue>2180</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>119</Index>
                <TransmitPowerValue>2190</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>120</Index>
                <TransmitPowerValue>2200</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>121</Index>
                <TransmitPowerValue>2210</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>122</Index>
                <TransmitPowerValue>2220</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>123</Index>
                <TransmitPowerValue>2230</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>124</Index>
                <TransmitPowerValue>2240</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>125</Index>
                <TransmitPowerValue>2250</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>126</Index>
                <TransmitPowerValue>2260</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>127</Index>
                <TransmitPowerValue>2270</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>128</Index>
                <TransmitPowerValue>2280</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>129</Index>
                <TransmitPowerValue>2290</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>130</Index>
                <TransmitPowerValue>2300</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>131</Index>
                <TransmitPowerValue>2310</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>132</Index>
                <TransmitPowerValue>2320</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>133</Index>
                <TransmitPowerValue>2330</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>134</Index>
                <TransmitPowerValue>2340</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>135</Index>
                <TransmitPowerValue>2350</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>136</Index>
                <TransmitPowerValue>2360</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>137</Index>
                <TransmitPowerValue>2370</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>138</Index>
                <TransmitPowerValue>2380</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>139</Index>
                <TransmitPowerValue>2390</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>140</Index>
                <TransmitPowerValue>2400</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>141</Index>
                <TransmitPowerValue>2410</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>142</Index>
                <TransmitPowerValue>2420</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>143</Index>
                <TransmitPowerValue>2430</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>144</Index>
                <TransmitPowerValue>2440</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>145</Index>
                <TransmitPowerValue>2450</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>146</Index>
                <TransmitPowerValue>2460</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>147</Index>
                <TransmitPowerValue>2470</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>148</Index>
                <TransmitPowerValue>2480</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>149</Index>
                <TransmitPowerValue>2490</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>150</Index>
                <TransmitPowerValue>2500</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>151</Index>
                <TransmitPowerValue>2510</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>152</Index>
                <TransmitPowerValue>2520</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>153</Index>
                <TransmitPowerValue>2530</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>154</Index>
                <TransmitPowerValue>2540</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>155</Index>
                <TransmitPowerValue>2550</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>156</Index>
                <TransmitPowerValue>2560</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>157</Index>
                <TransmitPowerValue>2570</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>158</Index>
                <TransmitPowerValue>2580</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>159</Index>
                <TransmitPowerValue>2590</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>160</Index>
                <TransmitPowerValue>2600</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>161</Index>
                <TransmitPowerValue>2610</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>162</Index>
                <TransmitPowerValue>2620</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>163</Index>
                <TransmitPowerValue>2630</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>164</Index>
                <TransmitPowerValue>2640</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>165</Index>
                <TransmitPowerValue>2650</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>166</Index>
                <TransmitPowerValue>2660</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>167</Index>
                <TransmitPowerValue>2670</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>168</Index>
                <TransmitPowerValue>2680</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>169</Index>
                <TransmitPowerValue>2690</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>170</Index>
                <TransmitPowerValue>2700</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>171</Index>
                <TransmitPowerValue>2710</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>172</Index>
                <TransmitPowerValue>2720</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>173</Index>
                <TransmitPowerValue>2730</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>174</Index>
                <TransmitPowerValue>2740</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>175</Index>
                <TransmitPowerValue>2750</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>176</Index>
                <TransmitPowerValue>2760</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>177</Index>
                <TransmitPowerValue>2770</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>178</Index>
                <TransmitPowerValue>2780</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>179</Index>
                <TransmitPowerValue>2790</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>180</Index>
                <TransmitPowerValue>2800</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>181</Index>
                <TransmitPowerValue>2810</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>182</Index>
                <TransmitPowerValue>2820</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>183</Index>
                <TransmitPowerValue>2830</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>184</Index>
                <TransmitPowerValue>2840</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>185</Index>
                <TransmitPowerValue>2850</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>186</Index>
                <TransmitPowerValue>2860</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>187</Index>
                <TransmitPowerValue>2870</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>188</Index>
                <TransmitPowerValue>2880</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>189</Index>
                <TransmitPowerValue>2890</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>190</Index>
                <TransmitPowerValue>2900</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>191</Index>
                <TransmitPowerValue>2910</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>192</Index>
                <TransmitPowerValue>2920</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>193</Index>
                <TransmitPowerValue>2930</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>194</Index>
                <TransmitPowerValue>2940</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>195</Index>
                <TransmitPowerValue>2950</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>196</Index>
                <TransmitPowerValue>2960</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>197</Index>
                <TransmitPowerValue>2970</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>198</Index>
                <TransmitPowerValue>2980</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>199</Index>
                <TransmitPowerValue>2990</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <TransmitPowerLevelTableEntry>
                <Index>200</Index>
                <TransmitPowerValue>3000</TransmitPowerValue>
            </TransmitPowerLevelTableEntry>
            <FrequencyInformation>
                <Hopping>True</Hopping>
                <FrequencyHopTable>
                    <HopTableId>1</HopTableId>
                    <NumHops>50</NumHops>
                    <Frequency>[902750, 926750, 910750, 918750, 903250, 927250, 911250, 919250, 903750, 911750, 919750, 904250, 912250, 920250, 904750, 912750, 920750, 905250, 913250, 921250, 905750, 913750, 921750, 906250, 914250, 922250, 906750, 914750, 922750, 907250, 915250, 923250, 907750, 915750, 923750, 908250, 916250, 924250, 908750, 916750, 924750, 909250, 917250, 925250, 909750, 917750, 925750, 910250, 918250, 926250]</Frequency>
                </FrequencyHopTable>
            </FrequencyInformation>
            <UHFC1G2RFModeTable>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>0</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>1</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>2</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>3</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>4</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>5</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>6</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>320000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>7</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>320000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>8</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>320000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>9</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>640000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>6250</MinTari>
                    <MaxTari>6250</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>10</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>640000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>6250</MinTari>
                    <MaxTari>6250</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>11</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>640000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>6250</MinTari>
                    <MaxTari>6250</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>12</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>13</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>14</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>192000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>15</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>1</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>16</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>2</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>17</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>3</Mod>
                    <FLM>0</FLM>
                    <M>3</M>
                    <BDR>240000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>18</ModeIdentifier>
                    <DR>0</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>0</Mod>
                    <FLM>0</FLM>
                    <M>1</M>
                    <BDR>80000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>25000</MinTari>
                    <MaxTari>25000</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>19</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>0</Mod>
                    <FLM>0</FLM>
                    <M>1</M>
                    <BDR>320000</BDR>
                    <PIE>2000</PIE>
                    <MinTari>12500</MinTari>
                    <MaxTari>12500</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
                <UHFC1G2RFModeTableEntry>
                    <ModeIdentifier>20</ModeIdentifier>
                    <DR>1</DR>
                    <EPCHAGTCConformance>True</EPCHAGTCConformance>
                    <Mod>0</Mod>
                    <FLM>2</FLM>
                    <M>1</M>
                    <BDR>640000</BDR>
                    <PIE>1500</PIE>
                    <MinTari>6250</MinTari>
                    <MaxTari>6250</MaxTari>
                    <StepTari>0</StepTari>
                </UHFC1G2RFModeTableEntry>
            </UHFC1G2RFModeTable>
        </UHFBandCapabilities>
    </RegulatoryCapabilities>
    <C1G2LLRPCapabilities>
        <CanSupportBlockErase>True</CanSupportBlockErase>
        <CanSupportBlockWrite>True</CanSupportBlockWrite>
        <CanSupportBlockPermalock>False</CanSupportBlockPermalock>
        <CanSupportTagRecommissioning>False</CanSupportTagRecommissioning>
        <CanSupportUMIMethod2>False</CanSupportUMIMethod2>
        <CanSupportXPC>False</CanSupportXPC>
        <MaxNumSelectFiltersPerQuery>8</MaxNumSelectFiltersPerQuery>
    </C1G2LLRPCapabilities>
    <MotoGeneralCapabilities>
        <Version>1</Version>
        <CanGetGeneralParams>True</CanGetGeneralParams>
        <CanReportPartNumber>False</CanReportPartNumber>
        <CanReportRadioVersion>False</CanReportRadioVersion>
        <CanSupportRadioPowerState>False</CanSupportRadioPowerState>
        <CanSupportRadioTransmitDelay>False</CanSupportRadioTransmitDelay>
        <CanSupportZebraTrigger>False</CanSupportZebraTrigger>
    </MotoGeneralCapabilities>
    <MotoAutonomousCapabilities>
        <Version>1</Version>
        <CanSupportAutonomousMode>True</CanSupportAutonomousMode>
    </MotoAutonomousCapabilities>
    <MotoTagEventsGenerationCapabilities>
        <Version>1</Version>
        <CanSelectTagEvents>True</CanSelectTagEvents>
        <CanSelectTagReportingFormat>True</CanSelectTagReportingFormat>
        <CanSelectMovingEvent>False</CanSelectMovingEvent>
    </MotoTagEventsGenerationCapabilities>
    <MotoFilterCapabilities>
        <Version>1</Version>
        <CanFilterTagsBasedOnRSSI>True</CanFilterTagsBasedOnRSSI>
        <CanFilterTagsBasedOnTimeOfDay>True</CanFilterTagsBasedOnTimeOfDay>
        <CanFilterTagsBasedOnUTCTimeStamp>True</CanFilterTagsBasedOnUTCTimeStamp>
    </MotoFilterCapabilities>
    <MotoPersistenceCapabilities>
        <Version>1</Version>
        <CanSaveConfiguration>True</CanSaveConfiguration>
        <CanSaveTags>False</CanSaveTags>
        <CanSaveEvents>False</CanSaveEvents>
    </MotoPersistenceCapabilities>
    <MotoC1G2LLRPCapabilities>
        <Version>1</Version>
        <CanSupportBlockPermalock>True</CanSupportBlockPermalock>
        <CanSupportRecommissioning>False</CanSupportRecommissioning>
        <CanWriteUMI>False</CanWriteUMI>
        <CanSupportNXPCuxtomCommands>True</CanSupportNXPCuxtomCommands>
        <CanSupportFujitsuCuxtomCommands>False</CanSupportFujitsuCuxtomCommands>
    </MotoC1G2LLRPCapabilities>
</GET_READER_CAPABILITIES_RESPONSE>
2020-05-11 22:45:40,600 sllurp.llrp: DEBUG: in handleMessage(GET_READER_CAPABILITIES_RESPONSE), there are 1 Deferreds
2020-05-11 22:45:40,605 sllurp.llrp: DEBUG: set antennas: [0]
2020-05-11 22:45:40,606 sllurp.llrp: DEBUG: tx_power_table: [10.0, 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 11.9, 12.0, 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7, 12.8, 12.9, 13.0, 13.1, 13.2, 13.3, 13.4, 13.5, 13.6, 13.7, 13.8, 13.9, 14.0, 14.1, 14.2, 14.3, 14.4, 14.5, 14.6, 14.7, 14.8, 14.9, 15.0, 15.1, 15.2, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9, 16.0, 16.1, 16.2, 16.3, 16.4, 16.5, 16.6, 16.7, 16.8, 16.9, 17.0, 17.1, 17.2, 17.3, 17.4, 17.5, 17.6, 17.7, 17.8, 17.9, 18.0, 18.1, 18.2, 18.3, 18.4, 18.5, 18.6, 18.7, 18.8, 18.9, 19.0, 19.1, 19.2, 19.3, 19.4, 19.5, 19.6, 19.7, 19.8, 19.9, 20.0, 20.1, 20.2, 20.3, 20.4, 20.5, 20.6, 20.7, 20.8, 20.9, 21.0, 21.1, 21.2, 21.3, 21.4, 21.5, 21.6, 21.7, 21.8, 21.9, 22.0, 22.1, 22.2, 22.3, 22.4, 22.5, 22.6, 22.7, 22.8, 22.9, 23.0, 23.1, 23.2, 23.3, 23.4, 23.5, 23.6, 23.7, 23.8, 23.9, 24.0, 24.1, 24.2, 24.3, 24.4, 24.5, 24.6, 24.7, 24.8, 24.9, 25.0, 25.1, 25.2, 25.3, 25.4, 25.5, 25.6, 25.7, 25.8, 25.9, 26.0, 26.1, 26.2, 26.3, 26.4, 26.5, 26.6, 26.7, 26.8, 26.9, 27.0, 27.1, 27.2, 27.3, 27.4, 27.5, 27.6, 27.7, 27.8, 27.9, 28.0, 28.1, 28.2, 28.3, 28.4, 28.5, 28.6, 28.7, 28.8, 28.9, 29.0, 29.1, 29.2, 29.3, 29.4, 29.5, 29.6, 29.7, 29.8, 29.9, 30.0, 0]
2020-05-11 22:45:40,608 sllurp.llrp: DEBUG: requested tx_power: {0: 0}
2020-05-11 22:45:40,610 sllurp.llrp: DEBUG: tx_pow_validated: {0: (200, 30.0)}
2020-05-11 22:45:40,610 sllurp.llrp: DEBUG: tx_power for antenna 0: 200 (30.0 dBm)
2020-05-11 22:45:40,611 sllurp.llrp: INFO: using reader mode: None
2020-05-11 22:45:40,612 sllurp.llrp: DEBUG: running 1 Deferreds for GET_READER_CAPABILITIES_RESPONSE; isSuccess=True
2020-05-11 22:45:40,613 sllurp.llrp: DEBUG: state change: STATE_SENT_GET_CAPABILITIES -> STATE_CONNECTED
2020-05-11 22:45:40,614 sllurp.llrp: DEBUG: serializing GET_READER_CONFIG command
2020-05-11 22:45:40,614 sllurp.llrp: DEBUG: serialized bytes: b'0402000000110000000200000000000000'
2020-05-11 22:45:40,616 sllurp.llrp: DEBUG: done serializing GET_READER_CONFIG command
2020-05-11 22:45:40,617 sllurp.llrp: DEBUG: state change: STATE_CONNECTED -> STATE_SENT_GET_CONFIG
2020-05-11 22:45:40,843 sllurp.llrp: DEBUG: got 659 bytes from reader: b'040c0000029300000002011f00080000000000da000f000008c47dccffff31846600dd0009800001ff1000dd0009800002ff1000dd0009800003ff1000dd0009000004ff1000de0033000100df0006000100e0000a0001000100c8014a001d00014f0008000430d40150001040001400000000015100050000de0033000200df0006000100e0000a0001000100c8014a001d00014f0008000430d40150001040001400000000015100050000de0033000300df0006000100e0000a0001000100c8014a001d00014f0008000430d40150001040001400000000015100050000de0033000400df0006000100e0000a0001000100c8014a001d00014f0008000430d40150001040001400000000015100050000f4004300f5000700010000f5000700020000f5000700060000f5000700000000f5000700030000f5000700040000f5000700050000f5000700080000f5000700070000ed001200000000ee000b0000015c00050000ef00050000d900080000050100dc0009010000411a00e100080001000100e100080002000100e100080003000100e100080004000100db000700010000db000700020000db000700030000db000700040000e200058003ff000d000000a1000000650003ff0010000000a1000000ff0000000003ff000d000000a10000015e0003ff009c000000a1000000668000b1008f000003e9070000b2001200b300050100b60009000000000000b7003f0001000000b80009000000000000ba000703e90103ff000d000060ff0000012c8003ff000d000060ff0000012d0103ff000d000060ff0000012c8000ed003400000000ee000b9780015c0005c003ff0015000000a100000079010000021f4001000003ff000d000000a10000007a0103ff0010000000a1000001d200000000'
2020-05-11 22:45:40,854 sllurp.llrp: DEBUG: expect 659 bytes (have 659)
2020-05-11 22:45:40,859 sllurp.llrp: DEBUG: deserializing GET_READER_CONFIG_RESPONSE command
2020-05-11 22:45:40,867 sllurp.llrp_proto: DEBUG: decode_GET_READER_CONFIG_RESPONSE
2020-05-11 22:45:40,868 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-11 22:45:40,868 sllurp.llrp_proto: DEBUG: decode_AntennaProperties
2020-05-11 22:45:40,869 sllurp.llrp_proto: DEBUG: decode_AntennaProperties
2020-05-11 22:45:40,870 sllurp.llrp_proto: DEBUG: decode_AntennaProperties
2020-05-11 22:45:40,870 sllurp.llrp_proto: DEBUG: decode_AntennaProperties
2020-05-11 22:45:40,871 sllurp.llrp_proto: DEBUG: decode_AntennaConfiguration
2020-05-11 22:45:40,871 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-11 22:45:40,872 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-11 22:45:40,873 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-11 22:45:40,873 sllurp.llrp_proto: DEBUG: decode_C1G2SingulationControl
2020-05-11 22:45:40,874 sllurp.llrp_proto: DEBUG: decode_C1G2TagInventoryStateAwareSingulationAction
2020-05-11 22:45:40,875 sllurp.llrp_proto: DEBUG: decode_AntennaConfiguration
2020-05-11 22:45:40,876 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-11 22:45:40,877 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-11 22:45:40,878 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-11 22:45:40,878 sllurp.llrp_proto: DEBUG: decode_C1G2SingulationControl
2020-05-11 22:45:40,879 sllurp.llrp_proto: DEBUG: decode_C1G2TagInventoryStateAwareSingulationAction
2020-05-11 22:45:40,880 sllurp.llrp_proto: DEBUG: decode_AntennaConfiguration
2020-05-11 22:45:40,881 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-11 22:45:40,881 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-11 22:45:40,882 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-11 22:45:40,882 sllurp.llrp_proto: DEBUG: decode_C1G2SingulationControl
2020-05-11 22:45:40,883 sllurp.llrp_proto: DEBUG: decode_C1G2TagInventoryStateAwareSingulationAction
2020-05-11 22:45:40,884 sllurp.llrp_proto: DEBUG: decode_AntennaConfiguration
2020-05-11 22:45:40,884 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-11 22:45:40,885 sllurp.llrp_proto: DEBUG: decode_C1G2InventoryCommand
2020-05-11 22:45:40,890 sllurp.llrp_proto: DEBUG: decode_FrequencyInformation
2020-05-11 22:45:40,890 sllurp.llrp_proto: DEBUG: decode_C1G2SingulationControl
2020-05-11 22:45:40,891 sllurp.llrp_proto: DEBUG: decode_C1G2TagInventoryStateAwareSingulationAction
2020-05-11 22:45:40,892 sllurp.llrp_proto: DEBUG: decode_ReaderEventNotificationSpec
2020-05-11 22:45:40,892 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-11 22:45:40,893 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-11 22:45:40,894 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-11 22:45:40,895 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-11 22:45:40,896 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-11 22:45:40,896 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-11 22:45:40,897 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-11 22:45:40,898 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-11 22:45:40,898 sllurp.llrp_proto: DEBUG: decode_EventNotificationState
2020-05-11 22:45:40,899 sllurp.llrp_proto: DEBUG: decode_ROReportSpec
2020-05-11 22:45:40,899 sllurp.llrp_proto: DEBUG: decode_ROReportSpec
2020-05-11 22:45:40,902 sllurp.llrp_proto: DEBUG: decode_TagReportContentSelector
2020-05-11 22:45:40,902 sllurp.llrp_proto: DEBUG: decode_TagReportContentSelector
2020-05-11 22:45:40,903 sllurp.llrp_proto: DEBUG: decode_C1G2EPCMemorySelector
2020-05-11 22:45:40,904 sllurp.llrp_proto: DEBUG: decode_GPIPortCurrentState
2020-05-11 22:45:40,904 sllurp.llrp_proto: DEBUG: decode_GPIPortCurrentState
2020-05-11 22:45:40,905 sllurp.llrp_proto: DEBUG: decode_GPIPortCurrentState
2020-05-11 22:45:40,906 sllurp.llrp_proto: DEBUG: decode_GPIPortCurrentState
2020-05-11 22:45:40,906 sllurp.llrp_proto: DEBUG: decode_GPOEvent
2020-05-11 22:45:40,907 sllurp.llrp_proto: DEBUG: decode_GPOEvent
2020-05-11 22:45:40,908 sllurp.llrp_proto: DEBUG: decode_GPOEvent
2020-05-11 22:45:40,908 sllurp.llrp_proto: DEBUG: decode_GPOEvent
2020-05-11 22:45:40,909 sllurp.llrp_proto: DEBUG: decode_GPOEvent
2020-05-11 22:45:40,910 sllurp.llrp_proto: DEBUG: decode_MotoAutonomousState
2020-05-11 22:45:40,911 sllurp.llrp_proto: DEBUG: decode_MotoFilterList
2020-05-11 22:45:40,911 sllurp.llrp_proto: DEBUG: decode_MotoFilterList
2020-05-11 22:45:40,912 sllurp.llrp_proto: DEBUG: decode_MotoPersistenceSaveParams
2020-05-11 22:45:40,913 sllurp.llrp_proto: DEBUG: decode_MotoDefaultSpec
2020-05-11 22:45:40,913 sllurp.llrp_proto: DEBUG: decode_MotoDefaultSpec
2020-05-11 22:45:40,914 sllurp.llrp_proto: DEBUG: decode_ROSpec
2020-05-11 22:45:40,915 sllurp.llrp_proto: DEBUG: decode_ROBoundarySpec
2020-05-11 22:45:40,919 sllurp.llrp_proto: DEBUG: decode_AISpec
2020-05-11 22:45:40,920 sllurp.llrp_proto: DEBUG: decode_AISpec
2020-05-11 22:45:40,921 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 24831, 300)
2020-05-11 22:45:40,922 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 24831, 301)
2020-05-11 22:45:40,923 sllurp.llrp_proto: DEBUG: "unknown parameter" can't be decoded (1023, 24831, 300)
2020-05-11 22:45:40,925 sllurp.llrp_proto: DEBUG: decode_ROReportSpec
2020-05-11 22:45:40,927 sllurp.llrp_proto: DEBUG: decode_ROReportSpec
2020-05-11 22:45:40,929 sllurp.llrp_proto: DEBUG: decode_TagReportContentSelector
2020-05-11 22:45:40,931 sllurp.llrp_proto: DEBUG: decode_TagReportContentSelector
2020-05-11 22:45:40,933 sllurp.llrp_proto: DEBUG: decode_C1G2EPCMemorySelector
2020-05-11 22:45:40,937 sllurp.llrp_proto: DEBUG: decode_MotoTagEventSelector
2020-05-11 22:45:40,938 sllurp.llrp_proto: DEBUG: decode_MotoTagReportMode
2020-05-11 22:45:40,939 sllurp.llrp_proto: DEBUG: decode_MotoCustomCommandOptions
2020-05-11 22:45:40,940 sllurp.llrp: DEBUG: done deserializing GET_READER_CONFIG_RESPONSE command
2020-05-11 22:45:40,943 sllurp.llrp: DEBUG: starting message callbacks for GET_READER_CONFIG_RESPONSE
2020-05-11 22:45:40,945 sllurp.llrp: DEBUG: done with message callbacks for GET_READER_CONFIG_RESPONSE
2020-05-11 22:45:40,946 sllurp.llrp: DEBUG: LLRPMessage received in state 4:
<GET_READER_CONFIG_RESPONSE>
    <ID>2</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
    <Identification>
        <IDType>'MAC Address'</IDType>
        <ReaderID>b'c47dccffff318466'</ReaderID>
    </Identification>
    <ReaderEventNotificationSpec>
        <EventNotificationState>
            <EventType>'GPIEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'ROSpecEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'AISpecEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'HoppingEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'ReportBufferFillWarning'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'ReaderExceptionEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'RFSurveyEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'AntennaEvent'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
        <EventNotificationState>
            <EventType>'AISpecEventWithSingulation'</EventType>
            <NotificationState>False</NotificationState>
        </EventNotificationState>
    </ReaderEventNotificationSpec>
    <ROReportSpec>
        <ROReportTrigger>'None'</ROReportTrigger>
        <N>0</N>
        <TagReportContentSelector>
            <EnableROSpecID>False</EnableROSpecID>
            <EnableSpecIndex>False</EnableSpecIndex>
            <EnableInventoryParameterSpecID>False</EnableInventoryParameterSpecID>
            <EnableAntennaID>False</EnableAntennaID>
            <EnableChannelIndex>False</EnableChannelIndex>
            <EnablePeakRSSI>False</EnablePeakRSSI>
            <EnableFirstSeenTimestamp>False</EnableFirstSeenTimestamp>
            <EnableLastSeenTimestamp>False</EnableLastSeenTimestamp>
            <EnableTagSeenCount>False</EnableTagSeenCount>
            <EnableAccessSpecID>False</EnableAccessSpecID>
            <C1G2EPCMemorySelector>
                <EnableCRC>False</EnableCRC>
                <EnablePCBits>False</EnablePCBits>
                <EnableXPCBits>False</EnableXPCBits>
            </C1G2EPCMemorySelector>
            <CustomParameter>False</CustomParameter>
        </TagReportContentSelector>
    </ROReportSpec>
    <AccessReportSpec>0</AccessReportSpec>
    <LLRPConfigurationStateValue>
        <LLRPConfigurationStateValue>1281</LLRPConfigurationStateValue>
    </LLRPConfigurationStateValue>
    <KeepaliveSpec>
        <KeepaliveTriggerType>1</KeepaliveTriggerType>
        <TimeInterval>16666</TimeInterval>
    </KeepaliveSpec>
    <EventsAndReports>
        <HoldEventsAndReportsUponReconnect>True</HoldEventsAndReportsUponReconnect>
    </EventsAndReports>
    <MotoAutonomousState>
        <AutonomousModeState>False</AutonomousModeState>
    </MotoAutonomousState>
    <MotoDefaultSpec>
        <UseDefaultSpecForAutoMode>True</UseDefaultSpecForAutoMode>
        <ROSpec>
            <ROSpecID>1001</ROSpecID>
            <Priority>7</Priority>
            <CurrentState>0</CurrentState>
            <ROBoundarySpec>
                <ROSpecStartTrigger>
                    <ROSpecStartTriggerType>1</ROSpecStartTriggerType>
                </ROSpecStartTrigger>
                <ROSpecStopTrigger>
                    <ROSpecStopTriggerType>0</ROSpecStopTriggerType>
                    <DurationTriggerValue>0</DurationTriggerValue>
                </ROSpecStopTrigger>
            </ROBoundarySpec>
            <AISpec>
                <AntennaCount>1</AntennaCount>
                <AntennaID>{0}</AntennaID>
                <AISpecStopTrigger>
                    <AISpecStopTriggerType>0</AISpecStopTriggerType>
                    <DurationTriggerValue>0</DurationTriggerValue>
                </AISpecStopTrigger>
                <InventoryParameterSpec>
                    <InventoryParameterSpecID>1001</InventoryParameterSpecID>
                    <ProtocolID>1</ProtocolID>
                </InventoryParameterSpec>
                <SllurpDecodeError>
                    <DecodeError>UnknownParameter</DecodeError>
                    <Type>1023</Type>
                    <Data>b'\x80'</Data>
                    <VendorID>24831</VendorID>
                    <Subtype>300</Subtype>
                </SllurpDecodeError>
                <SllurpDecodeError>
                    <DecodeError>UnknownParameter</DecodeError>
                    <Type>1023</Type>
                    <Data>b'\x01'</Data>
                    <VendorID>24831</VendorID>
                    <Subtype>301</Subtype>
                </SllurpDecodeError>
                <SllurpDecodeError>
                    <DecodeError>UnknownParameter</DecodeError>
                    <Type>1023</Type>
                    <Data>b'\x80'</Data>
                    <VendorID>24831</VendorID>
                    <Subtype>300</Subtype>
                </SllurpDecodeError>
            </AISpec>
            <ROReportSpec>
                <ROReportTrigger>'None'</ROReportTrigger>
                <N>0</N>
                <TagReportContentSelector>
                    <EnableROSpecID>True</EnableROSpecID>
                    <EnableSpecIndex>False</EnableSpecIndex>
                    <EnableInventoryParameterSpecID>False</EnableInventoryParameterSpecID>
                    <EnableAntennaID>True</EnableAntennaID>
                    <EnableChannelIndex>False</EnableChannelIndex>
                    <EnablePeakRSSI>True</EnablePeakRSSI>
                    <EnableFirstSeenTimestamp>True</EnableFirstSeenTimestamp>
                    <EnableLastSeenTimestamp>True</EnableLastSeenTimestamp>
                    <EnableTagSeenCount>True</EnableTagSeenCount>
                    <EnableAccessSpecID>False</EnableAccessSpecID>
                    <C1G2EPCMemorySelector>
                        <EnableCRC>True</EnableCRC>
                        <EnablePCBits>True</EnablePCBits>
                        <EnableXPCBits>False</EnableXPCBits>
                    </C1G2EPCMemorySelector>
                    <CustomParameter>False</CustomParameter>
                </TagReportContentSelector>
            </ROReportSpec>
        </ROSpec>
    </MotoDefaultSpec>
    <MotoFilterList>
        <UseFilter>False</UseFilter>
    </MotoFilterList>
    <MotoPersistenceSaveParams>
        <SaveConfiguration>False</SaveConfiguration>
        <SaveTagData>False</SaveTagData>
        <SaveTagEventData>False</SaveTagEventData>
    </MotoPersistenceSaveParams>
    <MotoCustomCommandOptions>
    </MotoCustomCommandOptions>
    <AntennaProperties>
        <AntennaConnected>True</AntennaConnected>
        <AntennaID>1</AntennaID>
        <AntennaGain>-240</AntennaGain>
    </AntennaProperties>
    <AntennaProperties>
        <AntennaConnected>True</AntennaConnected>
        <AntennaID>2</AntennaID>
        <AntennaGain>-240</AntennaGain>
    </AntennaProperties>
    <AntennaProperties>
        <AntennaConnected>True</AntennaConnected>
        <AntennaID>3</AntennaID>
        <AntennaGain>-240</AntennaGain>
    </AntennaProperties>
    <AntennaProperties>
        <AntennaConnected>False</AntennaConnected>
        <AntennaID>4</AntennaID>
        <AntennaGain>-240</AntennaGain>
    </AntennaProperties>
    <AntennaConfiguration>
        <AntennaID>1</AntennaID>
        <RFReceiver>
            <ReceiverSensitivity>1</ReceiverSensitivity>
        </RFReceiver>
        <RFTransmitter>
            <HopTableId>1</HopTableId>
            <ChannelIndex>1</ChannelIndex>
            <TransmitPower>200</TransmitPower>
        </RFTransmitter>
        <C1G2InventoryCommand>
            <TagInventoryStateAware>False</TagInventoryStateAware>
            <C1G2RFControl>
                <ModeIndex>4</ModeIndex>
                <Tari>12500</Tari>
            </C1G2RFControl>
            <C1G2SingulationControl>
                <Session>1</Session>
                <TagPopulation>20</TagPopulation>
                <TagTransitTime>0</TagTransitTime>
                <C1G2TagInventoryStateAwareSingulationAction>
                    <I>'State_A'</I>
                    <S>'SL'</S>
                    <A>'No'</A>
                </C1G2TagInventoryStateAwareSingulationAction>
            </C1G2SingulationControl>
        </C1G2InventoryCommand>
    </AntennaConfiguration>
    <AntennaConfiguration>
        <AntennaID>2</AntennaID>
        <RFReceiver>
            <ReceiverSensitivity>1</ReceiverSensitivity>
        </RFReceiver>
        <RFTransmitter>
            <HopTableId>1</HopTableId>
            <ChannelIndex>1</ChannelIndex>
            <TransmitPower>200</TransmitPower>
        </RFTransmitter>
        <C1G2InventoryCommand>
            <TagInventoryStateAware>False</TagInventoryStateAware>
            <C1G2RFControl>
                <ModeIndex>4</ModeIndex>
                <Tari>12500</Tari>
            </C1G2RFControl>
            <C1G2SingulationControl>
                <Session>1</Session>
                <TagPopulation>20</TagPopulation>
                <TagTransitTime>0</TagTransitTime>
                <C1G2TagInventoryStateAwareSingulationAction>
                    <I>'State_A'</I>
                    <S>'SL'</S>
                    <A>'No'</A>
                </C1G2TagInventoryStateAwareSingulationAction>
            </C1G2SingulationControl>
        </C1G2InventoryCommand>
    </AntennaConfiguration>
    <AntennaConfiguration>
        <AntennaID>3</AntennaID>
        <RFReceiver>
            <ReceiverSensitivity>1</ReceiverSensitivity>
        </RFReceiver>
        <RFTransmitter>
            <HopTableId>1</HopTableId>
            <ChannelIndex>1</ChannelIndex>
            <TransmitPower>200</TransmitPower>
        </RFTransmitter>
        <C1G2InventoryCommand>
            <TagInventoryStateAware>False</TagInventoryStateAware>
            <C1G2RFControl>
                <ModeIndex>4</ModeIndex>
                <Tari>12500</Tari>
            </C1G2RFControl>
            <C1G2SingulationControl>
                <Session>1</Session>
                <TagPopulation>20</TagPopulation>
                <TagTransitTime>0</TagTransitTime>
                <C1G2TagInventoryStateAwareSingulationAction>
                    <I>'State_A'</I>
                    <S>'SL'</S>
                    <A>'No'</A>
                </C1G2TagInventoryStateAwareSingulationAction>
            </C1G2SingulationControl>
        </C1G2InventoryCommand>
    </AntennaConfiguration>
    <AntennaConfiguration>
        <AntennaID>4</AntennaID>
        <RFReceiver>
            <ReceiverSensitivity>1</ReceiverSensitivity>
        </RFReceiver>
        <RFTransmitter>
            <HopTableId>1</HopTableId>
            <ChannelIndex>1</ChannelIndex>
            <TransmitPower>200</TransmitPower>
        </RFTransmitter>
        <C1G2InventoryCommand>
            <TagInventoryStateAware>False</TagInventoryStateAware>
            <C1G2RFControl>
                <ModeIndex>4</ModeIndex>
                <Tari>12500</Tari>
            </C1G2RFControl>
            <C1G2SingulationControl>
                <Session>1</Session>
                <TagPopulation>20</TagPopulation>
                <TagTransitTime>0</TagTransitTime>
                <C1G2TagInventoryStateAwareSingulationAction>
                    <I>'State_A'</I>
                    <S>'SL'</S>
                    <A>'No'</A>
                </C1G2TagInventoryStateAwareSingulationAction>
            </C1G2SingulationControl>
        </C1G2InventoryCommand>
    </AntennaConfiguration>
    <GPIPortCurrentState>
        <GPIPortNum>1</GPIPortNum>
        <GPIConfig>False</GPIConfig>
        <GPIState>1</GPIState>
    </GPIPortCurrentState>
    <GPIPortCurrentState>
        <GPIPortNum>2</GPIPortNum>
        <GPIConfig>False</GPIConfig>
        <GPIState>1</GPIState>
    </GPIPortCurrentState>
    <GPIPortCurrentState>
        <GPIPortNum>3</GPIPortNum>
        <GPIConfig>False</GPIConfig>
        <GPIState>1</GPIState>
    </GPIPortCurrentState>
    <GPIPortCurrentState>
        <GPIPortNum>4</GPIPortNum>
        <GPIConfig>False</GPIConfig>
        <GPIState>1</GPIState>
    </GPIPortCurrentState>
    <GPOWriteData>
        <GPOPortNumber>1</GPOPortNumber>
        <GPOData>False</GPOData>
    </GPOWriteData>
    <GPOWriteData>
        <GPOPortNumber>2</GPOPortNumber>
        <GPOData>False</GPOData>
    </GPOWriteData>
    <GPOWriteData>
        <GPOPortNumber>3</GPOPortNumber>
        <GPOData>False</GPOData>
    </GPOWriteData>
    <GPOWriteData>
        <GPOPortNumber>4</GPOPortNumber>
        <GPOData>False</GPOData>
    </GPOWriteData>
</GET_READER_CONFIG_RESPONSE>
2020-05-11 22:45:40,960 sllurp.llrp: DEBUG: in handleMessage(GET_READER_CONFIG_RESPONSE), there are 1 Deferreds
2020-05-11 22:45:40,960 sllurp.llrp: DEBUG: running 1 Deferreds for GET_READER_CONFIG_RESPONSE; isSuccess=True
2020-05-11 22:45:40,960 sllurp.llrp: DEBUG: state change: STATE_SENT_GET_CONFIG -> STATE_SENT_GET_CONFIG
2020-05-11 22:45:40,965 sllurp.llrp: DEBUG: serializing ENABLE_EVENTS_AND_REPORTS command
2020-05-11 22:45:40,965 sllurp.llrp: DEBUG: serialized bytes: b'04400000000a00000003'
2020-05-11 22:45:40,965 sllurp.llrp: DEBUG: done serializing ENABLE_EVENTS_AND_REPORTS command
2020-05-11 22:45:40,965 sllurp.llrp: DEBUG: serializing SET_READER_CONFIG command
2020-05-11 22:45:40,965 sllurp.llrp_proto: DEBUG: Encode: ReaderEventNotificationSpec
2020-05-11 22:45:40,968 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-11 22:45:40,979 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-11 22:45:40,979 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-11 22:45:40,980 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-11 22:45:40,980 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-11 22:45:40,981 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-11 22:45:40,982 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-11 22:45:40,982 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-11 22:45:40,997 sllurp.llrp_proto: DEBUG: Encode: EventNotificationState
2020-05-11 22:45:41,002 sllurp.llrp: DEBUG: serialized bytes: b'04030000004e000000040000f4004300f5000700000000f5000700010000f5000700020000f5000700030000f5000700040000f5000700050000f5000700060000f5000700070000f50007000800'
2020-05-11 22:45:41,002 sllurp.llrp: DEBUG: done serializing SET_READER_CONFIG command
2020-05-11 22:45:41,003 sllurp.llrp: DEBUG: state change: STATE_SENT_GET_CONFIG -> STATE_SENT_SET_CONFIG
2020-05-11 22:45:41,085 sllurp.llrp: DEBUG: got 10 bytes from reader: b'043d0000000a0000105f'
2020-05-11 22:45:41,095 sllurp.llrp: DEBUG: expect 10 bytes (have 10)
2020-05-11 22:45:41,106 sllurp.llrp: DEBUG: deserializing RO_ACCESS_REPORT command
2020-05-11 22:45:41,106 sllurp.llrp_proto: DEBUG: decode_RO_ACCESS_REPORT
2020-05-11 22:45:41,107 sllurp.llrp: DEBUG: done deserializing RO_ACCESS_REPORT command
2020-05-11 22:45:41,108 sllurp.llrp: DEBUG: starting message callbacks for RO_ACCESS_REPORT
2020-05-11 22:45:41,109 sllurp.verb.inventory: INFO: no tags seen
2020-05-11 22:45:41,110 sllurp.llrp: DEBUG: done with message callbacks for RO_ACCESS_REPORT
2020-05-11 22:45:41,111 sllurp.llrp: DEBUG: LLRPMessage received in state 5:
<RO_ACCESS_REPORT>
    <ID>4191</ID>
    <TagReportData>[]</TagReportData>
</RO_ACCESS_REPORT>
2020-05-11 22:45:41,112 sllurp.llrp: DEBUG: ignoring RO_ACCESS_REPORT because not inventorying
2020-05-11 22:45:41,238 sllurp.llrp: DEBUG: got 18 bytes from reader: b'040d0000001200000004011f000800000000'
2020-05-11 22:45:41,239 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-11 22:45:41,239 sllurp.llrp: DEBUG: deserializing SET_READER_CONFIG_RESPONSE command
2020-05-11 22:45:41,240 sllurp.llrp_proto: DEBUG: decode_SET_READER_CONFIG_RESPONSE
2020-05-11 22:45:41,241 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-11 22:45:41,241 sllurp.llrp: DEBUG: done deserializing SET_READER_CONFIG_RESPONSE command
2020-05-11 22:45:41,242 sllurp.llrp: DEBUG: starting message callbacks for SET_READER_CONFIG_RESPONSE
2020-05-11 22:45:41,243 sllurp.llrp: DEBUG: done with message callbacks for SET_READER_CONFIG_RESPONSE
2020-05-11 22:45:41,244 sllurp.llrp: DEBUG: LLRPMessage received in state 5:
<SET_READER_CONFIG_RESPONSE>
    <ID>4</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</SET_READER_CONFIG_RESPONSE>
2020-05-11 22:45:41,245 sllurp.llrp: DEBUG: in handleMessage(SET_READER_CONFIG_RESPONSE), there are 1 Deferreds
2020-05-11 22:45:41,246 sllurp.llrp: DEBUG: running 1 Deferreds for SET_READER_CONFIG_RESPONSE; isSuccess=True
2020-05-11 22:45:41,246 sllurp.llrp: DEBUG: state change: STATE_SENT_SET_CONFIG -> STATE_SENT_SET_CONFIG
2020-05-11 22:45:41,247 sllurp.llrp: INFO: stopping politely
2020-05-11 22:45:41,247 sllurp.llrp: DEBUG: serializing DELETE_ACCESSSPEC command
2020-05-11 22:45:41,248 sllurp.llrp: DEBUG: serialized bytes: b'04290000000e0000000500000000'
2020-05-11 22:45:41,249 sllurp.llrp: DEBUG: done serializing DELETE_ACCESSSPEC command
2020-05-11 22:45:41,250 sllurp.llrp: DEBUG: state change: STATE_SENT_SET_CONFIG -> STATE_SENT_DELETE_ACCESSSPEC
2020-05-11 22:45:41,380 sllurp.llrp: DEBUG: got 18 bytes from reader: b'04330000001200000005011f000800000000'
2020-05-11 22:45:41,383 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-11 22:45:41,385 sllurp.llrp: DEBUG: deserializing DELETE_ACCESSSPEC_RESPONSE command
2020-05-11 22:45:41,386 sllurp.llrp_proto: DEBUG: decode_DELETE_ACCESSSPEC_RESPONSE
2020-05-11 22:45:41,386 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-11 22:45:41,391 sllurp.llrp: DEBUG: done deserializing DELETE_ACCESSSPEC_RESPONSE command
2020-05-11 22:45:41,399 sllurp.llrp: DEBUG: starting message callbacks for DELETE_ACCESSSPEC_RESPONSE
2020-05-11 22:45:41,400 sllurp.llrp: DEBUG: done with message callbacks for DELETE_ACCESSSPEC_RESPONSE
2020-05-11 22:45:41,400 sllurp.llrp: DEBUG: LLRPMessage received in state 20:
<DELETE_ACCESSSPEC_RESPONSE>
    <ID>5</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</DELETE_ACCESSSPEC_RESPONSE>
2020-05-11 22:45:41,401 sllurp.llrp: DEBUG: in handleMessage(DELETE_ACCESSSPEC_RESPONSE), there are 1 Deferreds
2020-05-11 22:45:41,402 sllurp.llrp: DEBUG: running 1 Deferreds for DELETE_ACCESSSPEC_RESPONSE; isSuccess=True
2020-05-11 22:45:41,403 sllurp.llrp: DEBUG: serializing DELETE_ROSPEC command
2020-05-11 22:45:41,403 sllurp.llrp: DEBUG: serialized bytes: b'04150000000e0000000600000000'
2020-05-11 22:45:41,404 sllurp.llrp: DEBUG: done serializing DELETE_ROSPEC command
2020-05-11 22:45:41,405 sllurp.llrp: DEBUG: state change: STATE_SENT_DELETE_ACCESSSPEC -> STATE_SENT_DELETE_ROSPEC
2020-05-11 22:45:41,521 sllurp.llrp: DEBUG: got 18 bytes from reader: b'041f0000001200000006011f000800000000'
2020-05-11 22:45:41,524 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-11 22:45:41,526 sllurp.llrp: DEBUG: deserializing DELETE_ROSPEC_RESPONSE command
2020-05-11 22:45:41,527 sllurp.llrp_proto: DEBUG: decode_DELETE_ROSPEC_RESPONSE
2020-05-11 22:45:41,527 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-11 22:45:41,528 sllurp.llrp: DEBUG: done deserializing DELETE_ROSPEC_RESPONSE command
2020-05-11 22:45:41,528 sllurp.llrp: DEBUG: starting message callbacks for DELETE_ROSPEC_RESPONSE
2020-05-11 22:45:41,529 sllurp.llrp: DEBUG: done with message callbacks for DELETE_ROSPEC_RESPONSE
2020-05-11 22:45:41,530 sllurp.llrp: DEBUG: LLRPMessage received in state 19:
<DELETE_ROSPEC_RESPONSE>
    <ID>6</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</DELETE_ROSPEC_RESPONSE>
2020-05-11 22:45:41,531 sllurp.llrp: DEBUG: in handleMessage(DELETE_ROSPEC_RESPONSE), there are 1 Deferreds
2020-05-11 22:45:41,531 sllurp.llrp: DEBUG: running 1 Deferreds for DELETE_ROSPEC_RESPONSE; isSuccess=True
2020-05-11 22:45:41,532 sllurp.llrp: DEBUG: state change: STATE_SENT_DELETE_ROSPEC -> STATE_CONNECTED
2020-05-11 22:45:41,533 sllurp.llrp: INFO: Impinj search mode? None
2020-05-11 22:45:41,534 sllurp.llrp: DEBUG: ROSpec:
<ROSpec>
    <ROSpecID>1</ROSpecID>
    <Priority>0</Priority>
    <CurrentState>'Disabled'</CurrentState>
    <ROBoundarySpec>
        <ROSpecStartTrigger>
            <ROSpecStartTriggerType>'Immediate'</ROSpecStartTriggerType>
        </ROSpecStartTrigger>
        <ROSpecStopTrigger>
            <ROSpecStopTriggerType>'Null'</ROSpecStopTriggerType>
            <DurationTriggerValue>0</DurationTriggerValue>
        </ROSpecStopTrigger>
    </ROBoundarySpec>
    <AISpec>
        <AntennaID>[0]</AntennaID>
        <AISpecStopTrigger>
            <AISpecStopTriggerType>'Null'</AISpecStopTriggerType>
            <DurationTriggerValue>0</DurationTriggerValue>
        </AISpecStopTrigger>
        <InventoryParameterSpec>
            <InventoryParameterSpecID>1</InventoryParameterSpecID>
            <ProtocolID>1</ProtocolID>
            <AntennaConfiguration>
                <AntennaID>0</AntennaID>
                <RFTransmitter>
                    <HopTableId>1</HopTableId>
                    <ChannelIndex>1</ChannelIndex>
                    <TransmitPower>200</TransmitPower>
                </RFTransmitter>
                <C1G2InventoryCommand>
                    <TagInventoryStateAware>False</TagInventoryStateAware>
                    <C1G2SingulationControl>
                        <Session>2</Session>
                        <TagPopulation>4</TagPopulation>
                        <TagTransitTime>0</TagTransitTime>
                    </C1G2SingulationControl>
                </C1G2InventoryCommand>
            </AntennaConfiguration>
        </InventoryParameterSpec>
    </AISpec>
    <ROReportSpec>
        <ROReportTrigger>'Upon_N_Tags_Or_End_Of_AISpec'</ROReportTrigger>
        <N>0</N>
        <TagReportContentSelector>
            <EnableROSpecID>False</EnableROSpecID>
            <EnableSpecIndex>False</EnableSpecIndex>
            <EnableInventoryParameterSpecID>False</EnableInventoryParameterSpecID>
            <EnableAntennaID>False</EnableAntennaID>
            <EnableChannelIndex>True</EnableChannelIndex>
            <EnablePeakRSSI>False</EnablePeakRSSI>
            <EnableFirstSeenTimestamp>False</EnableFirstSeenTimestamp>
            <EnableLastSeenTimestamp>True</EnableLastSeenTimestamp>
            <EnableTagSeenCount>True</EnableTagSeenCount>
            <EnableAccessSpecID>False</EnableAccessSpecID>
            <C1G2EPCMemorySelector>
                <EnableCRC>False</EnableCRC>
                <EnablePCBits>False</EnablePCBits>
            </C1G2EPCMemorySelector>
        </TagReportContentSelector>
    </ROReportSpec>
</ROSpec>
2020-05-11 22:45:41,538 sllurp.llrp: INFO: starting inventory
2020-05-11 22:45:41,538 sllurp.llrp: DEBUG: made enabled_rospec
2020-05-11 22:45:41,539 sllurp.llrp: DEBUG: made added_rospec
2020-05-11 22:45:41,539 sllurp.llrp: DEBUG: about to send_ADD_ROSPEC
2020-05-11 22:45:41,540 sllurp.llrp: DEBUG: serializing ADD_ROSPEC command
2020-05-11 22:45:41,541 sllurp.llrp_proto: DEBUG: Encode: ROSpec
2020-05-11 22:45:41,542 sllurp.llrp_proto: DEBUG: Encode: ROBoundarySpec
2020-05-11 22:45:41,543 sllurp.llrp_proto: DEBUG: Encode: ROSpecStartTrigger
2020-05-11 22:45:41,544 sllurp.llrp_proto: DEBUG: Encode: ROSpecStopTrigger
2020-05-11 22:45:41,544 sllurp.llrp_proto: DEBUG: Encode: AISpec
2020-05-11 22:45:41,545 sllurp.llrp_proto: DEBUG: Encode: AISpecStopTrigger
2020-05-11 22:45:41,550 sllurp.llrp_proto: DEBUG: Encode: InventoryParameterSpec
2020-05-11 22:45:41,551 sllurp.llrp_proto: DEBUG: Encode: AntennaConfiguration
2020-05-11 22:45:41,552 sllurp.llrp_proto: DEBUG: Encode: RFTransmitter
2020-05-11 22:45:41,552 sllurp.llrp_proto: DEBUG: Encode: C1G2InventoryCommand
2020-05-11 22:45:41,553 sllurp.llrp_proto: DEBUG: Encode: C1G2SingulationControl
2020-05-11 22:45:41,554 sllurp.llrp_proto: DEBUG: Encode: ROReportSpec
2020-05-11 22:45:41,560 sllurp.llrp_proto: DEBUG: Encode: TagReportContentSelector
2020-05-11 22:45:41,561 sllurp.llrp_proto: DEBUG: Encode: C1G2EPCMemorySelector
2020-05-11 22:45:41,562 sllurp.llrp: DEBUG: serialized bytes: b'0414000000700000000700b1006600000001000000b2001200b300050100b60009000000000000b700380001000000b80009000000000000ba002700010100de0020000000e0000a0001000100c8014a0010000150000b8000040000000000ed001201000000ee000b0980015c000500'
2020-05-11 22:45:41,562 sllurp.llrp: DEBUG: done serializing ADD_ROSPEC command
2020-05-11 22:45:41,563 sllurp.llrp: DEBUG: sent ADD_ROSPEC
2020-05-11 22:45:41,564 sllurp.llrp: DEBUG: state change: STATE_CONNECTED -> STATE_SENT_ADD_ROSPEC
2020-05-11 22:45:41,681 sllurp.llrp: DEBUG: got 18 bytes from reader: b'041e0000001200000007011f000800000000'
2020-05-11 22:45:41,681 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-11 22:45:41,682 sllurp.llrp: DEBUG: deserializing ADD_ROSPEC_RESPONSE command
2020-05-11 22:45:41,683 sllurp.llrp_proto: DEBUG: decode_ADD_ROSPEC_RESPONSE
2020-05-11 22:45:41,683 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-11 22:45:41,684 sllurp.llrp: DEBUG: done deserializing ADD_ROSPEC_RESPONSE command
2020-05-11 22:45:41,685 sllurp.llrp: DEBUG: starting message callbacks for ADD_ROSPEC_RESPONSE
2020-05-11 22:45:41,686 sllurp.llrp: DEBUG: done with message callbacks for ADD_ROSPEC_RESPONSE
2020-05-11 22:45:41,686 sllurp.llrp: DEBUG: LLRPMessage received in state 15:
<ADD_ROSPEC_RESPONSE>
    <ID>7</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</ADD_ROSPEC_RESPONSE>
2020-05-11 22:45:41,687 sllurp.llrp: DEBUG: in handleMessage(ADD_ROSPEC_RESPONSE), there are 1 Deferreds
2020-05-11 22:45:41,688 sllurp.llrp: DEBUG: running 1 Deferreds for ADD_ROSPEC_RESPONSE; isSuccess=True
2020-05-11 22:45:41,688 sllurp.llrp: DEBUG: serializing ENABLE_ROSPEC command
2020-05-11 22:45:41,689 sllurp.llrp: DEBUG: serialized bytes: b'04180000000e0000000800000001'
2020-05-11 22:45:41,690 sllurp.llrp: DEBUG: done serializing ENABLE_ROSPEC command
2020-05-11 22:45:41,691 sllurp.llrp: DEBUG: state change: STATE_SENT_ADD_ROSPEC -> STATE_SENT_ENABLE_ROSPEC
2020-05-11 22:45:41,858 sllurp.llrp: DEBUG: got 18 bytes from reader: b'04220000001200000008011f000800000000'
2020-05-11 22:45:41,860 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-11 22:45:41,860 sllurp.llrp: DEBUG: deserializing ENABLE_ROSPEC_RESPONSE command
2020-05-11 22:45:41,862 sllurp.llrp_proto: DEBUG: decode_ENABLE_ROSPEC_RESPONSE
2020-05-11 22:45:41,867 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-11 22:45:41,869 sllurp.llrp: DEBUG: done deserializing ENABLE_ROSPEC_RESPONSE command
2020-05-11 22:45:41,869 sllurp.llrp: DEBUG: starting message callbacks for ENABLE_ROSPEC_RESPONSE
2020-05-11 22:45:41,870 sllurp.llrp: DEBUG: done with message callbacks for ENABLE_ROSPEC_RESPONSE
2020-05-11 22:45:41,871 sllurp.llrp: DEBUG: LLRPMessage received in state 16:
<ENABLE_ROSPEC_RESPONSE>
    <ID>8</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</ENABLE_ROSPEC_RESPONSE>
2020-05-11 22:45:41,872 sllurp.llrp: DEBUG: in handleMessage(ENABLE_ROSPEC_RESPONSE), there are 1 Deferreds
2020-05-11 22:45:41,872 sllurp.llrp: DEBUG: running 1 Deferreds for ENABLE_ROSPEC_RESPONSE; isSuccess=True
2020-05-11 22:45:41,873 sllurp.llrp: DEBUG: state change: STATE_SENT_ENABLE_ROSPEC -> STATE_INVENTORYING
2020-05-11 22:45:43,542 sllurp.verb.inventory: INFO: Exit detected! Stopping readers...
2020-05-11 22:45:43,542 sllurp.llrp: INFO: stopPolitely will disconnect when stopped
2020-05-11 22:45:43,559 sllurp.llrp: INFO: stopping politely
2020-05-11 22:45:43,559 sllurp.llrp: DEBUG: serializing DELETE_ACCESSSPEC command
2020-05-11 22:45:43,560 sllurp.llrp: DEBUG: serialized bytes: b'04290000000e0000000900000000'
2020-05-11 22:45:43,563 sllurp.llrp: DEBUG: done serializing DELETE_ACCESSSPEC command
2020-05-11 22:45:43,565 sllurp.llrp: DEBUG: state change: STATE_INVENTORYING -> STATE_SENT_DELETE_ACCESSSPEC
2020-05-11 22:45:43,703 sllurp.llrp: DEBUG: got 18 bytes from reader: b'04330000001200000009011f000800000000'
2020-05-11 22:45:43,704 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-11 22:45:43,731 sllurp.llrp: DEBUG: deserializing DELETE_ACCESSSPEC_RESPONSE command
2020-05-11 22:45:43,732 sllurp.llrp_proto: DEBUG: decode_DELETE_ACCESSSPEC_RESPONSE
2020-05-11 22:45:43,733 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-11 22:45:43,735 sllurp.llrp: DEBUG: done deserializing DELETE_ACCESSSPEC_RESPONSE command
2020-05-11 22:45:43,772 sllurp.llrp: DEBUG: starting message callbacks for DELETE_ACCESSSPEC_RESPONSE
2020-05-11 22:45:43,773 sllurp.llrp: DEBUG: done with message callbacks for DELETE_ACCESSSPEC_RESPONSE
2020-05-11 22:45:43,773 sllurp.llrp: DEBUG: LLRPMessage received in state 20:
<DELETE_ACCESSSPEC_RESPONSE>
    <ID>9</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</DELETE_ACCESSSPEC_RESPONSE>
2020-05-11 22:45:43,777 sllurp.llrp: DEBUG: in handleMessage(DELETE_ACCESSSPEC_RESPONSE), there are 1 Deferreds
2020-05-11 22:45:43,779 sllurp.llrp: DEBUG: running 1 Deferreds for DELETE_ACCESSSPEC_RESPONSE; isSuccess=True
2020-05-11 22:45:43,789 sllurp.llrp: DEBUG: serializing DELETE_ROSPEC command
2020-05-11 22:45:43,791 sllurp.llrp: DEBUG: serialized bytes: b'04150000000e0000000a00000000'
2020-05-11 22:45:43,792 sllurp.llrp: DEBUG: done serializing DELETE_ROSPEC command
2020-05-11 22:45:43,793 sllurp.llrp: DEBUG: state change: STATE_SENT_DELETE_ACCESSSPEC -> STATE_SENT_DELETE_ROSPEC
2020-05-11 22:45:43,940 sllurp.llrp: DEBUG: got 298 bytes from reader: b'043d0000012a0000106000f000208de2005037590701270270edaf87000d840005a5670fb5f9d788003700f000208de2005037590901282290274587000d840005a5670fb6308788003400f000208de200503759090160231026c787000d840005a5670fb6d0af88003400f000208de2005037590701990230ef4f87000d840005a5670fb6efef88003400f000208de20050375909007522302f8387000d840005a5670fb6c10f88003400f000208de2005037590701270200f18887000d840005a5670fb6b16f88001e00f000208de20050375909015722302e3b87000d840005a5670fb3f24f88000600f000208de200503759090100230027b687000f840005a5670fb6e04f88000e00f000208de2005037590901432180320e87000f840005a5670fb6ff8f88000c'
2020-05-11 22:45:43,941 sllurp.llrp: DEBUG: expect 298 bytes (have 298)
2020-05-11 22:45:43,942 sllurp.llrp: DEBUG: deserializing RO_ACCESS_REPORT command
2020-05-11 22:45:43,943 sllurp.llrp_proto: DEBUG: decode_RO_ACCESS_REPORT
2020-05-11 22:45:43,943 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-11 22:45:43,944 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-11 22:45:43,945 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-11 22:45:43,945 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-11 22:45:43,946 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-11 22:45:43,946 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-11 22:45:43,947 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-11 22:45:43,948 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-11 22:45:43,948 sllurp.llrp_proto: DEBUG: decode_TagReportData
2020-05-11 22:45:43,949 sllurp.llrp: DEBUG: done deserializing RO_ACCESS_REPORT command
2020-05-11 22:45:43,950 sllurp.llrp: DEBUG: starting message callbacks for RO_ACCESS_REPORT
2020-05-11 22:45:43,951 sllurp.verb.inventory: INFO: saw tag(s): [{'ChannelIndex': 13,
  'EPC': b'e2005037590701270270edaf',
  'EPC-96': b'e2005037590701270270edaf',
  'LastSeenTimestampUTC': 1589236947352023,
  'TagSeenCount': 55},
 {'ChannelIndex': 13,
  'EPC': b'e20050375909012822902745',
  'EPC-96': b'e20050375909012822902745',
  'LastSeenTimestampUTC': 1589236947366023,
  'TagSeenCount': 52},
 {'ChannelIndex': 13,
  'EPC': b'e200503759090160231026c7',
  'EPC-96': b'e200503759090160231026c7',
  'LastSeenTimestampUTC': 1589236947407023,
  'TagSeenCount': 52},
 {'ChannelIndex': 13,
  'EPC': b'e2005037590701990230ef4f',
  'EPC-96': b'e2005037590701990230ef4f',
  'LastSeenTimestampUTC': 1589236947415023,
  'TagSeenCount': 52},
 {'ChannelIndex': 13,
  'EPC': b'e20050375909007522302f83',
  'EPC-96': b'e20050375909007522302f83',
  'LastSeenTimestampUTC': 1589236947403023,
  'TagSeenCount': 52},
 {'ChannelIndex': 13,
  'EPC': b'e2005037590701270200f188',
  'EPC-96': b'e2005037590701270200f188',
  'LastSeenTimestampUTC': 1589236947399023,
  'TagSeenCount': 30},
 {'ChannelIndex': 13,
  'EPC': b'e20050375909015722302e3b',
  'EPC-96': b'e20050375909015722302e3b',
  'LastSeenTimestampUTC': 1589236947219023,
  'TagSeenCount': 6},
 {'ChannelIndex': 15,
  'EPC': b'e200503759090100230027b6',
  'EPC-96': b'e200503759090100230027b6',
  'LastSeenTimestampUTC': 1589236947411023,
  'TagSeenCount': 14},
 {'ChannelIndex': 15,
  'EPC': b'e2005037590901432180320e',
  'EPC-96': b'e2005037590901432180320e',
  'LastSeenTimestampUTC': 1589236947419023,
  'TagSeenCount': 12}]
2020-05-11 22:45:43,953 sllurp.llrp: DEBUG: done with message callbacks for RO_ACCESS_REPORT
2020-05-11 22:45:43,954 sllurp.llrp: DEBUG: LLRPMessage received in state 19:
<RO_ACCESS_REPORT>
    <ID>4192</ID>
    <TagReportData>
        <EPC>b'e2005037590701270270edaf'</EPC>
        <EPC-96>b'e2005037590701270270edaf'</EPC-96>
        <ChannelIndex>13</ChannelIndex>
        <LastSeenTimestampUTC>1589236947352023</LastSeenTimestampUTC>
        <TagSeenCount>55</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e20050375909012822902745'</EPC>
        <EPC-96>b'e20050375909012822902745'</EPC-96>
        <ChannelIndex>13</ChannelIndex>
        <LastSeenTimestampUTC>1589236947366023</LastSeenTimestampUTC>
        <TagSeenCount>52</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e200503759090160231026c7'</EPC>
        <EPC-96>b'e200503759090160231026c7'</EPC-96>
        <ChannelIndex>13</ChannelIndex>
        <LastSeenTimestampUTC>1589236947407023</LastSeenTimestampUTC>
        <TagSeenCount>52</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e2005037590701990230ef4f'</EPC>
        <EPC-96>b'e2005037590701990230ef4f'</EPC-96>
        <ChannelIndex>13</ChannelIndex>
        <LastSeenTimestampUTC>1589236947415023</LastSeenTimestampUTC>
        <TagSeenCount>52</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e20050375909007522302f83'</EPC>
        <EPC-96>b'e20050375909007522302f83'</EPC-96>
        <ChannelIndex>13</ChannelIndex>
        <LastSeenTimestampUTC>1589236947403023</LastSeenTimestampUTC>
        <TagSeenCount>52</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e2005037590701270200f188'</EPC>
        <EPC-96>b'e2005037590701270200f188'</EPC-96>
        <ChannelIndex>13</ChannelIndex>
        <LastSeenTimestampUTC>1589236947399023</LastSeenTimestampUTC>
        <TagSeenCount>30</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e20050375909015722302e3b'</EPC>
        <EPC-96>b'e20050375909015722302e3b'</EPC-96>
        <ChannelIndex>13</ChannelIndex>
        <LastSeenTimestampUTC>1589236947219023</LastSeenTimestampUTC>
        <TagSeenCount>6</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e200503759090100230027b6'</EPC>
        <EPC-96>b'e200503759090100230027b6'</EPC-96>
        <ChannelIndex>15</ChannelIndex>
        <LastSeenTimestampUTC>1589236947411023</LastSeenTimestampUTC>
        <TagSeenCount>14</TagSeenCount>
    </TagReportData>
    <TagReportData>
        <EPC>b'e2005037590901432180320e'</EPC>
        <EPC-96>b'e2005037590901432180320e'</EPC-96>
        <ChannelIndex>15</ChannelIndex>
        <LastSeenTimestampUTC>1589236947419023</LastSeenTimestampUTC>
        <TagSeenCount>12</TagSeenCount>
    </TagReportData>
</RO_ACCESS_REPORT>
2020-05-11 22:45:43,958 sllurp.llrp: DEBUG: ignoring RO_ACCESS_REPORT because not inventorying
2020-05-11 22:45:44,061 sllurp.llrp: DEBUG: got 18 bytes from reader: b'041f000000120000000a011f000800000000'
2020-05-11 22:45:44,061 sllurp.llrp: DEBUG: expect 18 bytes (have 18)
2020-05-11 22:45:44,062 sllurp.llrp: DEBUG: deserializing DELETE_ROSPEC_RESPONSE command
2020-05-11 22:45:44,062 sllurp.llrp_proto: DEBUG: decode_DELETE_ROSPEC_RESPONSE
2020-05-11 22:45:44,063 sllurp.llrp_proto: DEBUG: decode_LLRPStatus
2020-05-11 22:45:44,063 sllurp.llrp: DEBUG: done deserializing DELETE_ROSPEC_RESPONSE command
2020-05-11 22:45:44,064 sllurp.llrp: DEBUG: starting message callbacks for DELETE_ROSPEC_RESPONSE
2020-05-11 22:45:44,065 sllurp.llrp: DEBUG: done with message callbacks for DELETE_ROSPEC_RESPONSE
2020-05-11 22:45:44,065 sllurp.llrp: DEBUG: LLRPMessage received in state 19:
<DELETE_ROSPEC_RESPONSE>
    <ID>10</ID>
    <LLRPStatus>
        <StatusCode>'Success'</StatusCode>
        <ErrorDescription>b''</ErrorDescription>
    </LLRPStatus>
</DELETE_ROSPEC_RESPONSE>
2020-05-11 22:45:44,066 sllurp.llrp: DEBUG: in handleMessage(DELETE_ROSPEC_RESPONSE), there are 1 Deferreds
2020-05-11 22:45:44,067 sllurp.llrp: DEBUG: running 1 Deferreds for DELETE_ROSPEC_RESPONSE; isSuccess=True
2020-05-11 22:45:44,067 sllurp.llrp: DEBUG: state change: STATE_SENT_DELETE_ROSPEC -> STATE_DISCONNECTED
2020-05-11 22:45:44,068 sllurp.llrp: INFO: disconnecting
2020-05-11 22:45:44,069 sllurp.verb.inventory: INFO: total # of tags seen: 325 (147 tags/second)

You were right, I think I understand how to decode most of the messages now. Should probably learn how to implement tests for all this stuff.

fviard commented 4 years ago

You have completed all that you wanted with your PR? If so, I will review it all. Btw, very good job to have implemented the decoder for ROSpec and its sub params. It is a big piece and the decoder can be useful to use with the message to retrieve the current ROSpec from an already configured reader.

fviard commented 4 years ago

Also, I looked everywhere on internet, but it looks like that Sirit disappeared a long time ago merged in other companies. So no spec, nowhere, but it probably means that these fields are insignificant, even if it is frustrating to have fields remaining non-decoded.

(I also noticed that in the GeneralDeviceCapabilities, the DeviceManufacturerName is 24831, so probably this device inherit from a Sirit ancestor)

You can probably ask Zebra support about these fields, maybe they will share the documentation about them.