private void RadioGetOperationMode(int radioHandle) { var operationMode = new RadioOperationMode(); var result = link.RadioGetOperationMode(radioHandle, ref operationMode); logger.Information("link.RadioGetOperationMode => {Result}", result); logger.Information("\tRadioHandle used : " + radioHandle); logger.Information("\tOperationMode found : " + operationMode); }
/// <summary> /// Retrieves the operation mode for the RFID radio module. The /// operation mode cannot be retrieved while a radio module is /// executing a tag-protocol operation. /// </summary> /// <param name="mode"> return will receive the current operation mode.</param> /// <returns></returns> public void GetOperationMode(ref RadioOperationMode mode) { uint value = 0; MacReadRegister(MACREGISTER.HST_ANT_CYCLES /*0x700 HST_ANT_CYCLES*/, ref value); if ((value & 0xffff) == 0xffff) { mode = RadioOperationMode.CONTINUOUS; } else { mode = RadioOperationMode.NONCONTINUOUS; } }
/// <summary> /// Sets the operation mode of RFID radio module. By default, when /// an application opens a radio, the RFID Reader Library sets the /// reporting mode to non-continuous. An RFID radio module's /// operation mode will remain in effect until it is explicitly changed /// via RFID_RadioSetOperationMode, or the radio is closed and re- /// opened (at which point it will be set to non-continuous mode). /// The operation mode may not be changed while a radio module is /// executing a tag-protocol operation. /// </summary> /// <param name="mode">The operation mode for the radio module.</param> /// <returns></returns> public void SetOperationMode(RadioOperationMode mode) { ushort cycles = 0; AntennaSequenceMode smode = AntennaSequenceMode.UNKNOWN; uint sequenceSize = 0; if (RadioOperationMode.UNKNOWN == mode) { return(Result.INVALID_PARAMETER); } if ((m_Result = GetOperationMode(ref cycles, ref smode, ref sequenceSize)) == Result.OK) { m_Result = SetOperationMode((ushort)(mode == RadioOperationMode.CONTINUOUS ? 0xFFFF : 1), smode, sequenceSize); } }
private void btnRefresh_Click(object sender, EventArgs e) { #region codes ======================================== if (m_bOpen) { //Response Mode ResponseMode responseMode = ResponseMode.UNKNOWN; R1000Reader.RFIDGetResponseMode(ref responseMode); if (responseMode == ResponseMode.COMPACT) { cmbResponseMode.SelectedIndex = 0; } else { cmbResponseMode.SelectedIndex = 1; } //Operation Mode RadioOperationMode operationMode = RadioOperationMode.UNKNOWN; operationMode = R1000Reader.RFIDGetOperationMode(); if (operationMode == RadioOperationMode.CONTINUOUS) { cmbOperationMode.SelectedIndex = 0; m_bContinue = true; } else { cmbOperationMode.SelectedIndex = 1; m_bContinue = false; } //tag stop count numTagStopCount.Value = R1000Reader.RFIDGetStopCount(); AntennaPortConfig antPortConfig = new AntennaPortConfig(); R1000Reader.RFIDGetAntennaPortConfiguration(0, ref antPortConfig); txtdwelltime.Text = antPortConfig.dwellTime.ToString(); txtInvRounds.Text = antPortConfig.numberInventoryCycles.ToString(); traPowerLevel.Value = (int)antPortConfig.powerLevel / 10; lbldBm.Text = traPowerLevel.Value.ToString() + "dBm"; ErrorMessage(0, 0, "Config Refreshed"); } #endregion //end codes }
public static extern Result RFID_RadioGetOperationMode ( [In] Int32 handle, [In, Out] ref RadioOperationMode mode );
public static extern Result RFID_RadioSetOperationMode ( [In] Int32 handle, [In] RadioOperationMode mode );
private void RadioSetOperationMode(int radioHandle, RadioOperationMode operationMode) { Result result = link.RadioSetOperationMode(radioHandle, operationMode); logger.Information("link.RadioSetOperationMode ( {OperationMode} ) => {Result}", operationMode, result); }
/// <summary> /// Constructor for Inventory /// </summary> /// <param name="ManagedAccess"></param> /// <param name="Handle"></param> /// <param name="WantSinglePackets"></param> /// <param name="runCount"></param> public ReaderInterfaceThreadClass(rfid.Linkage ManagedAccess, int Handle, bool WantSinglePackets, RadioOperationMode r_OpMode, TagAccessFlag r_strcTagFlag) { if (r_OpMode == RadioOperationMode.UNKNOWN) { throw new ArgumentOutOfRangeException("OpMode", "OpMode must be CONTINUE or NON_CONTINUE"); } _strcTagFlag = r_strcTagFlag; _OpMode = r_OpMode; _access = ManagedAccess; _handle = Handle; _singlePackets = WantSinglePackets; _stopRequest = false; }