예제 #1
0
        /// <summary></summary>
        private void GetReaderConfig()
        {
            MSG_GET_READER_CONFIG msg = new MSG_GET_READER_CONFIG();

            msg.RequestedData = ENUM_GetReaderConfigRequestedData.All;

            PARAM_ImpinjRequestedData pRequestData = new PARAM_ImpinjRequestedData();

            msg.Custom.Add(pRequestData);
            pRequestData.RequestedData = ENUM_ImpinjRequestedDataType.All_Configuration;

            MSG_ERROR_MESSAGE?msgErr = null;
            MSG_GET_READER_CONFIG_RESPONSE?msgResp = this.llrpClient?.GET_READER_CONFIG(
                msg: msg,
                msg_err: out msgErr,
                time_out: this.timeout);

            LLRPHelper.CheckError(msgResp, msgErr);

            if (msgResp != null)
            {
                if (msgResp.Identification != null)
                {
                    switch (msgResp.Identification.IDType)
                    {
                    case ENUM_IdentificationType.MAC_Address:
                        this.macAddress = msgResp.Identification.ReaderID.ToHexString();
                        break;
                    }
                }
            }
        }
예제 #2
0
        /// <summary></summary>
        private void EnableImpinjExtetions()
        {
            MSG_IMPINJ_ENABLE_EXTENSIONS msg     = new MSG_IMPINJ_ENABLE_EXTENSIONS();
            MSG_ERROR_MESSAGE?           msgErr  = null;
            MSG_CUSTOM_MESSAGE?          msgResp = this.llrpClient?.CUSTOM_MESSAGE(
                msg: msg,
                msg_err: out msgErr,
                time_out: this.timeout);

            LLRPHelper.CheckError(msgResp, msgErr);
        }
예제 #3
0
        /// <summary></summary>
        private void ResetToFactoryDefault()
        {
            MSG_SET_READER_CONFIG msg = new MSG_SET_READER_CONFIG();

            msg.ResetToFactoryDefault = true;

            MSG_ERROR_MESSAGE?msgErr = null;
            MSG_SET_READER_CONFIG_RESPONSE?msgResp = this.llrpClient?.SET_READER_CONFIG(
                msg: msg,
                msg_err: out msgErr,
                time_out: this.timeout);

            LLRPHelper.CheckError(msgResp, msgErr);
        }
예제 #4
0
        /// <summary></summary>
        private void GetReaderCapabilities()
        {
            MSG_GET_READER_CAPABILITIES msg = new MSG_GET_READER_CAPABILITIES();

            msg.RequestedData = ENUM_GetReaderCapabilitiesRequestedData.All;

            PARAM_ImpinjRequestedData pRequestData = new PARAM_ImpinjRequestedData();

            msg.Custom.Add(pRequestData);
            pRequestData.RequestedData = ENUM_ImpinjRequestedDataType.All_Capabilities;


            MSG_ERROR_MESSAGE?msgErr = null;
            MSG_GET_READER_CAPABILITIES_RESPONSE?msgResp =
                this.llrpClient?.GET_READER_CAPABILITIES(
                    msg: msg,
                    msg_err: out msgErr,
                    time_out: this.timeout);

            LLRPHelper.CheckError(msgResp, msgErr);

            if (msgResp != null)
            {
                for (int i = 0; i < msgResp.Custom.Length; ++i)
                {
                    switch (msgResp.Custom[i])
                    {
                    case PARAM_ImpinjDetailedVersion p:
                        this.detailedVersion = new ImpinjReaderDetailedVersion(
                            modelName: p.ModelName,
                            serialNumber: p.SerialNumber,
                            softwareVersion: p.SoftwareVersion,
                            firmwareVersion: p.FirmwareVersion,
                            fpgaVersion: p.FPGAVersion,
                            pcbaVersion: p.PCBAVersion);
                        break;
                    }
                }
            }
        }