Region setting guide

RFID SDK for Android 2.0.2.94

Overview

This guides provides details to setting up region on reader using RFID3 API

Regulatory Configuration

The SDK supports managing of regulatory related parameters of a specific active RFID reader. Regulatory configuration includes the following

  • Code of selected region
  • Channel Hopping
  • Set of enabled channels

A set of enabled channels includes only such channels that are supported in the selected region. If hopping configuration is not allowed for the selected regions, a set of enabled channels is not specified.. Regulatory parameters could be retrieved and set via getRegulatoryConfig and setRegulatoryConfig API functions accordingly. The region information is retrieved using ZEBRA RFID SDK FOR XAMARIN ANDROID GUIDE getRegionInfo API. The following exampledemonstrates retrieving of current regulatory settings and configuring the RFID reader to operate in one of supported regions.

Setting the regulatory

Following is general sequence to setup the region

  • gets supported regions
  • chooses operational regulatory region from list
  • Set region with required configurations i.e. hopping and set of channels
  • Application should update antenna power level and link profiles if it has cached same before changing regulatory

// Get and Set regulatory configuration settings 
RegulatoryConfig regulatoryConfig = reader.Config.getRegulatoryConfig(); 
RegionInfo regionInfo = reader.ReaderCapabilities.SupportedRegions.getRegionInfo(1); 
regulatoryConfig.setRegion(regionInfo.getRegionCode()); 
regulatoryConfig.setIsHoppingOn(regionInfo.isHoppingConfigurable()); 
regulatoryConfig.setEnabledChannels(regionInfo.getSupportedChannels()); 
reader.Config.setRegulatoryConfig(regulatoryConfig);

Region Is Not Configured

If the region is not configured, then exception gives RFID_READER_REGION_NOT_CONFIGURED result. In that situation application should set the region first before performing any operations.


if (ex.getResults() == RFIDResults.RFID_READER_REGION_NOT_CONFIGURED) { 
    // Set regulatory configuration settings
}