mercury-api-0.1.0.0: cbits/api/tmr_param.c
/**
* @file tmr_param.c
* @brief Mercury API - parameter string implementation
* @author Nathan Williams
* @date 11/3/2009
*/
/*
* Copyright (c) 2009 ThingMagic, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <string.h>
#include "tm_reader.h"
#include "tmr_utils.h"
#ifdef TMR_ENABLE_PARAM_STRINGS
static const char *paramNames[1 + TMR_PARAM_MAX] = {
"", /* TMR_PARAM_NONE */
"/reader/baudRate", /* TMR_PARAM_BAUDRATE */
"/reader/probeBaudRates",/* TMR_PARAM_PROBEBAUDRATES */
"/reader/commandTimeout", /* TMR_PARAM_COMMANDTIMEOUT */
"/reader/transportTimeout", /* TMR_PARAM_TRANSPORTTIMEOUT */
"/reader/powerMode", /* TMR_PARAM_POWERMODE */
"/reader/userMode", /* TMR_PARAM_USERMODE */
"/reader/antenna/checkPort", /* TMR_PARAM_ANTENNA_CHECKPORT */
"/reader/antenna/portList", /* TMR_PARAM_ANTENNA_PORTLIST */
"/reader/antenna/connectedPortList", /* TMR_PARAM_ANTENNA_CONNECTEDPORTLIST */
"/reader/antenna/portSwitchGpos", /* TMR_PARAM_ANTENNA_PORTSWITCHGPOS */
"/reader/antenna/settlingTimeList", /* TMR_PARAM_ANTENNA_SETTLINGTIMELIST */
"/reader/antenna/returnLoss", /* TMR_PARAM_ANTENNA_RETURNLOSS */
"/reader/antenna/txRxMap", /* TMR_PARAM_ANTENNA_TXRXMAP */
"/reader/gpio/inputList", /* TMR_PARAM_GPIO_INPUTLIST */
"/reader/gpio/outputList", /* TMR_PARAM_GPIO_OUTPUTLIST */
"/reader/gen2/accessPassword", /* TMR_PARAM_GEN2_ACCESSPASSWORD */
"/reader/gen2/q", /* TMR_PARAM_GEN2_Q */
"/reader/gen2/tagEncoding", /* TMR_PARAM_GEN2_TAGENCODING*/
"/reader/gen2/session", /* TMR_PARAM_GEN2_SESSION */
"/reader/gen2/target", /* TMR_PARAM_GEN2_TARGET */
"/reader/gen2/BLF", /* TMR_PARAM_GEN2_BLF */
"/reader/gen2/tari", /* TMR_PARAM_GEN2_TARI */
"/reader/gen2/writeMode",/*TMR_PARAM_GEN2_WRITEMODE*/
"/reader/gen2/bap", /* TMR_PARAM_GEN2_BAP */
"/reader/gen2/protocolExtension", /* TMR_PARAM_GEN2_PROTOCOLEXTENSION */
"/reader/iso180006b/BLF", /* TMR_PARAM_ISO18000_6B_LINKFREQUENCY */
"/reader/iso180006b/modulationDepth", /* TMR_PARAM_ISO18000_6B_MODULATION_DEPTH */
"/reader/iso180006b/delimiter", /* TMR_PARAM_ISO18000_6B_DELIMITER */
"/reader/read/asyncOffTime", /* TMR_PARAM_READ_ASYNCOFFTIME */
"/reader/read/asyncOnTime", /* TMR_PARAM_READ_ASYNCONTIME */
"/reader/read/plan", /* TMR_PARAM_READ_PLAN */
"/reader/radio/enablePowerSave", /* TMR_PARAM_RADIO_ENABLEPOWERSAVE */
"/reader/radio/powerMax", /* TMR_PARAM_RADIO_POWERMAX */
"/reader/radio/powerMin", /* TMR_PARAM_RADIO_POWERMIN */
"/reader/radio/portReadPowerList", /* TMR_PARAM_RADIO_PORTREADPOWERLIST */
"/reader/radio/portWritePowerList", /* TMR_PARAM_RADIO_PORTWRITEPOWERLIST */
"/reader/radio/readPower", /* TMR_PARAM_RADIO_READPOWER */
"/reader/radio/writePower", /* TMR_PARAM_RADIO_WRITEPOWER */
"/reader/radio/temperature", /* TMR_PARAM_RADIO_TEMPERATURE */
"/reader/tagReadData/recordHighestRssi", /* TMR_PARAM_TAGREADDATA_RECORDHIGHESTRSSI */
"/reader/tagReadData/reportRssiInDbm", /* TMR_PARAM_TAGREADDATA_REPORTRSSIINDBM */
"/reader/tagReadData/uniqueByAntenna", /* TMR_PARAM_TAGREADDATA_UNIQUEBYANTENNA */
"/reader/tagReadData/uniqueByData", /* TMR_PARAM_TAGREADDATA_UNIQUEBYDATA */
"/reader/tagop/antenna", /* TMR_PARAM_TAGOP_ANTENNA */
"/reader/tagop/protocol", /* TMR_PARAM_TAGOP_PROTOCOL */
"/reader/version/hardware", /* TMR_PARAM_VERSION_HARDWARE */
"/reader/version/serial", /* TMR_PARAM_VERSION_SERIAL */
"/reader/version/model", /* TMR_PARAM_VERSION_MODEL */
"/reader/version/software", /* TMR_PARAM_VERSION_SOFTWARE */
"/reader/version/supportedProtocols", /* TMR_PARAM_VERSION_SUPPORTEDPROTOCOLS */
"/reader/region/hopTable", /* TMR_PARAM_REGION_HOPTABLE */
"/reader/region/hopTime", /* TMR_PARAM_REGION_HOPTIME */
"/reader/region/id", /* TMR_PARAM_REGION_ID */
"/reader/region/supportedRegions", /* TMR_PARAM_REGION_SUPPORTEDREGIONS */
"/reader/region/lbt/enable", /* TMR_PARAM_REGION_LBT_ENABLE */
"/reader/licenseKey", /* TMR_PARAM_LICENSE_KEY */
"/reader/userConfig", /* TMR_PARAM_USER_CONFIG */
"/reader/radio/enableSJC", /* TMR_PARAM_RADIO_ENABLESJC */
"/reader/extendedEpc", /* TMR_PARAM_EXTENDEDEPC */
"/reader/statistics", /* TMR_PARAM_READER_STATISTICS */
"/reader/stats", /* TMR_PARAM_READER_STATS */
"/reader/uri", /* TMR_PARAM_URI */
"/reader/version/productGroupID", /* TMR_PARAM_PRODUCT_GROUP_ID */
"/reader/version/productGroup", /* TMR_PARAM_PRODUCT_GROUP */
"/reader/version/productID", /* TMR_PARAM_PRODUCT_ID */
"/reader/tagReadData/tagopSuccesses", /* TMR_PARAM_TAGREADATA_TAGOPSUCCESSCOUNT */
"/reader/tagReadData/tagopFailures", /* TMR_PARAM_TAGREADATA_TAGOPFAILURECOUNT */
"/reader/status/antennaEnable", /* TMR_PARAM_STATUS_ENABLE_ANTENNAREPORT */
"/reader/status/frequencyEnable", /* TMR_PARAM_STATUS_ENABLE_FREQUENCYREPORT */
"/reader/status/temperatureEnable", /* TMR_PARAM_STATUS_ENABLE_TEMPERATUREREPORT */
"/reader/tagReadData/enableReadFilter", /* TMR_PARAM_TAGREADDATA_ENABLEREADFILTER */
"/reader/tagReadData/readFilterTimeout", /* TMR_PARAM_TAGREADDATA_READFILTERTIMEOUT */
"/reader/tagReadData/uniqueByProtocol", /* TMR_PARAM_TAGREADDATA_UNIQUEBYPROTOCOL */
"/reader/description", /* TMR_PARAM_READER_DESCRIPTION */
"/reader/hostname", /* TMR_PARAM_READER_HOSTNAME */
"/reader/currentTime", /* TMR_PARAM_CURRENTTIME */
"/reader/gen2/writeReplyTimeout", /* TMR_PARAM_READER_WRITE_REPLY_TIMEOUT */
"/reader/gen2/writeEarlyExit", /* /reader/gen2/writeEarlyExit */
"/reader/stats/enable", /* /reader/stats/enable */
"/reader/trigger/read/Gpi", /* TMR_PARAM_TRIGGER_READ_GPI */
"/reader/metadataflags", /* TMR_PARAM_METADATAFLAG */
"/reader/licensedFeatures", /* TMR_PARAM_LICENSED_FEATURES */
"/reader/selectedProtocols", /* TMR_PARAM_SELECTED_PROTOCOLS */
};
TMR_Param
TMR_paramID(const char *name)
{
int i;
for (i = 1 ; i <= TMR_PARAM_MAX ; i++)
{
if (0 == strcasecmp(name, paramNames[i]))
{
return (TMR_Param)i;
}
}
return TMR_PARAM_NONE;
}
const char *
TMR_paramName(TMR_Param key)
{
if (key <= TMR_PARAM_MAX)
{
return paramNames[key];
}
return NULL;
}
#endif /* TMR_ENABLE_PARAM_STRINGS */