Exemple #1
0
    def Connect(self):
        # Create the reader connection.
        self.connector = LLRPConnector()

        # Connect to the reader.
        try:
            response = self.connector.connect(self.host)
        except socket.timeout:
            self.connector.disconnect()
            raise

        # Reset to factory defaults.
        response = self.connector.transact(
            SET_READER_CONFIG_Message(ResetToFactoryDefault=True))
        assert response.success(
        ), 'SET_READER_CONFIG ResetToFactorDefault fails\n{}'.format(response)

        # Change receiver sensitivity (if specified).  This value is RFID reader dependent.
        receiverSensitivityParameter = []
        if self.receiverSensitivity is not None:
            receiverSensitivityParameter.append(
                RFReceiver_Parameter(
                    ReceiverSensitivity=self.receiverSensitivity))

        # Change transmit power (if specified).  This value is RFID reader dependent.
        transmitPowerParameter = []
        if self.transmitPower is not None:
            transmitPowerParameter.append(
                RFTransmitter_Parameter(
                    HopTableID=1,
                    ChannelIndex=0,
                    TransmitPower=self.transmitPower,
                ))

        message = SET_READER_CONFIG_Message(Parameters=[
            AntennaConfiguration_Parameter(
                AntennaID=0,
                Parameters=receiverSensitivityParameter +
                transmitPowerParameter + [
                    C1G2InventoryCommand_Parameter(Parameters=[
                        C1G2SingulationControl_Parameter(
                            Session=0,
                            TagPopulation=100,
                            TagTransitTime=3000,
                        ),
                    ]),
                ]),
        ])

        response = self.connector.transact(message)
        assert response.success(
        ), 'SET_READER_CONFIG Configuration fails:\n{}'.format(response)