# Read plans

## Classes

struct | TMR_StopOnTagCount
struct | TMR_GPITriggerRead
struct | TMR_SimpleReadPlan
struct | TMR_MultiReadPlan
struct | TMR_ReadPlan

## Typedefs

typedef enum TMR_ReadPlanType | TMR_ReadPlanType

## Enumerations

enum | TMR_ReadPlanType { , TMR_READ_PLAN_TYPE_SIMPLE, TMR_READ_PLAN_TYPE_MULTI }

## Functions

TMR_Status | TMR_RP_init_simple (TMR_ReadPlan *plan, uint8_t antennaCount, uint8_t *antennaList, TMR_TagProtocol protocol, uint32_t weight)
TMR_Status | TMR_RP_init_multi (TMR_ReadPlan *plan, TMR_ReadPlan **plans, uint8_t planCount, uint32_t weight)
TMR_Status | TMR_GPITR_init_enable (TMR_GPITriggerRead *triggerRead, bool enable)
TMR_Status | TMR_RP_set_filter (TMR_ReadPlan *plan, TMR_TagFilter *filter)
TMR_Status | TMR_RP_set_tagop (TMR_ReadPlan *plan, TMR_TagOp *tagop)
TMR_Status | TMR_RP_set_enableTriggerRead (TMR_ReadPlan *plan, TMR_GPITriggerRead *triggerRead)
TMR_Status | TMR_RP_set_useFastSearch (TMR_ReadPlan *plan, bool useFastSearch)
TMR_Status | TMR_RP_set_stopTrigger (TMR_ReadPlan *plan, uint32_t count)
TMR_Status | TMR_RP_set_enableAutonomousRead (TMR_ReadPlan *plan, bool autonomousRead)

## Detailed Description

A read plan specifies the antennas, protocols, and filters to use for a search (read). Each ReadPlan structure has a numeric weight that controls what fraction of a search is used by that plan when combined in a MultiReadPlan (see below). Read plans are specified for the reader in the `/reader/read/plan` parameter.

## Typedef Documentation

typedef enum TMR_ReadPlanType TMR_ReadPlanType

The type of a read plan

## Enumeration Type Documentation

enum TMR_ReadPlanType

The type of a read plan

Enumerator:

  TMR_READ_PLAN_TYPE_SIMPLE | Simple read plan - one protocol, a set of antennas, an optional tag filter, and an optional tag operation.
  TMR_READ_PLAN_TYPE_MULTI | Multi-read plan - a list of read plans (simple or multi).

## Function Documentation

TMR_Status TMR_GPITR_init_enable | ( | TMR_GPITriggerRead * | triggerRead,
|  | bool | enable |
| ) |  |  |

Initialize a TMR_GPITriggerRead structure with default values.

Parameters:

  | triggerRead | Pointer to the read plan to initialize.
  | enable | Option to enable trigger read.

TMR_Status TMR_RP_init_multi | ( | TMR_ReadPlan * | plan,
|  | TMR_ReadPlan ** | plans,
|  | uint8_t | planCount,
|  | uint32_t | weight |
| ) |  |  |

Initialize a TMR_ReadPlan structure as a multi-read plan with the provided parameters.

Parameters:

  | plan | Pointer to the read plan to initialize.
  | plans | Array of pointers to read plans to include
  | planCount | Number of elements in array
  | weight | Weight.

TMR_Status TMR_RP_init_simple | ( | TMR_ReadPlan * | plan,
|  | uint8_t | antennaCount,
|  | uint8_t * | antennaList,
|  | TMR_TagProtocol | protocol,
|  | uint32_t | weight |
| ) |  |  |

Initialize a TMR_ReadPlan structure as a simple read plan with the provided parameters.

Only the mandatory elements are parameters to this function. The optional elements, filters and tag operations, can be set with TMR_RP_set_filter() and TMR_RP_set_tagop().

Parameters:

  | plan | Pointer to the read plan to initialize.
  | antennaCount | Number of antennas in antenna list. A zero-length list requests the reader to use all antennas known to be connected at the time of the read operation.
  | antennaList | Pointer to antenna numbers.
  | protocol | Protocol
  | weight | Weight.

TMR_Status TMR_RP_set_enableAutonomousRead | ( | TMR_ReadPlan * | plan,
|  | bool | autonomousRead |
| ) |  |  |

Set the autonomous read option of a read plan

Parameters:

  | plan | Pointer to the read plan
  | autonomousRead | Option for autonomous read.

TMR_Status TMR_RP_set_enableTriggerRead | ( | TMR_ReadPlan * | plan,
|  | TMR_GPITriggerRead * | triggerRead |
| ) |  |  |

Set the trigger read option of a read plan

Parameters:

  | plan | Pointer to the read plan
  | triggerRead | Pointer for trigger read

TMR_Status TMR_RP_set_filter | ( | TMR_ReadPlan * | plan,
|  | TMR_TagFilter * | filter |
| ) |  |  |

Set the filter of a simple read plan.

Parameters:

  | plan | Pointer to the read plan
  | filter | Pointer to the filter

TMR_Status TMR_RP_set_stopTrigger | ( | TMR_ReadPlan * | plan,
|  | uint32_t | nCount |
| ) |  |  |

Set the stop on N tags option of a read plan

Parameters:

  | plan | Pointer to the read plan
  | nCount | the number of tags user requested to search.

TMR_Status TMR_RP_set_tagop | ( | TMR_ReadPlan * | plan,
|  | TMR_TagOp * | tagop |
| ) |  |  |

Set the tagop of a simple read plan.

Parameters:

  | plan | Pointer to the read plan
  | tagop | Pointer to the tagop

TMR_Status TMR_RP_set_useFastSearch | ( | TMR_ReadPlan * | plan,
|  | bool | useFastSearch |
| ) |  |  |

Set the fast search option of a read plan

Parameters:

  | plan | Pointer to the read plan
  | useFastSearch | Option for FastSearch