#include <impinj_ltkcpp.h>
Public Member Functions | |
EImpinjLowDutyCycleMode | getLowDutyCycleMode (void) |
Get accessor functions for the LLRP LowDutyCycleMode field. | |
void | setLowDutyCycleMode (EImpinjLowDutyCycleMode value) |
Set accessor functions for the LLRP LowDutyCycleMode field. | |
llrp_u16_t | getEmptyFieldTimeout (void) |
Get accessor functions for the LLRP EmptyFieldTimeout field. | |
void | setEmptyFieldTimeout (llrp_u16_t value) |
Set accessor functions for the LLRP EmptyFieldTimeout field. | |
llrp_u16_t | getFieldPingInterval (void) |
Get accessor functions for the LLRP FieldPingInterval field. | |
void | setFieldPingInterval (llrp_u16_t value) |
Set accessor functions for the LLRP FieldPingInterval field. | |
std::list< CParameter * >::iterator | beginCustom (void) |
Returns the first element of the Custom sub-parameter list. | |
std::list< CParameter * >::iterator | endCustom (void) |
Returns the last element of the Custom sub-parameter list. | |
void | clearCustom (void) |
Clears the LLRP Custom sub-parameter list. | |
int | countCustom (void) |
Count of the LLRP Custom sub-parameter list. | |
EResultCode | addCustom (CParameter *pValue) |
Add a Custom to the LLRP sub-parameter list. | |
Static Public Attributes | |
Internal Framework Functions | |
static const CFieldDescriptor | s_fdLowDutyCycleMode |
Internal Framework Functions | |
static const CFieldDescriptor | s_fdEmptyFieldTimeout |
Internal Framework Functions | |
static const CFieldDescriptor | s_fdFieldPingInterval |
Protected Attributes | |
EImpinjLowDutyCycleMode | m_eLowDutyCycleMode |
llrp_u16_t | m_EmptyFieldTimeout |
llrp_u16_t | m_FieldPingInterval |
std::list< CParameter * > | m_listCustom |
Internal Framework Functions | |
static const CFieldDescriptor *const | s_apFieldDescriptorTable [] |
static const CTypeDescriptor | s_typeDescriptor |
void | decodeFields (CDecoderStream *pDecoderStream) |
Virtual function provided by each specific element type to decode fields (simple values). Leaves pDecoderStream at first subparameter. | |
void | assimilateSubParameters (CErrorDetails *pError) |
Assimilates the decoded sub-parameters into m_listAllSubParameters. | |
void | encode (CEncoderStream *pEncoderStream) const |
Encode fields and subparameters. | |
llrp_bool_t | isAllowedIn (const CTypeDescriptor *pEnclosingElementType) const |
Validate whether the element is allowed as a base type in the enclosing element. | |
static CElement * | s_construct (void) |
static void | s_decodeFields (CDecoderStream *pDecoderStream, CElement *pElement) |
This custom parameter provides additional control of the RF duty cycle of the Reader beyond that provided by the TagTransitTime field in the LLRP C1G2SingulationControl parameter. During inventory, if the Reader detects zero tags on all enabled antennas in the AISpec, EmptyFieldTimeout specifies in milliseconds the time the Reader will wait before entering low duty cycle mode. In this low duty cycle mode, the Reader will revisit each enabled antenna in the AISpec every FieldPingInterval milliseconds, checking for tags. When a tag is detected, full duty cycle will resume. The Reader will exit low duty cycle mode at the start of each AISpec and restart its EmptyFieldTimeout timer.
As an example, assume EmptyFieldTimeout is set to 500 ms and FieldPingInterval is set to 200 ms for each of the enabled antennas in an AISpec, and four antennas are enabled. Once the Reader detects zero tags on each of the four antennas, the EmptyFieldTimeout timer starts while the Reader continues to search the FOV for tags. If the Reader detects tags, the timer stops. If the Reader detects zero tags for 500 ms, a timeout occurs and the Reader enters low duty cycle mode. During this mode, the Reader will visit each of the four enabled antennas once in the FieldPingInterval of 200 ms. Therefore, the Reader will switch on the transmitter briefly every 50 ms to check for tags in the FOV of one of the enabled antennas.
Copyright 2007, 2008 Impinj Inc.
Definition at line 3641 of file impinj_ltkcpp.h.
void LLRP::CImpinjLowDutyCycle::assimilateSubParameters | ( | CErrorDetails * | pError | ) | [virtual] |
Assimilates the decoded sub-parameters into m_listAllSubParameters.
After fields are decoded, the CDecoder itself takes care of gathering the subparameters into m_listAllSubParameters. Once the end of the enclosing TLV (or message) is reached this assimilateSubParameters() function is called to create parameter refrences from the primary member variables.
[out] | pError | Error details for encoded stream |
Implements LLRP::CElement.
void LLRP::CImpinjLowDutyCycle::decodeFields | ( | CDecoderStream * | pDecoderStream | ) | [virtual] |
Virtual function provided by each specific element type to decode fields (simple values). Leaves pDecoderStream at first subparameter.
[in] | pDecoderStream | The stream from which to decode fields |
Implements LLRP::CElement.
void LLRP::CImpinjLowDutyCycle::encode | ( | CEncoderStream * | pEncoderStream | ) | const [virtual] |
Encode fields and subparameters.
[in] | pEncoderStream | Stream to encode |
Implements LLRP::CElement.
llrp_bool_t LLRP::CImpinjLowDutyCycle::isAllowedIn | ( | const CTypeDescriptor * | pEnclosingTypeDescriptor | ) | const [virtual] |
Validate whether the element is allowed as a base type in the enclosing element.
[in] | pEnclosingTypeDescriptor | A pointer to the enclosing type |
FALSE if the element is not allowed to be encoded within the EnclosingElement
Reimplemented from LLRP::CParameter.