mercury-api-0.1.0.0: cbits/api/tmr_params.h
/* ex: set tabstop=2 shiftwidth=2 expandtab cindent: */
#ifndef _TMR_PARAMS_H
#define _TMR_PARAMS_H
/**
* @file tmr_params.h
* @brief Mercury API - Reader parameter interface
* @author Nathan Williams
* @date 10/20/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.
*/
#ifdef __cplusplus
extern "C" {
#endif
/**
* Parameter keys for TMR_paramSet() and TMR_paramGet(). Each
* parameter is listed with its associated string name and the
* parameter type. A pointer to that type is passed to TMR_paramGet()
* (for example, "TMR_String *" for /reader/version/model).
*/
typedef enum TMR_Param
{
/** No such parameter - used as a return value from TMR_paramID(). */
TMR_PARAM_NONE,
TMR_PARAM_MIN,
/** "/reader/baudRate", uint32_t */
TMR_PARAM_BAUDRATE = TMR_PARAM_MIN,
/** "/reader/probeBaudRates", TMR_uint32List */
TMR_PARAM_PROBEBAUDRATES,
/** "/reader/commandTimeout", uint32_t */
TMR_PARAM_COMMANDTIMEOUT,
/** "/reader/transportTimeout", uint32_t */
TMR_PARAM_TRANSPORTTIMEOUT,
/** "/reader/powerMode", TMR_SR_PowerMode */
TMR_PARAM_POWERMODE,
/** "/reader/userMode", TMR_SR_UserMode */
TMR_PARAM_USERMODE,
/** "/reader/antenna/checkPort", bool */
TMR_PARAM_ANTENNA_CHECKPORT,
/** "/reader/antenna/portList", TMR_uint8List */
TMR_PARAM_ANTENNA_PORTLIST,
/** "/reader/antenna/connectedPortList", TMR_uint8List */
TMR_PARAM_ANTENNA_CONNECTEDPORTLIST,
/** "/reader/antenna/portSwitchGpos", TMR_uint8List */
TMR_PARAM_ANTENNA_PORTSWITCHGPOS,
/** "/reader/antenna/settlingTimeList", TMR_PortValueList */
TMR_PARAM_ANTENNA_SETTLINGTIMELIST,
/** "/reader/antenna/returnLoss", TMR_PortValueList */
TMR_PARAM_ANTENNA_RETURNLOSS,
/** "/reader/antenna/txRxMap", TMR_AntennaMapList */
TMR_PARAM_ANTENNA_TXRXMAP,
/** "/reader/gpio/inputList", TMR_uint8List */
TMR_PARAM_GPIO_INPUTLIST,
/** "/reader/gpio/outputList", TMR_uint8List */
TMR_PARAM_GPIO_OUTPUTLIST,
/** "/reader/gen2/accessPassword", TMR_GEN2_Password */
TMR_PARAM_GEN2_ACCESSPASSWORD,
/** "/reader/gen2/q", TMR_GEN2_Q */
TMR_PARAM_GEN2_Q,
/** "/reader/gen2/tagEncoding", TMR_GEN2_TagEncoding */
TMR_PARAM_GEN2_TAGENCODING,
/** "/reader/gen2/session", TMR_GEN2_Session */
TMR_PARAM_GEN2_SESSION,
/** "/reader/gen2/target", TMR_GEN2_Target */
TMR_PARAM_GEN2_TARGET,
/** "/reader/gen2/BLF", TMR_GEN2_LinkFrequency */
TMR_PARAM_GEN2_BLF,
/** "/reader/gen2/tari", TMR_GEN2_Tari */
TMR_PARAM_GEN2_TARI,
/**"/reader/gen2/writeMode", TMR_GEN2_WriteMode */
TMR_PARAM_GEN2_WRITEMODE,
/** "/reader/gen2/bap", TMR_GEN2_Bap */
TMR_PARAM_GEN2_BAP,
/** "/reader/gen2/protocolExtension", TMR_GEN2_ProtocolExtension */
TMR_PARAM_GEN2_PROTOCOLEXTENSION,
/** "/reader/iso180006b/BLF", TMR_ISO180006B_LinkFrequency */
TMR_PARAM_ISO180006B_BLF,
/** "/reader/iso180006b/modulationDepth", TMR_ISO180006B_ModulationDepth */
TMR_PARAM_ISO180006B_MODULATION_DEPTH,
/** "/reader/iso180006b/delimiter", TMR_PARAM_ISO18000_6B_DELIMITER */
TMR_PARAM_ISO180006B_DELIMITER,
/** "/reader/read/asyncOffTime", uint32_t */
TMR_PARAM_READ_ASYNCOFFTIME,
/** "/reader/read/asyncOnTime", uint32_t */
TMR_PARAM_READ_ASYNCONTIME,
/** "/reader/read/plan", TMR_ReadPlan */
TMR_PARAM_READ_PLAN,
/** "/reader/radio/enablePowerSave", bool **/
TMR_PARAM_RADIO_ENABLEPOWERSAVE,
/** "/reader/radio/powerMax", int16_t */
TMR_PARAM_RADIO_POWERMAX,
/** "/reader/radio/powerMin", int16_t */
TMR_PARAM_RADIO_POWERMIN,
/** "/reader/radio/portReadPowerList", TMR_PortValueList */
TMR_PARAM_RADIO_PORTREADPOWERLIST,
/** "/reader/radio/portWritePowerList", TMR_PortValueList */
TMR_PARAM_RADIO_PORTWRITEPOWERLIST,
/** "/reader/radio/readPower", int32_t */
TMR_PARAM_RADIO_READPOWER,
/** "/reader/radio/writePower", int32_t */
TMR_PARAM_RADIO_WRITEPOWER,
/** "/reader/radio/temperature", int8_t */
TMR_PARAM_RADIO_TEMPERATURE,
/** "/reader/tagReadData/recordHighestRssi", bool */
TMR_PARAM_TAGREADDATA_RECORDHIGHESTRSSI,
/** "/reader/tagReadData/reportRssiInDbm", bool */
TMR_PARAM_TAGREADDATA_REPORTRSSIINDBM,
/** "/reader/tagReadData/uniqueByAntenna", bool */
TMR_PARAM_TAGREADDATA_UNIQUEBYANTENNA,
/** "/reader/tagReadData/uniqueByData", bool */
TMR_PARAM_TAGREADDATA_UNIQUEBYDATA,
/** "/reader/tagop/antenna", uint8_t */
TMR_PARAM_TAGOP_ANTENNA,
/** "/reader/tagop/protocol", TMR_TagProtocol */
TMR_PARAM_TAGOP_PROTOCOL,
/** "/reader/version/hardware", TMR_String */
TMR_PARAM_VERSION_HARDWARE,
/** "/reader/version/serial", TMR_String */
TMR_PARAM_VERSION_SERIAL,
/** "/reader/version/model", TMR_String */
TMR_PARAM_VERSION_MODEL,
/** "/reader/version/software", TMR_String */
TMR_PARAM_VERSION_SOFTWARE,
/** "/reader/version/supportedProtocols", TMR_TagProtocolList */
TMR_PARAM_VERSION_SUPPORTEDPROTOCOLS,
/** "/reader/region/hopTable", TMR_uint32List */
TMR_PARAM_REGION_HOPTABLE,
/** "/reader/region/hopTime", uint32_t */
TMR_PARAM_REGION_HOPTIME,
/** "/reader/region/id", TMR_Region */
TMR_PARAM_REGION_ID,
/** "/reader/region/supportedRegions", TMR_RegionList */
TMR_PARAM_REGION_SUPPORTEDREGIONS,
/** "/reader/region/lbt/enable", bool */
TMR_PARAM_REGION_LBT_ENABLE,
/** "/reader/licenseKey", TMR_uint8List */
TMR_PARAM_LICENSE_KEY,
/** "/reader/userConfig", TMR_UserConfigOption */
TMR_PARAM_USER_CONFIG,
/** "/reader/radio/enableSJC", bool */
TMR_PARAM_RADIO_ENABLESJC,
/** "/reader/extendedEpc", bool */
TMR_PARAM_EXTENDEDEPC,
/** "/reader/statistics", TMR_SR_ReaderStatistics */
TMR_PARAM_READER_STATISTICS,
/** "/reader/stats", TMR_Reader_StatsValues */
TMR_PARAM_READER_STATS,
/** "/reader/uri", TMR_String */
TMR_PARAM_URI,
/** "/reader/version/productGroupID", uint16_t */
TMR_PARAM_PRODUCT_GROUP_ID,
/** "/reader/version/productGroup", TMR_String */
TMR_PARAM_PRODUCT_GROUP,
/** "/reader/version/productID", uint16_t */
TMR_PARAM_PRODUCT_ID,
/** "/reader/tagReadData/tagopSuccesses", uint16_t */
TMR_PARAM_TAGREADATA_TAGOPSUCCESSCOUNT,
/** "/reader/tagReadData/tagopFailures", uint16_t */
TMR_PARAM_TAGREADATA_TAGOPFAILURECOUNT,
/** "/reader/status/antennaEnable", bool */
TMR_PARAM_STATUS_ENABLE_ANTENNAREPORT,
/** "/reader/status/frequencyEnable", bool */
TMR_PARAM_STATUS_ENABLE_FREQUENCYREPORT,
/** "/reader/status/temperatureEnable", bool */
TMR_PARAM_STATUS_ENABLE_TEMPERATUREREPORT,
/** "/reader/tagReadData/enableReadFilter", bool */
TMR_PARAM_TAGREADDATA_ENABLEREADFILTER,
/** "/reader/tagReadData/readFilterTimeout", int32_t */
TMR_PARAM_TAGREADDATA_READFILTERTIMEOUT,
/** "/reader/tagReadData/uniqueByProtocol", bool */
TMR_PARAM_TAGREADDATA_UNIQUEBYPROTOCOL,
/** "/reader/description", TMR_String */
TMR_PARAM_READER_DESCRIPTION,
/** "/reader/hostname", TMR_String */
TMR_PARAM_READER_HOSTNAME,
/** "/reader/currentTime", struct tm */
TMR_PARAM_CURRENTTIME,
/** "/reader/gen2/writeReplyTimeout", uint16_t */
TMR_PARAM_READER_WRITE_REPLY_TIMEOUT,
/** "/reader/gen2/writeEarlyExit", bool */
TMR_PARAM_READER_WRITE_EARLY_EXIT,
/** "/reader/stats/enable", TMR_StatsEnable */
TMR_PARAM_READER_STATS_ENABLE,
/** "/reader/trigger/read/Gpi", TMR_uint8List */
TMR_PARAM_TRIGGER_READ_GPI,
/** "/reader/metadataflags", TMR_TRD_MetadataFlag*/
TMR_PARAM_METADATAFLAG,
/** "/reader/licensedFeatures", TMR_uint8List */
TMR_PARAM_LICENSED_FEATURES,
TMR_PARAM_SELECTED_PROTOCOLS,
TMR_PARAM_END,
TMR_PARAM_MAX = TMR_PARAM_END-1,
} TMR_Param;
#define TMR_PARAMWORDS ((1 + TMR_PARAM_MAX +31) / 32)
#ifdef __cplusplus
}
#endif
#endif /* _TMR_PARAMS_H */