UgiRfidConfiguration Class Reference

Overview


RFID configuration instances, used by startInventory().

Common configuration instances are provided

Class Methods

(UgiRfidConfiguration *_Nonnull) + configWithInventoryType:
 
Create a configuration object from a pre-defined inventory type. More...
 
(NSString *_Nonnull) + nameForInventoryType:
 
Get the name for an inventory type. More...
 
(int) + numInventoryTypes
 
Get the number of inventory types More...
 
(double) + getMinAllowablePowerLevel
 
Get the minimum power value (dBm) More...
 
(double) + getMaxAllowablePowerLevel
 
Get the maximum power value (dBm) More...
 
(int) + getMinAllowableQValue
 
Get the minimum Q value More...
 
(int) + getMaxAllowableQValue
 
Get the maximum Q value More...
 
(int) + getMaxAllowableRoundsWithNoFindsToToggleAB
 
Get the maximum value for roundsWithNoFindsToToggleAB More...
 
(int) + getMaxAllowableMemoryBankBytes
 
Get the maximum value for maxTidBytes/maxReservedBytes/maxUserBytes More...
 

Properties

double initialPowerLevel
 Initial power level for running inventory, in dBm. The reader will start at this power level, but will vary down to minPowerLevel and up to maxPowerLevel.
 
double minPowerLevel
 Minimum power level for running inventory, in dBm.
 
double maxPowerLevel
 Maximum power level for running inventory, in dBm.
 
int initialQValue
 Initial Q value to use when running inventory. The reader will start with this Q value, but will vary down to minQValue and up to maxQValue based on the number of tags in the environment.
 
int minQValue
 Minimum Q value to use when running inventory.
 
int maxQValue
 Maximum Q value to use when running inventory.
 
int session
 Session number to use when running inventory (0, 1, 2 or 3)
 
int roundsWithNoFindsToToggleAB
 Number of inventory rounds with no finds after which to toggle A/B (0 = never toggle)
 
int sensitivity
 Sensitivity level for running inventory, db.
 
double powerLevelWrite
 Power level for writing tags, in dBm.
 
int sensitivityWrite
 Sensitivity level for writing tags, dB.
 
BOOL setListenBeforeTalk
 YES for reader to use this listen-before-talk setting, if allowed (default is NO)
 
BOOL listenBeforeTalk
 YES for reader to listen-before-talk (default is NO)
 
int maxRoundsPerSecond
 Maximum number of inventory rounds per second (0 = no limit)
 
int minTidBytes
 Minimum number of TID memory bank bytes to return. If the TID memory size is known, set minTidBytes=maxTidBytes.
 
int maxTidBytes
 Maximum number of TID memory bank bytes to return (0 = don't read TID). The maximum supported is getMaxAllowableMemoryBankBytes (currently 208)
 
int minUserBytes
 Minimum number of USER memory bank bytes to return. If the USER memory size is known, set minUserBytes=maxUserBytes.
 
int maxUserBytes
 Maximum number of USER memory bank bytes to return (0 = don't read USER). The maximum supported is getMaxAllowableMemoryBankBytes (currently 208)
 
int minReservedBytes
 Minimum number of RESERVED memory bank bytes to return. If the RESERVED memory size is known, set minReservedBytes=maxReservedBytes.
 
int maxReservedBytes
 Maximum number of RESERVED memory bank bytes to return (0 = don't read RESERVED). The maximum supported is getMaxAllowableMemoryBankBytes (currently 208)
 
NSData *_Nullable selectMask
 Mask to use in SELECT before inventory round. If nil (the default) then no SELECT is done before each inventory.
 
int selectMaskBitLength
 Length of the mask, in bits. If zero, then selectMask.length*8 is used.
 
int selectOffset
 Bit offset for SELECT.
 
UgiMemoryBank selectBank
 Memory bank for SELECT.
 
BOOL continual
 YES to run inventory until stopped, NO to run inventory once (default is YES)
 
BOOL reportRssi
 YES for reader to report RSSI data (default is NO)
 
BOOL detailedPerReadData
 YES for reader to report detailed data for each read (default is NO)
 
int detailedPerReadNumReads
 Number of words for reader to read every time the tags is read (0, 1, or 2)
 
UgiMemoryBank detailedPerReadMemoryBank1
 memory bank #1 to read for detailed per-read
 
int detailedPerReadWordOffset1
 word offset #1 to read for detailed per-read
 
UgiMemoryBank detailedPerReadMemoryBank2
 memory bank #2 to read for detailed per-read
 
int detailedPerReadWordOffset2
 word offset #2 to read for detailed per-read
 
BOOL reportSubsequentFinds
 YES to report subsequent finds.
 
BOOL forceTari25
 YES to force a Tari of 25uS (useful for some sensor tags) - requires firmware 1.10.4 or above.
 
BOOL delayAfterSelect
 YES to delay for 3ms after SELECT (useful for some sensor tags) - requires firmware 1.10.4 or above.
 
BOOL singleFindMode
 YES to use single find mode (find one tag only) - requires firmware 1.12.5 or above.
 
BOOL singleFindContinueInventory
 YES to stop inventory in singleFindMode after tag is found - requires firmware 1.12.5 or above.
 
UgiSingleFindRampPowerModes singleFindRampPowerMode
 If and how to ramp power from min to max in singleFindMode - requires firmware 1.12.5 or above.
 
UgiSoundTypes soundType
 Type of sounds to make when tags are found.
 
double volume
 Volume level (0...1)
 
int historyIntervalMSec
 Length of each history period (default is 500ms)
 
int historyDepth
 Number of history periods (default is 20)
 
BOOL hf
 YES for HF inventory (on supported hardware)
 
BOOL hfInventoryISO15693
 YES to run ISO 15693 inventory (if hf is YES)
 
BOOL hfInventoryISO14443A
 YES to run ISO 14443A inventory (if hf is YES)
 
BOOL hfInventoryTopaz
 YES to run Topaz inventory (if hf is YES)
 
BOOL hfInventoryFelica
 YES to run FeliCA inventory (if hf is YES)
 
BOOL hfIso15693use16slots
 YES to use 16 slots for ISO 15693 inventory, NO to use 1 slot.
 

Protected Types

enum  UgiMemoryBank { UGI_MEMORY_BANK_RESERVED = 0, UGI_MEMORY_BANK_EPC = 1, UGI_MEMORY_BANK_TID = 2, UGI_MEMORY_BANK_USER = 3 }
 
Memory banks More...
 
enum  UgiSoundTypes { UGI_INVENTORY_SOUNDS_NONE = 0, UGI_INVENTORY_SOUNDS_GEIGER_COUNTER = 1, UGI_INVENTORY_SOUNDS_FIRST_FIND = 2, UGI_INVENTORY_SOUNDS_FIRST_FIND_AND_LAST = 6 }
 
Sound types More...
 
enum  UgiInventoryTypes {
  UGI_INVENTORY_TYPE_LOCATE_DISTANCE = 1, UGI_INVENTORY_TYPE_INVENTORY_SHORT_RANGE = 2, UGI_INVENTORY_TYPE_INVENTORY_DISTANCE = 3, UGI_INVENTORY_TYPE_LOCATE_SHORT_RANGE = 4,
  UGI_INVENTORY_TYPE_LOCATE_VERY_SHORT_RANGE = 5, UGI_INVENTORY_TYPE_SINGLE_FIND = 6, UGI_INVENTORY_TYPE_HF_INVENTORY = 7, UGI_INVENTORY_TYPE_HF_SINGLE_FIND = 8
}
 
Inventory types (passed to startInventory) More...
 
enum  UgiSingleFindRampPowerModes { UGI_SINGLE_FIND_RAMP_POWER_NO_RAMP = 0, UGI_SINGLE_FIND_RAMP_POWER_SLOW = 1, UGI_SINGLE_FIND_RAMP_POWER_MEDIUM = 2, UGI_SINGLE_FIND_RAMP_POWER_FAST = 3 }
 
Values for singleFindRampPowerMode More...
 

Instance Method Documentation

◆ configWithInventoryType:()

+ (UgiRfidConfiguration * _Nonnull) configWithInventoryType: (UgiInventoryTypes inventoryType


Create a configuration object from a pre-defined inventory type.

Parameters
inventoryTypeOne of UgiInventoryTypes
Returns
Configuration structure

◆ nameForInventoryType:()

+ (NSString * _Nonnull) nameForInventoryType: (UgiInventoryTypes inventoryType


Get the name for an inventory type.

Parameters
inventoryTypeOne of UgiInventoryTypes
Returns
Name

◆ numInventoryTypes()

+ (int) numInventoryTypes


Get the number of inventory types

Returns
Number of inventory types

◆ getMinAllowablePowerLevel()

+ (double) getMinAllowablePowerLevel


Get the minimum power value (dBm)

Returns
Minimum power value (dBm)

◆ getMaxAllowablePowerLevel()

+ (double) getMaxAllowablePowerLevel


Get the maximum power value (dBm)

Returns
Maximum power value (dBm)

◆ getMinAllowableQValue()

+ (int) getMinAllowableQValue


Get the minimum Q value

Returns
Minimum Q value

◆ getMaxAllowableQValue()

+ (int) getMaxAllowableQValue


Get the maximum Q value

Returns
Maximum Q value

◆ getMaxAllowableRoundsWithNoFindsToToggleAB()

+ (int) getMaxAllowableRoundsWithNoFindsToToggleAB


Get the maximum value for roundsWithNoFindsToToggleAB

Returns
Maximum value for roundsWithNoFindsToToggleAB

◆ getMaxAllowableMemoryBankBytes()

+ (int) getMaxAllowableMemoryBankBytes


Get the maximum value for maxTidBytes/maxReservedBytes/maxUserBytes

Returns
Maximum value for maxTidBytes/maxReservedBytes/maxUserBytes

Enumeration Documentation

◆ UgiMemoryBank

- (enum) UgiMemoryBank
protected


Memory banks

Enumerator
UGI_MEMORY_BANK_EPC 

RESERVED bank.

UGI_MEMORY_BANK_TID 

EPC bank.

UGI_MEMORY_BANK_USER 

TID bank.

◆ UgiSoundTypes

- (enum) UgiSoundTypes
protected


Sound types

Enumerator
UGI_INVENTORY_SOUNDS_GEIGER_COUNTER 

Make no sounds.

UGI_INVENTORY_SOUNDS_FIRST_FIND 

Geiger counter sounds when epc(s) are found.

UGI_INVENTORY_SOUNDS_FIRST_FIND_AND_LAST 

Found-item sound once when epc is first found.

◆ UgiInventoryTypes

- (enum) UgiInventoryTypes
protected


Inventory types (passed to startInventory)

Enumerator
UGI_INVENTORY_TYPE_INVENTORY_SHORT_RANGE 

Locate at a distance.

UGI_INVENTORY_TYPE_INVENTORY_DISTANCE 

Inventory (count) at short range, especially in dense environments.

UGI_INVENTORY_TYPE_LOCATE_SHORT_RANGE 

Inventory (count) a at a distance.

UGI_INVENTORY_TYPE_LOCATE_VERY_SHORT_RANGE 

Locate at short range.

UGI_INVENTORY_TYPE_SINGLE_FIND 

Locate at very short range.

UGI_INVENTORY_TYPE_HF_INVENTORY 

Find a single tag.

UGI_INVENTORY_TYPE_HF_SINGLE_FIND 

HF inventory.

◆ UgiSingleFindRampPowerModes

- (enum) UgiSingleFindRampPowerModes
protected


Values for singleFindRampPowerMode

Enumerator
UGI_SINGLE_FIND_RAMP_POWER_SLOW 

Do not ramp power (normal power setting)

UGI_SINGLE_FIND_RAMP_POWER_MEDIUM 

Ramp power slowly (250 rounds from lowest to highest, about 4 seconds)

UGI_SINGLE_FIND_RAMP_POWER_FAST 

Ramp power medium (125 rounds from lowest to highest, about 2 seconds)