mercury-api-0.1.0.0: cbits/api/tm_config.h
/* ex: set tabstop=2 shiftwidth=2 expandtab cindent: */
#ifndef _TM_CONFIG_H
#define _TM_CONFIG_H
/**
* @file tm_config.h
* @brief Mercury API - Build Configuration
* @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
/**
* API version number
*/
#define TMR_VERSION "1.29.3.34"
/**
* Define this to enable support for devices that support the serial
* reader command set (M5e, M6e, Vega, etc.)
*/
#define TMR_ENABLE_SERIAL_READER
/**
* Define this to enable support for local serial port access via
* native interfaces (COM1 on Windows, /dev/ttyS0, /dev/ttyUSB0 on
* Linux, etc.).
*/
#define TMR_ENABLE_SERIAL_TRANSPORT_NATIVE
/**
* The longest possible name for a reader.
*/
#define TMR_MAX_READER_NAME_LENGTH 256
/**
* The maximum number of protocols supported in a multiprotocol search command
*/
#define TMR_MAX_SERIAL_MULTIPROTOCOL_LENGTH 5
/**
* The maximum size of the Queue, used to share the streamed messages
* between the do_background_reads thread and parse_tag_reads thread.
*/
#define TMR_MAX_QUEUE_SLOTS 20
/**
* Number of bytes to allocate for embedded data return
* in each TagReadData.
*/
#define TMR_MAX_EMBEDDED_DATA_LENGTH 128
/**
* The maximum length of the probe baudrate list. This list specifies the
* baudrates which are used while connecting to the serial reader.
*/
#define TMR_MAX_PROBE_BAUDRATE_LENGTH 8
/**
* Define this to enable support for LLRP readers.
* (Not yet available for Windows)
*/
#define TMR_ENABLE_LLRP_TRANSPORT
#ifndef WIN32
#define TMR_ENABLE_LLRP_SERIAL_TRANSPORT
#endif
/**
* LLRP reader keep alive timeout in milli seconds
*/
#define TMR_LLRP_KEEP_ALIVE_TIMEOUT 5000
/**
* Define this to enable async read using single thread
Note:To run readsync_baremetal codelet you have to
define it.
Otherwise keep it undefined.
*/
#undef SINGLE_THREAD_ASYNC_READ
/**
* Define this to enable for BARE_METAL API
*/
#ifndef BARE_METAL
/**
* Define this to enable support for the GEN2 Custom Tag Operations parameters
* and access commands
*/
#define TMR_ENABLE_GEN2_CUSTOM_TAGOPS
/**
* Define this to enable support for the ISO180006B protocol parameters
* and access commands
*/
#define TMR_ENABLE_ISO180006B
/**
* Define this to enable support for small microcontrollers.
* Enabling this option will reduce the code which is not relevant to
* serial readers in order to minimize the program footprint
* To compile for Serial Reader only.
*
* To compile for Serial Reader only, use one of the following options:
** Uncomment the following define
** Run make with TMR_ENABLE_SERIAL_READER_ONLY=1 defined
** Add -DTMR_ENABLE_SERIAL_READER_ONLY=1 to your compiler flags
*/
//#define TMR_ENABLE_SERIAL_READER_ONLY
/**
* Define this to enable support for background reads using native threads.
* This feature is also available for windows (using pthreads-win32)
*/
#define TMR_ENABLE_BACKGROUND_READS
/**
* Define this to include TMR_strerror().
*/
#define TMR_ENABLE_ERROR_STRINGS
/**
* Define this to include TMR_paramName() and TMR_paramID().
*/
#define TMR_ENABLE_PARAM_STRINGS
/**
* Enabling this option will enable the support for the parameters defined
* in stdio.h header file like FILE *. This check is required as stdio.h does not
* exist in some of the embedded architectures.
*/
#define TMR_ENABLE_STDIO
/**
* Enabling this option will enable the support for the parameters defined
* in string.h header file like strerror(). This check is required as string.h does not
* exist in some of the embedded architectures.
*/
#define TMR_USE_STRERROR
#if defined(WINCE)
#undef TMR_USE_STRERROR
#endif
#else
/**
* Define this to enable support for the GEN2 Custom Tag Operations parameters
* and access commands
*/
#undef TMR_ENABLE_GEN2_CUSTOM_TAGOPS
/**
* Define this to enable support for the ISO180006B protocol parameters
* and access commands
*/
#undef TMR_ENABLE_ISO180006B
/**
* Define this to enable support for small microcontrollers.
* Enabling this option will reduce the code which is not relevant to
* serial readers in order to minimize the program footprint
* To compile for Serial Reader only.
*
* To compile for Serial Reader only, use one of the following options:
** Uncomment the following define
** Run make with TMR_ENABLE_SERIAL_READER_ONLY=1 defined
** Add -DTMR_ENABLE_SERIAL_READER_ONLY=1 to your compiler flags
*/
#define TMR_ENABLE_SERIAL_READER_ONLY
/**
* Define this to enable support for background reads using native threads.
* This feature is also available for windows (using pthreads-win32)
*/
#undef TMR_ENABLE_BACKGROUND_READS
/**
* Define this to include TMR_strerror().
*/
#undef TMR_ENABLE_ERROR_STRINGS
/**
* Define this to include TMR_paramName() and TMR_paramID().
*/
#undef TMR_ENABLE_PARAM_STRINGS
/**
* Enabling this option will enable the support for the parameters defined
* in stdio.h header file like FILE *. This check is required as stdio.h does not
* exist in some of the embedded architectures.
*/
#undef TMR_ENABLE_STDIO
/**
* Enabling this option will enable the support for the parameters defined
* in string.h header file like strerror(). This check is required as string.h does not
* exist in some of the embedded architectures.
*/
#undef TMR_USE_STRERROR
#endif /*Bare_metal*/
/**
* Define the largest number serial reader antenna ports that will be supported
*/
#define TMR_SR_MAX_ANTENNA_PORTS (32)
/**
* Define when compiling on a big-endian host platform to enable some
* endian optimizations. Without this, no endianness will be assumed.
*/
#undef TMR_BIG_ENDIAN_HOST
/**
* Define this to enable API-side tag read deduplication. Under
* certain conditions, the module runs out of buffer space to detect
* reads of a previously-seen EPC.
*/
#define TMR_ENABLE_API_SIDE_DEDUPLICATION
/**
* Default read filter timeout.
*/
#define TMR_DEFAULT_READ_FILTER_TIMEOUT -1
/**
* The max length of the custom transport scheme name
*/
#define TMR_MAX_TRANSPORT_SCHEME_NAME 50
#ifdef __cplusplus
}
#endif
#endif /* _TM_CONFIG_H */