package llrp
import "github.com/edgexfoundry/device-rfid-llrp-go/internal/llrp"
Package llrp implements the Low Level Reader Protocol (LLRP) to communicate with compliant RFID Readers.
This package focuses on Client-side communication, and handles the protocol minutia like Keep-Alive acknowledgements while providing types to facilitate handling messages you care about.
A typical use of this package focuses on the Client connection: - Create a new Client with connection details and message handlers. - Establish and maintain an LLRP connection with an RFID device. - Send and receive LLRP messages. - At some point, gracefully close the connection.
The package provides methods that parse and validate LLRP message to translate them among binary, Go types, and JSON.
Note that names in LLRP are often verbose and sometimes overloaded. These names have been judiciously translated when appropriate to better match Go idioms and standards.
------------------------------------------
An LLRP message consists of a header identifying its type and size, followed by 0 or more data fields. Some of these fields have a fixed size and offset (relative the header), but others are optional and/or variable length, so they start with a parameter header to identify their type and (usually) size. In some cases, a parameter's header only identifies its type, in which case its size must be determined by a lookup table.
Most LLRP Parameters are TLVs. Their headers are 4 bytes: 6 reserved bits (zero), a 10 bit type, and 16 bit of length (incl. header). The type field of a TLV is specified as 128-2047, though it's not clear how types 1024-2047 fit in 10 bits. TV parameters can (in theory) be as short as 1 byte. The MSBit is always 1, then the next 7 are the type: 1-127 (so in a certain sense, they range 128-255).
Most parameter types are represented by Go structs, with their LLRP fields and parameters given as struct fields. As a special case, if the struct would consist of a single numeric field, then its type is defined as "type <paramName> <backing type>".
Most fields are represented by an int/uint of the appropriate storage size, or as an enumeration, flag, or type alias backed such. Variable length fields are represented by slices of the above, with the following exceptions:
- LLRP strings are represented by Go strings; the bytes are taken as-is and not validated for UTF-8 correctness.
- In Custom params/messages, all non-header bytes are stored as "Data []byte".
- Bit arrays keep a "<name>NumBits uint16" for their bit length and store the bit data in a "<name> []byte" field with the same MSB offset and octet padding as the original message value.
Optional parameters are represented by pointer values and are left nil if not present during unmarshaling. Repeatable parameters are represented by slices, which may be nil if no parameter of the given type is present. Required, non-repeatable parameters are regular struct fields.
Index ¶
- Constants
- Variables
- type AISpec
- func (p *AISpec) EncodeFields(w io.Writer) error
- func (p *AISpec) MarshalBinary() ([]byte, error)
- func (p *AISpec) UnmarshalBinary(data []byte) error
- type AISpecEvent
- func (p *AISpecEvent) EncodeFields(w io.Writer) error
- func (p *AISpecEvent) MarshalBinary() ([]byte, error)
- func (p *AISpecEvent) UnmarshalBinary(data []byte) error
- type AISpecEventType
- type AISpecStopTrigger
- func (p *AISpecStopTrigger) EncodeFields(w io.Writer) error
- func (p *AISpecStopTrigger) MarshalBinary() ([]byte, error)
- func (p *AISpecStopTrigger) UnmarshalBinary(data []byte) error
- type AISpecStopTriggerType
- type AccessCommand
- func (p *AccessCommand) EncodeFields(w io.Writer) error
- func (p *AccessCommand) MarshalBinary() ([]byte, error)
- func (p *AccessCommand) UnmarshalBinary(data []byte) error
- type AccessReportSpec
- func (p *AccessReportSpec) EncodeFields(w io.Writer) error
- func (p *AccessReportSpec) MarshalBinary() ([]byte, error)
- func (p *AccessReportSpec) UnmarshalBinary(data []byte) error
- type AccessReportTriggerType
- type AccessSpec
- func (p *AccessSpec) EncodeFields(w io.Writer) error
- func (p *AccessSpec) MarshalBinary() ([]byte, error)
- func (p *AccessSpec) UnmarshalBinary(data []byte) error
- type AccessSpecID
- func (p *AccessSpecID) EncodeFields(w io.Writer) error
- func (p *AccessSpecID) MarshalBinary() ([]byte, error)
- func (p *AccessSpecID) UnmarshalBinary(data []byte) error
- type AccessSpecStopTrigger
- func (p *AccessSpecStopTrigger) EncodeFields(w io.Writer) error
- func (p *AccessSpecStopTrigger) MarshalBinary() ([]byte, error)
- func (p *AccessSpecStopTrigger) UnmarshalBinary(data []byte) error
- type AccessSpecStopTriggerType
- type AddAccessSpec
- func (m *AddAccessSpec) EncodeFields(w io.Writer) error
- func (m *AddAccessSpec) MarshalBinary() ([]byte, error)
- func (*AddAccessSpec) Type() MessageType
- func (m *AddAccessSpec) UnmarshalBinary(data []byte) error
- type AddAccessSpecResponse
- func (m *AddAccessSpecResponse) EncodeFields(w io.Writer) error
- func (m *AddAccessSpecResponse) MarshalBinary() ([]byte, error)
- func (m *AddAccessSpecResponse) Status() LLRPStatus
- func (*AddAccessSpecResponse) Type() MessageType
- func (m *AddAccessSpecResponse) UnmarshalBinary(data []byte) error
- type AddROSpec
- func (m *AddROSpec) EncodeFields(w io.Writer) error
- func (m *AddROSpec) MarshalBinary() ([]byte, error)
- func (*AddROSpec) Type() MessageType
- func (m *AddROSpec) UnmarshalBinary(data []byte) error
- type AddROSpecResponse
- func (m *AddROSpecResponse) EncodeFields(w io.Writer) error
- func (m *AddROSpecResponse) MarshalBinary() ([]byte, error)
- func (m *AddROSpecResponse) Status() LLRPStatus
- func (*AddROSpecResponse) Type() MessageType
- func (m *AddROSpecResponse) UnmarshalBinary(data []byte) error
- type AirProtocolIDType
- type AntennaConfiguration
- func (p *AntennaConfiguration) EncodeFields(w io.Writer) error
- func (p *AntennaConfiguration) MarshalBinary() ([]byte, error)
- func (p *AntennaConfiguration) UnmarshalBinary(data []byte) error
- type AntennaEvent
- func (p *AntennaEvent) EncodeFields(w io.Writer) error
- func (p *AntennaEvent) MarshalBinary() ([]byte, error)
- func (p *AntennaEvent) UnmarshalBinary(data []byte) error
- type AntennaEventType
- type AntennaID
- func (p *AntennaID) EncodeFields(w io.Writer) error
- func (p *AntennaID) MarshalBinary() ([]byte, error)
- func (p *AntennaID) UnmarshalBinary(data []byte) error
- type AntennaProperties
- func (p *AntennaProperties) EncodeFields(w io.Writer) error
- func (p *AntennaProperties) MarshalBinary() ([]byte, error)
- func (p *AntennaProperties) UnmarshalBinary(data []byte) error
- type BackscatterMod
- type BitsPerSec
- type C1G2BlockErase
- func (p *C1G2BlockErase) EncodeFields(w io.Writer) error
- func (p *C1G2BlockErase) MarshalBinary() ([]byte, error)
- func (p *C1G2BlockErase) UnmarshalBinary(data []byte) error
- type C1G2BlockEraseOpSpecResult
- func (p *C1G2BlockEraseOpSpecResult) EncodeFields(w io.Writer) error
- func (p *C1G2BlockEraseOpSpecResult) MarshalBinary() ([]byte, error)
- func (p *C1G2BlockEraseOpSpecResult) UnmarshalBinary(data []byte) error
- type C1G2BlockEraseResultType
- type C1G2BlockPermalock
- func (p *C1G2BlockPermalock) EncodeFields(w io.Writer) error
- func (p *C1G2BlockPermalock) MarshalBinary() ([]byte, error)
- func (p *C1G2BlockPermalock) UnmarshalBinary(data []byte) error
- type C1G2BlockPermalockOpSpecResult
- func (p *C1G2BlockPermalockOpSpecResult) EncodeFields(w io.Writer) error
- func (p *C1G2BlockPermalockOpSpecResult) MarshalBinary() ([]byte, error)
- func (p *C1G2BlockPermalockOpSpecResult) UnmarshalBinary(data []byte) error
- type C1G2BlockPermalockResultType
- type C1G2BlockWrite
- func (p *C1G2BlockWrite) EncodeFields(w io.Writer) error
- func (p *C1G2BlockWrite) MarshalBinary() ([]byte, error)
- func (p *C1G2BlockWrite) UnmarshalBinary(data []byte) error
- type C1G2BlockWriteOpSpecResult
- func (p *C1G2BlockWriteOpSpecResult) EncodeFields(w io.Writer) error
- func (p *C1G2BlockWriteOpSpecResult) MarshalBinary() ([]byte, error)
- func (p *C1G2BlockWriteOpSpecResult) UnmarshalBinary(data []byte) error
- type C1G2BlockWriteResultType
- type C1G2CRC
- func (p *C1G2CRC) EncodeFields(w io.Writer) error
- func (p *C1G2CRC) MarshalBinary() ([]byte, error)
- func (p *C1G2CRC) UnmarshalBinary(data []byte) error
- type C1G2EPCMemorySelector
- func (p *C1G2EPCMemorySelector) EncodeFields(w io.Writer) error
- func (p *C1G2EPCMemorySelector) MarshalBinary() ([]byte, error)
- func (p *C1G2EPCMemorySelector) UnmarshalBinary(data []byte) error
- type C1G2Filter
- func (p *C1G2Filter) EncodeFields(w io.Writer) error
- func (p *C1G2Filter) MarshalBinary() ([]byte, error)
- func (p *C1G2Filter) UnmarshalBinary(data []byte) error
- type C1G2FilterTruncateActionType
- type C1G2GetBlockPermalockStatus
- func (p *C1G2GetBlockPermalockStatus) EncodeFields(w io.Writer) error
- func (p *C1G2GetBlockPermalockStatus) MarshalBinary() ([]byte, error)
- func (p *C1G2GetBlockPermalockStatus) UnmarshalBinary(data []byte) error
- type C1G2GetBlockPermalockStatusOpSpecResult
- func (p *C1G2GetBlockPermalockStatusOpSpecResult) EncodeFields(w io.Writer) error
- func (p *C1G2GetBlockPermalockStatusOpSpecResult) MarshalBinary() ([]byte, error)
- func (p *C1G2GetBlockPermalockStatusOpSpecResult) UnmarshalBinary(data []byte) error
- type C1G2GetBlockPermalockStatusResultType
- type C1G2InventoryCommand
- func (p *C1G2InventoryCommand) EncodeFields(w io.Writer) error
- func (p *C1G2InventoryCommand) MarshalBinary() ([]byte, error)
- func (p *C1G2InventoryCommand) UnmarshalBinary(data []byte) error
- type C1G2Kill
- func (p *C1G2Kill) EncodeFields(w io.Writer) error
- func (p *C1G2Kill) MarshalBinary() ([]byte, error)
- func (p *C1G2Kill) UnmarshalBinary(data []byte) error
- type C1G2KillOpSpecResult
- func (p *C1G2KillOpSpecResult) EncodeFields(w io.Writer) error
- func (p *C1G2KillOpSpecResult) MarshalBinary() ([]byte, error)
- func (p *C1G2KillOpSpecResult) UnmarshalBinary(data []byte) error
- type C1G2KillResultType
- type C1G2LLRPCapabilities
- func (p *C1G2LLRPCapabilities) EncodeFields(w io.Writer) error
- func (p *C1G2LLRPCapabilities) MarshalBinary() ([]byte, error)
- func (p *C1G2LLRPCapabilities) UnmarshalBinary(data []byte) error
- type C1G2Lock
- func (p *C1G2Lock) EncodeFields(w io.Writer) error
- func (p *C1G2Lock) MarshalBinary() ([]byte, error)
- func (p *C1G2Lock) UnmarshalBinary(data []byte) error
- type C1G2LockOpSpecResult
- func (p *C1G2LockOpSpecResult) EncodeFields(w io.Writer) error
- func (p *C1G2LockOpSpecResult) MarshalBinary() ([]byte, error)
- func (p *C1G2LockOpSpecResult) UnmarshalBinary(data []byte) error
- type C1G2LockPayload
- func (p *C1G2LockPayload) EncodeFields(w io.Writer) error
- func (p *C1G2LockPayload) MarshalBinary() ([]byte, error)
- func (p *C1G2LockPayload) UnmarshalBinary(data []byte) error
- type C1G2LockResultType
- type C1G2MemoryBankType
- type C1G2PC
- func (p *C1G2PC) EncodeFields(w io.Writer) error
- func (p *C1G2PC) MarshalBinary() ([]byte, error)
- func (p *C1G2PC) UnmarshalBinary(data []byte) error
- type C1G2ProtoConEPCMemLength
- type C1G2RFControl
- func (p *C1G2RFControl) EncodeFields(w io.Writer) error
- func (p *C1G2RFControl) MarshalBinary() ([]byte, error)
- func (p *C1G2RFControl) UnmarshalBinary(data []byte) error
- type C1G2Read
- func (p *C1G2Read) EncodeFields(w io.Writer) error
- func (p *C1G2Read) MarshalBinary() ([]byte, error)
- func (p *C1G2Read) UnmarshalBinary(data []byte) error
- type C1G2ReadOpSpecResult
- func (p *C1G2ReadOpSpecResult) EncodeFields(w io.Writer) error
- func (p *C1G2ReadOpSpecResult) MarshalBinary() ([]byte, error)
- func (p *C1G2ReadOpSpecResult) UnmarshalBinary(data []byte) error
- type C1G2ReadOpSpecResultType
- type C1G2Recommission
- func (p *C1G2Recommission) EncodeFields(w io.Writer) error
- func (p *C1G2Recommission) MarshalBinary() ([]byte, error)
- func (p *C1G2Recommission) UnmarshalBinary(data []byte) error
- type C1G2RecommissionFlags
- type C1G2RecommissionOpSpecResult
- func (p *C1G2RecommissionOpSpecResult) EncodeFields(w io.Writer) error
- func (p *C1G2RecommissionOpSpecResult) MarshalBinary() ([]byte, error)
- func (p *C1G2RecommissionOpSpecResult) UnmarshalBinary(data []byte) error
- type C1G2RecommissionResultType
- type C1G2SingulationControl
- func (p *C1G2SingulationControl) EncodeFields(w io.Writer) error
- func (p *C1G2SingulationControl) MarshalBinary() ([]byte, error)
- func (p *C1G2SingulationControl) UnmarshalBinary(data []byte) error
- type C1G2SingulationDetails
- func (p *C1G2SingulationDetails) EncodeFields(w io.Writer) error
- func (p *C1G2SingulationDetails) MarshalBinary() ([]byte, error)
- func (p *C1G2SingulationDetails) UnmarshalBinary(data []byte) error
- type C1G2SingulationSession
- type C1G2TagInventoryMask
- func (p *C1G2TagInventoryMask) EncodeFields(w io.Writer) error
- func (p *C1G2TagInventoryMask) MarshalBinary() ([]byte, error)
- func (p *C1G2TagInventoryMask) UnmarshalBinary(data []byte) error
- type C1G2TagInventoryStateAwareFilterAction
- func (p *C1G2TagInventoryStateAwareFilterAction) EncodeFields(w io.Writer) error
- func (p *C1G2TagInventoryStateAwareFilterAction) MarshalBinary() ([]byte, error)
- func (p *C1G2TagInventoryStateAwareFilterAction) UnmarshalBinary(data []byte) error
- type C1G2TagInventoryStateAwareFilterActionType
- type C1G2TagInventoryStateAwareSingulationAction
- func (p *C1G2TagInventoryStateAwareSingulationAction) EncodeFields(w io.Writer) error
- func (p *C1G2TagInventoryStateAwareSingulationAction) MarshalBinary() ([]byte, error)
- func (p *C1G2TagInventoryStateAwareSingulationAction) UnmarshalBinary(data []byte) error
- type C1G2TagInventoryStateUnawareFilterAction
- func (p *C1G2TagInventoryStateUnawareFilterAction) EncodeFields(w io.Writer) error
- func (p *C1G2TagInventoryStateUnawareFilterAction) MarshalBinary() ([]byte, error)
- func (p *C1G2TagInventoryStateUnawareFilterAction) UnmarshalBinary(data []byte) error
- type C1G2TagInventoryStateUnawareFilterActionType
- type C1G2TagInventoryTargetType
- type C1G2TagSpec
- func (p *C1G2TagSpec) EncodeFields(w io.Writer) error
- func (p *C1G2TagSpec) MarshalBinary() ([]byte, error)
- func (p *C1G2TagSpec) UnmarshalBinary(data []byte) error
- type C1G2TargetTag
- func (p *C1G2TargetTag) EncodeFields(w io.Writer) error
- func (p *C1G2TargetTag) MarshalBinary() ([]byte, error)
- func (p *C1G2TargetTag) UnmarshalBinary(data []byte) error
- type C1G2Write
- func (p *C1G2Write) EncodeFields(w io.Writer) error
- func (p *C1G2Write) MarshalBinary() ([]byte, error)
- func (p *C1G2Write) UnmarshalBinary(data []byte) error
- type C1G2WriteOpSpecResult
- func (p *C1G2WriteOpSpecResult) EncodeFields(w io.Writer) error
- func (p *C1G2WriteOpSpecResult) MarshalBinary() ([]byte, error)
- func (p *C1G2WriteOpSpecResult) UnmarshalBinary(data []byte) error
- type C1G2WriteOpSpecResultType
- type C1G2XPCW1
- func (p *C1G2XPCW1) EncodeFields(w io.Writer) error
- func (p *C1G2XPCW1) MarshalBinary() ([]byte, error)
- func (p *C1G2XPCW1) UnmarshalBinary(data []byte) error
- type C1G2XPCW2
- func (p *C1G2XPCW2) EncodeFields(w io.Writer) error
- func (p *C1G2XPCW2) MarshalBinary() ([]byte, error)
- func (p *C1G2XPCW2) UnmarshalBinary(data []byte) error
- type ChannelIndex
- func (p *ChannelIndex) EncodeFields(w io.Writer) error
- func (p *ChannelIndex) MarshalBinary() ([]byte, error)
- func (p *ChannelIndex) UnmarshalBinary(data []byte) error
- type Client
- func GetFunctionalClient(t *testing.T, readerAddr string) (r *Client)
- func NewClient(opts ...ClientOpt) *Client
- func (c *Client) Close() error
- func (c *Client) Connect(conn net.Conn) error
- func (c *Client) SendFor(ctx context.Context, out Outgoing, in Incoming) error
- func (c *Client) SendMessage(ctx context.Context, typ MessageType, data []byte) (MessageType, []byte, error)
- func (c *Client) SendNoWait(ctx context.Context, m Message) error
- func (c *Client) Shutdown(ctx context.Context) error
- type ClientLogger
- type ClientOpt
- func WithDefaultHandler(handler MessageHandler) ClientOpt
- func WithLogger(l ClientLogger) ClientOpt
- func WithMessageHandler(mt MessageType, handler MessageHandler) ClientOpt
- func WithStdLogger(prefix string) ClientOpt
- func WithTimeout(d time.Duration) ClientOpt
- func WithVersion(v VersionNum) ClientOpt
- type ClientRequestOp
- func (m *ClientRequestOp) EncodeFields(w io.Writer) error
- func (m *ClientRequestOp) MarshalBinary() ([]byte, error)
- func (*ClientRequestOp) Type() MessageType
- func (m *ClientRequestOp) UnmarshalBinary(data []byte) error
- type ClientRequestOpResponse
- func (m *ClientRequestOpResponse) EncodeFields(w io.Writer) error
- func (m *ClientRequestOpResponse) MarshalBinary() ([]byte, error)
- func (*ClientRequestOpResponse) Type() MessageType
- func (m *ClientRequestOpResponse) UnmarshalBinary(data []byte) error
- type ClientRequestOpSpec
- func (p *ClientRequestOpSpec) EncodeFields(w io.Writer) error
- func (p *ClientRequestOpSpec) MarshalBinary() ([]byte, error)
- func (p *ClientRequestOpSpec) UnmarshalBinary(data []byte) error
- type ClientRequestOpSpecResult
- func (p *ClientRequestOpSpecResult) EncodeFields(w io.Writer) error
- func (p *ClientRequestOpSpecResult) MarshalBinary() ([]byte, error)
- func (p *ClientRequestOpSpecResult) UnmarshalBinary(data []byte) error
- type ClientRequestResponse
- func (p *ClientRequestResponse) EncodeFields(w io.Writer) error
- func (p *ClientRequestResponse) MarshalBinary() ([]byte, error)
- func (p *ClientRequestResponse) UnmarshalBinary(data []byte) error
- type CloseConnection
- func (m *CloseConnection) EncodeFields(w io.Writer) error
- func (m *CloseConnection) MarshalBinary() ([]byte, error)
- func (*CloseConnection) Type() MessageType
- func (m *CloseConnection) UnmarshalBinary(data []byte) error
- type CloseConnectionResponse
- func (m *CloseConnectionResponse) EncodeFields(w io.Writer) error
- func (m *CloseConnectionResponse) MarshalBinary() ([]byte, error)
- func (m *CloseConnectionResponse) Status() LLRPStatus
- func (*CloseConnectionResponse) Type() MessageType
- func (m *CloseConnectionResponse) UnmarshalBinary(data []byte) error
- type CommStandardType
- type ConnectionAttemptEvent
- func (p *ConnectionAttemptEvent) EncodeFields(w io.Writer) error
- func (p *ConnectionAttemptEvent) MarshalBinary() ([]byte, error)
- func (p *ConnectionAttemptEvent) UnmarshalBinary(data []byte) error
- type ConnectionAttemptEventType
- type ConnectionCloseEvent
- func (p *ConnectionCloseEvent) EncodeFields(w io.Writer) error
- func (p *ConnectionCloseEvent) MarshalBinary() ([]byte, error)
- func (p *ConnectionCloseEvent) UnmarshalBinary(data []byte) error
- type CountryCodeType
- type Custom
- func (p *Custom) EncodeFields(w io.Writer) error
- func (p *Custom) MarshalBinary() ([]byte, error)
- func (p *Custom) UnmarshalBinary(data []byte) error
- type CustomMessage
- func (m *CustomMessage) EncodeFields(w io.Writer) error
- func (m *CustomMessage) MarshalBinary() ([]byte, error)
- func (*CustomMessage) Type() MessageType
- func (m *CustomMessage) UnmarshalBinary(data []byte) error
- type Decibel
- type DecibelMilliwatt16
- type DecibelMilliwatt8
- type DeleteAccessSpec
- func (m *DeleteAccessSpec) EncodeFields(w io.Writer) error
- func (m *DeleteAccessSpec) MarshalBinary() ([]byte, error)
- func (*DeleteAccessSpec) Type() MessageType
- func (m *DeleteAccessSpec) UnmarshalBinary(data []byte) error
- type DeleteAccessSpecResponse
- func (m *DeleteAccessSpecResponse) EncodeFields(w io.Writer) error
- func (m *DeleteAccessSpecResponse) MarshalBinary() ([]byte, error)
- func (m *DeleteAccessSpecResponse) Status() LLRPStatus
- func (*DeleteAccessSpecResponse) Type() MessageType
- func (m *DeleteAccessSpecResponse) UnmarshalBinary(data []byte) error
- type DeleteROSpec
- func (m *DeleteROSpec) EncodeFields(w io.Writer) error
- func (m *DeleteROSpec) MarshalBinary() ([]byte, error)
- func (*DeleteROSpec) Type() MessageType
- func (m *DeleteROSpec) UnmarshalBinary(data []byte) error
- type DeleteROSpecResponse
- func (m *DeleteROSpecResponse) EncodeFields(w io.Writer) error
- func (m *DeleteROSpecResponse) MarshalBinary() ([]byte, error)
- func (m *DeleteROSpecResponse) Status() LLRPStatus
- func (*DeleteROSpecResponse) Type() MessageType
- func (m *DeleteROSpecResponse) UnmarshalBinary(data []byte) error
- type DisableAccessSpec
- func (m *DisableAccessSpec) EncodeFields(w io.Writer) error
- func (m *DisableAccessSpec) MarshalBinary() ([]byte, error)
- func (*DisableAccessSpec) Type() MessageType
- func (m *DisableAccessSpec) UnmarshalBinary(data []byte) error
- type DisableAccessSpecResponse
- func (m *DisableAccessSpecResponse) EncodeFields(w io.Writer) error
- func (m *DisableAccessSpecResponse) MarshalBinary() ([]byte, error)
- func (m *DisableAccessSpecResponse) Status() LLRPStatus
- func (*DisableAccessSpecResponse) Type() MessageType
- func (m *DisableAccessSpecResponse) UnmarshalBinary(data []byte) error
- type DisableROSpec
- func (m *DisableROSpec) EncodeFields(w io.Writer) error
- func (m *DisableROSpec) MarshalBinary() ([]byte, error)
- func (*DisableROSpec) Type() MessageType
- func (m *DisableROSpec) UnmarshalBinary(data []byte) error
- type DisableROSpecResponse
- func (m *DisableROSpecResponse) EncodeFields(w io.Writer) error
- func (m *DisableROSpecResponse) MarshalBinary() ([]byte, error)
- func (m *DisableROSpecResponse) Status() LLRPStatus
- func (*DisableROSpecResponse) Type() MessageType
- func (m *DisableROSpecResponse) UnmarshalBinary(data []byte) error
- type DivideRatio
- type EPC96
- func (p *EPC96) EncodeFields(w io.Writer) error
- func (p *EPC96) MarshalBinary() ([]byte, error)
- func (p *EPC96) UnmarshalBinary(data []byte) error
- type EPCData
- func (p *EPCData) EncodeFields(w io.Writer) error
- func (p *EPCData) MarshalBinary() ([]byte, error)
- func (p *EPCData) UnmarshalBinary(data []byte) error
- type EnableAccessSpec
- func (m *EnableAccessSpec) EncodeFields(w io.Writer) error
- func (m *EnableAccessSpec) MarshalBinary() ([]byte, error)
- func (*EnableAccessSpec) Type() MessageType
- func (m *EnableAccessSpec) UnmarshalBinary(data []byte) error
- type EnableAccessSpecResponse
- func (m *EnableAccessSpecResponse) EncodeFields(w io.Writer) error
- func (m *EnableAccessSpecResponse) MarshalBinary() ([]byte, error)
- func (m *EnableAccessSpecResponse) Status() LLRPStatus
- func (*EnableAccessSpecResponse) Type() MessageType
- func (m *EnableAccessSpecResponse) UnmarshalBinary(data []byte) error
- type EnableEventsAndReports
- func (m *EnableEventsAndReports) EncodeFields(w io.Writer) error
- func (m *EnableEventsAndReports) MarshalBinary() ([]byte, error)
- func (*EnableEventsAndReports) Type() MessageType
- func (m *EnableEventsAndReports) UnmarshalBinary(data []byte) error
- type EnableROSpec
- func (m *EnableROSpec) EncodeFields(w io.Writer) error
- func (m *EnableROSpec) MarshalBinary() ([]byte, error)
- func (*EnableROSpec) Type() MessageType
- func (m *EnableROSpec) UnmarshalBinary(data []byte) error
- type EnableROSpecResponse
- func (m *EnableROSpecResponse) EncodeFields(w io.Writer) error
- func (m *EnableROSpecResponse) MarshalBinary() ([]byte, error)
- func (m *EnableROSpecResponse) Status() LLRPStatus
- func (*EnableROSpecResponse) Type() MessageType
- func (m *EnableROSpecResponse) UnmarshalBinary(data []byte) error
- type Encodable
- type ErrorMessage
- func (m *ErrorMessage) EncodeFields(w io.Writer) error
- func (m *ErrorMessage) MarshalBinary() ([]byte, error)
- func (m *ErrorMessage) Status() LLRPStatus
- func (*ErrorMessage) Type() MessageType
- func (m *ErrorMessage) UnmarshalBinary(data []byte) error
- type EventNotificationState
- func (p *EventNotificationState) EncodeFields(w io.Writer) error
- func (p *EventNotificationState) MarshalBinary() ([]byte, error)
- func (p *EventNotificationState) UnmarshalBinary(data []byte) error
- type EventsAndReports
- func (p *EventsAndReports) EncodeFields(w io.Writer) error
- func (p *EventsAndReports) MarshalBinary() ([]byte, error)
- func (p *EventsAndReports) UnmarshalBinary(data []byte) error
- type FieldError
- func (p *FieldError) EncodeFields(w io.Writer) error
- func (fe FieldError) Error() string
- func (p *FieldError) MarshalBinary() ([]byte, error)
- func (p *FieldError) UnmarshalBinary(data []byte) error
- type FirstSeenUTC
- func (p *FirstSeenUTC) EncodeFields(w io.Writer) error
- func (p *FirstSeenUTC) MarshalBinary() ([]byte, error)
- func (p *FirstSeenUTC) UnmarshalBinary(data []byte) error
- type FirstSeenUptime
- func (p *FirstSeenUptime) EncodeFields(w io.Writer) error
- func (p *FirstSeenUptime) MarshalBinary() ([]byte, error)
- func (p *FirstSeenUptime) UnmarshalBinary(data []byte) error
- type FixedFrequencyTable
- func (p *FixedFrequencyTable) EncodeFields(w io.Writer) error
- func (p *FixedFrequencyTable) MarshalBinary() ([]byte, error)
- func (p *FixedFrequencyTable) UnmarshalBinary(data []byte) error
- type FrequencyHopTable
- func (p *FrequencyHopTable) EncodeFields(w io.Writer) error
- func (p *FrequencyHopTable) MarshalBinary() ([]byte, error)
- func (p *FrequencyHopTable) UnmarshalBinary(data []byte) error
- type FrequencyInformation
- func (p *FrequencyInformation) EncodeFields(w io.Writer) error
- func (p *FrequencyInformation) MarshalBinary() ([]byte, error)
- func (p *FrequencyInformation) UnmarshalBinary(data []byte) error
- type FrequencyRSSILevelEntry
- func (p *FrequencyRSSILevelEntry) EncodeFields(w io.Writer) error
- func (p *FrequencyRSSILevelEntry) MarshalBinary() ([]byte, error)
- func (p *FrequencyRSSILevelEntry) UnmarshalBinary(data []byte) error
- type FwdLinkMod
- type GPIEvent
- func (p *GPIEvent) EncodeFields(w io.Writer) error
- func (p *GPIEvent) MarshalBinary() ([]byte, error)
- func (p *GPIEvent) UnmarshalBinary(data []byte) error
- type GPIOCapabilities
- func (p *GPIOCapabilities) EncodeFields(w io.Writer) error
- func (p *GPIOCapabilities) MarshalBinary() ([]byte, error)
- func (p *GPIOCapabilities) UnmarshalBinary(data []byte) error
- type GPIPortCurrentState
- func (p *GPIPortCurrentState) EncodeFields(w io.Writer) error
- func (p *GPIPortCurrentState) MarshalBinary() ([]byte, error)
- func (p *GPIPortCurrentState) UnmarshalBinary(data []byte) error
- type GPIStateType
- type GPITriggerValue
- func (p *GPITriggerValue) EncodeFields(w io.Writer) error
- func (p *GPITriggerValue) MarshalBinary() ([]byte, error)
- func (p *GPITriggerValue) UnmarshalBinary(data []byte) error
- type GPOWriteData
- func (p *GPOWriteData) EncodeFields(w io.Writer) error
- func (p *GPOWriteData) MarshalBinary() ([]byte, error)
- func (p *GPOWriteData) UnmarshalBinary(data []byte) error
- type GeneralDeviceCapabilities
- func (p *GeneralDeviceCapabilities) EncodeFields(w io.Writer) error
- func (p *GeneralDeviceCapabilities) MarshalBinary() ([]byte, error)
- func (p *GeneralDeviceCapabilities) UnmarshalBinary(data []byte) error
- type GetAccessSpecs
- func (m *GetAccessSpecs) EncodeFields(w io.Writer) error
- func (m *GetAccessSpecs) MarshalBinary() ([]byte, error)
- func (*GetAccessSpecs) Type() MessageType
- func (m *GetAccessSpecs) UnmarshalBinary(data []byte) error
- type GetAccessSpecsResponse
- func (m *GetAccessSpecsResponse) EncodeFields(w io.Writer) error
- func (m *GetAccessSpecsResponse) MarshalBinary() ([]byte, error)
- func (m *GetAccessSpecsResponse) Status() LLRPStatus
- func (*GetAccessSpecsResponse) Type() MessageType
- func (m *GetAccessSpecsResponse) UnmarshalBinary(data []byte) error
- type GetROSpecs
- func (m *GetROSpecs) EncodeFields(w io.Writer) error
- func (m *GetROSpecs) MarshalBinary() ([]byte, error)
- func (*GetROSpecs) Type() MessageType
- func (m *GetROSpecs) UnmarshalBinary(data []byte) error
- type GetROSpecsResponse
- func (m *GetROSpecsResponse) EncodeFields(w io.Writer) error
- func (m *GetROSpecsResponse) MarshalBinary() ([]byte, error)
- func (m *GetROSpecsResponse) Status() LLRPStatus
- func (*GetROSpecsResponse) Type() MessageType
- func (m *GetROSpecsResponse) UnmarshalBinary(data []byte) error
- type GetReaderCapabilities
- func (m *GetReaderCapabilities) EncodeFields(w io.Writer) error
- func (m *GetReaderCapabilities) MarshalBinary() ([]byte, error)
- func (*GetReaderCapabilities) Type() MessageType
- func (m *GetReaderCapabilities) UnmarshalBinary(data []byte) error
- type GetReaderCapabilitiesResponse
- func (m *GetReaderCapabilitiesResponse) EncodeFields(w io.Writer) error
- func (m *GetReaderCapabilitiesResponse) MarshalBinary() ([]byte, error)
- func (m *GetReaderCapabilitiesResponse) Status() LLRPStatus
- func (*GetReaderCapabilitiesResponse) Type() MessageType
- func (m *GetReaderCapabilitiesResponse) UnmarshalBinary(data []byte) error
- type GetReaderConfig
- func (m *GetReaderConfig) EncodeFields(w io.Writer) error
- func (m *GetReaderConfig) MarshalBinary() ([]byte, error)
- func (*GetReaderConfig) Type() MessageType
- func (m *GetReaderConfig) UnmarshalBinary(data []byte) error
- type GetReaderConfigResponse
- func (m *GetReaderConfigResponse) EncodeFields(w io.Writer) error
- func (m *GetReaderConfigResponse) MarshalBinary() ([]byte, error)
- func (m *GetReaderConfigResponse) Status() LLRPStatus
- func (*GetReaderConfigResponse) Type() MessageType
- func (m *GetReaderConfigResponse) UnmarshalBinary(data []byte) error
- type GetReport
- func (m *GetReport) EncodeFields(w io.Writer) error
- func (m *GetReport) MarshalBinary() ([]byte, error)
- func (*GetReport) Type() MessageType
- func (m *GetReport) UnmarshalBinary(data []byte) error
- type GetSupportedVersion
- func (m *GetSupportedVersion) EncodeFields(w io.Writer) error
- func (m *GetSupportedVersion) MarshalBinary() ([]byte, error)
- func (*GetSupportedVersion) Type() MessageType
- func (m *GetSupportedVersion) UnmarshalBinary(data []byte) error
- type GetSupportedVersionResponse
- func (m *GetSupportedVersionResponse) EncodeFields(w io.Writer) error
- func (m *GetSupportedVersionResponse) MarshalBinary() ([]byte, error)
- func (m *GetSupportedVersionResponse) Status() LLRPStatus
- func (*GetSupportedVersionResponse) Type() MessageType
- func (m *GetSupportedVersionResponse) UnmarshalBinary(data []byte) error
- type Header
- func (h *Header) MarshalBinary() ([]byte, error)
- func (h Header) String() string
- func (h Header) Type() MessageType
- func (h *Header) UnmarshalBinary(buf []byte) error
- func (h Header) Version() VersionNum
- func (h *Header) WriteTo(w io.Writer) (int64, error)
- type HoppingEvent
- func (p *HoppingEvent) EncodeFields(w io.Writer) error
- func (p *HoppingEvent) MarshalBinary() ([]byte, error)
- func (p *HoppingEvent) UnmarshalBinary(data []byte) error
- type IDType
- type Identification
- func (p *Identification) EncodeFields(w io.Writer) error
- func (p *Identification) MarshalBinary() ([]byte, error)
- func (p *Identification) UnmarshalBinary(data []byte) error
- type Incoming
- type InventoryParameterSpec
- func (p *InventoryParameterSpec) EncodeFields(w io.Writer) error
- func (p *InventoryParameterSpec) MarshalBinary() ([]byte, error)
- func (p *InventoryParameterSpec) UnmarshalBinary(data []byte) error
- type InventoryParameterSpecID
- func (p *InventoryParameterSpecID) EncodeFields(w io.Writer) error
- func (p *InventoryParameterSpecID) MarshalBinary() ([]byte, error)
- func (p *InventoryParameterSpecID) UnmarshalBinary(data []byte) error
- type KeepAlive
- func (m *KeepAlive) EncodeFields(w io.Writer) error
- func (m *KeepAlive) MarshalBinary() ([]byte, error)
- func (*KeepAlive) Type() MessageType
- func (m *KeepAlive) UnmarshalBinary(data []byte) error
- type KeepAliveAck
- func (m *KeepAliveAck) EncodeFields(w io.Writer) error
- func (m *KeepAliveAck) MarshalBinary() ([]byte, error)
- func (*KeepAliveAck) Type() MessageType
- func (m *KeepAliveAck) UnmarshalBinary(data []byte) error
- type KeepAliveSpec
- func (p *KeepAliveSpec) EncodeFields(w io.Writer) error
- func (p *KeepAliveSpec) MarshalBinary() ([]byte, error)
- func (p *KeepAliveSpec) UnmarshalBinary(data []byte) error
- type KeepAliveTriggerType
- type Kilohertz
- type LLRPCapabilities
- func (p *LLRPCapabilities) EncodeFields(w io.Writer) error
- func (p *LLRPCapabilities) MarshalBinary() ([]byte, error)
- func (p *LLRPCapabilities) UnmarshalBinary(data []byte) error
- type LLRPConfigurationStateValue
- func (p *LLRPConfigurationStateValue) EncodeFields(w io.Writer) error
- func (p *LLRPConfigurationStateValue) MarshalBinary() ([]byte, error)
- func (p *LLRPConfigurationStateValue) UnmarshalBinary(data []byte) error
- type LLRPStatus
- func (p *LLRPStatus) EncodeFields(w io.Writer) error
- func (ls *LLRPStatus) Err() error
- func (p *LLRPStatus) MarshalBinary() ([]byte, error)
- func (p *LLRPStatus) UnmarshalBinary(data []byte) error
- type LastSeenUTC
- func (p *LastSeenUTC) EncodeFields(w io.Writer) error
- func (p *LastSeenUTC) MarshalBinary() ([]byte, error)
- func (p *LastSeenUTC) UnmarshalBinary(data []byte) error
- type LastSeenUptime
- func (p *LastSeenUptime) EncodeFields(w io.Writer) error
- func (p *LastSeenUptime) MarshalBinary() ([]byte, error)
- func (p *LastSeenUptime) UnmarshalBinary(data []byte) error
- type LockDataType
- type LockPrivilegeType
- type LoopSpec
- func (p *LoopSpec) EncodeFields(w io.Writer) error
- func (p *LoopSpec) MarshalBinary() ([]byte, error)
- func (p *LoopSpec) UnmarshalBinary(data []byte) error
- type MaximumReceiveSensitivity
- func (p *MaximumReceiveSensitivity) EncodeFields(w io.Writer) error
- func (p *MaximumReceiveSensitivity) MarshalBinary() ([]byte, error)
- func (p *MaximumReceiveSensitivity) UnmarshalBinary(data []byte) error
- type Message
- func NewByteMessage(typ MessageType, payload []byte) (m Message, err error)
- func NewHdrOnlyMsg(typ MessageType) Message
- func (m Message) Close() error
- func (m Message) String() string
- func (m *Message) UnmarshalTo(v encoding.BinaryUnmarshaler) error
- type MessageHandler
- type MessageHandlerFunc
- type MessageType
- func (mt MessageType) Converse() (MessageType, bool)
- func (mt MessageType) IsValid() bool
- func (mt MessageType) NewInstance() Encodable
- func (i MessageType) String() string
- type Microsecs64
- type MillibelIsotropic
- type MillibelMilliwatt
- type Millisecs16
- type Millisecs32
- type Nanosecs16
- type Nanosecs32
- type OpSpecID
- func (p *OpSpecID) EncodeFields(w io.Writer) error
- func (p *OpSpecID) MarshalBinary() ([]byte, error)
- func (p *OpSpecID) UnmarshalBinary(data []byte) error
- type Outgoing
- type ParamType
- func (pt ParamType) IsTLV() bool
- func (pt ParamType) IsTV() bool
- func (pt ParamType) IsValid() bool
- func (i ParamType) String() string
- type ParameterError
- func (p *ParameterError) EncodeFields(w io.Writer) error
- func (pe *ParameterError) Error() string
- func (p *ParameterError) MarshalBinary() ([]byte, error)
- func (p *ParameterError) UnmarshalBinary(data []byte) error
- type PeakRSSI
- func (p *PeakRSSI) EncodeFields(w io.Writer) error
- func (p *PeakRSSI) MarshalBinary() ([]byte, error)
- func (p *PeakRSSI) UnmarshalBinary(data []byte) error
- type PerAntennaAirProtocol
- func (p *PerAntennaAirProtocol) EncodeFields(w io.Writer) error
- func (p *PerAntennaAirProtocol) MarshalBinary() ([]byte, error)
- func (p *PerAntennaAirProtocol) UnmarshalBinary(data []byte) error
- type PerAntennaReceiveSensitivityRange
- func (p *PerAntennaReceiveSensitivityRange) EncodeFields(w io.Writer) error
- func (p *PerAntennaReceiveSensitivityRange) MarshalBinary() ([]byte, error)
- func (p *PerAntennaReceiveSensitivityRange) UnmarshalBinary(data []byte) error
- type PeriodicTriggerValue
- func (p *PeriodicTriggerValue) EncodeFields(w io.Writer) error
- func (p *PeriodicTriggerValue) MarshalBinary() ([]byte, error)
- func (p *PeriodicTriggerValue) UnmarshalBinary(data []byte) error
- type RFReceiver
- func (p *RFReceiver) EncodeFields(w io.Writer) error
- func (p *RFReceiver) MarshalBinary() ([]byte, error)
- func (p *RFReceiver) UnmarshalBinary(data []byte) error
- type RFSurveyEvent
- func (p *RFSurveyEvent) EncodeFields(w io.Writer) error
- func (p *RFSurveyEvent) MarshalBinary() ([]byte, error)
- func (p *RFSurveyEvent) UnmarshalBinary(data []byte) error
- type RFSurveyEventType
- type RFSurveyFrequencyCapabilities
- func (p *RFSurveyFrequencyCapabilities) EncodeFields(w io.Writer) error
- func (p *RFSurveyFrequencyCapabilities) MarshalBinary() ([]byte, error)
- func (p *RFSurveyFrequencyCapabilities) UnmarshalBinary(data []byte) error
- type RFSurveyReportData
- func (p *RFSurveyReportData) EncodeFields(w io.Writer) error
- func (p *RFSurveyReportData) MarshalBinary() ([]byte, error)
- func (p *RFSurveyReportData) UnmarshalBinary(data []byte) error
- type RFSurveySpec
- func (p *RFSurveySpec) EncodeFields(w io.Writer) error
- func (p *RFSurveySpec) MarshalBinary() ([]byte, error)
- func (p *RFSurveySpec) UnmarshalBinary(data []byte) error
- type RFSurveySpecStopTrigger
- func (p *RFSurveySpecStopTrigger) EncodeFields(w io.Writer) error
- func (p *RFSurveySpecStopTrigger) MarshalBinary() ([]byte, error)
- func (p *RFSurveySpecStopTrigger) UnmarshalBinary(data []byte) error
- type RFSurveySpecStopTriggerType
- type RFTransmitter
- func (p *RFTransmitter) EncodeFields(w io.Writer) error
- func (p *RFTransmitter) MarshalBinary() ([]byte, error)
- func (p *RFTransmitter) UnmarshalBinary(data []byte) error
- type ROAccessReport
- func (m *ROAccessReport) EncodeFields(w io.Writer) error
- func (m *ROAccessReport) MarshalBinary() ([]byte, error)
- func (*ROAccessReport) Type() MessageType
- func (m *ROAccessReport) UnmarshalBinary(data []byte) error
- type ROBoundarySpec
- func (p *ROBoundarySpec) EncodeFields(w io.Writer) error
- func (p *ROBoundarySpec) MarshalBinary() ([]byte, error)
- func (p *ROBoundarySpec) UnmarshalBinary(data []byte) error
- type ROReportSpec
- func (p *ROReportSpec) EncodeFields(w io.Writer) error
- func (p *ROReportSpec) MarshalBinary() ([]byte, error)
- func (p *ROReportSpec) UnmarshalBinary(data []byte) error
- type ROReportTriggerType
- type ROSpec
- func (ros *ROSpec) Add() *AddROSpec
- func (ros *ROSpec) Delete() *DeleteROSpec
- func (ros *ROSpec) Disable() *DisableROSpec
- func (ros *ROSpec) Enable() *EnableROSpec
- func (p *ROSpec) EncodeFields(w io.Writer) error
- func (p *ROSpec) MarshalBinary() ([]byte, error)
- func (p *ROSpec) UnmarshalBinary(data []byte) error
- type ROSpecCurrentStateType
- type ROSpecEvent
- func (p *ROSpecEvent) EncodeFields(w io.Writer) error
- func (p *ROSpecEvent) MarshalBinary() ([]byte, error)
- func (p *ROSpecEvent) UnmarshalBinary(data []byte) error
- type ROSpecEventType
- type ROSpecID
- func (p *ROSpecID) EncodeFields(w io.Writer) error
- func (p *ROSpecID) MarshalBinary() ([]byte, error)
- func (p *ROSpecID) UnmarshalBinary(data []byte) error
- type ROSpecStartTrigger
- func (p *ROSpecStartTrigger) EncodeFields(w io.Writer) error
- func (p *ROSpecStartTrigger) MarshalBinary() ([]byte, error)
- func (p *ROSpecStartTrigger) UnmarshalBinary(data []byte) error
- type ROSpecStartTriggerType
- type ROSpecStopTrigger
- func (p *ROSpecStopTrigger) EncodeFields(w io.Writer) error
- func (p *ROSpecStopTrigger) MarshalBinary() ([]byte, error)
- func (p *ROSpecStopTrigger) UnmarshalBinary(data []byte) error
- type ROSpecStopTriggerType
- type ReaderCapability
- type ReaderConfigRequestedDataType
- type ReaderEventNotification
- func NewCloseMessage() *ReaderEventNotification
- func NewConnectMessage(eventType ConnectionAttemptEventType) *ReaderEventNotification
- func (m *ReaderEventNotification) EncodeFields(w io.Writer) error
- func (m *ReaderEventNotification) MarshalBinary() ([]byte, error)
- func (*ReaderEventNotification) Type() MessageType
- func (m *ReaderEventNotification) UnmarshalBinary(data []byte) error
- type ReaderEventNotificationData
- func (p *ReaderEventNotificationData) EncodeFields(w io.Writer) error
- func (p *ReaderEventNotificationData) MarshalBinary() ([]byte, error)
- func (p *ReaderEventNotificationData) UnmarshalBinary(data []byte) error
- type ReaderEventNotificationSpec
- func (p *ReaderEventNotificationSpec) EncodeFields(w io.Writer) error
- func (p *ReaderEventNotificationSpec) MarshalBinary() ([]byte, error)
- func (p *ReaderEventNotificationSpec) UnmarshalBinary(data []byte) error
- type ReaderEventType
- type ReaderExceptionEvent
- func (p *ReaderExceptionEvent) EncodeFields(w io.Writer) error
- func (p *ReaderExceptionEvent) MarshalBinary() ([]byte, error)
- func (p *ReaderExceptionEvent) UnmarshalBinary(data []byte) error
- type ReceiveSensitivityTableEntry
- func (p *ReceiveSensitivityTableEntry) EncodeFields(w io.Writer) error
- func (p *ReceiveSensitivityTableEntry) MarshalBinary() ([]byte, error)
- func (p *ReceiveSensitivityTableEntry) UnmarshalBinary(data []byte) error
- type RegulatoryCapabilities
- func (p *RegulatoryCapabilities) EncodeFields(w io.Writer) error
- func (p *RegulatoryCapabilities) MarshalBinary() ([]byte, error)
- func (p *RegulatoryCapabilities) UnmarshalBinary(data []byte) error
- type ReportBufferLevelWarningEvent
- func (p *ReportBufferLevelWarningEvent) EncodeFields(w io.Writer) error
- func (p *ReportBufferLevelWarningEvent) MarshalBinary() ([]byte, error)
- func (p *ReportBufferLevelWarningEvent) UnmarshalBinary(data []byte) error
- type ReportBufferOverflowErrorEvent
- func (p *ReportBufferOverflowErrorEvent) EncodeFields(w io.Writer) error
- func (p *ReportBufferOverflowErrorEvent) MarshalBinary() ([]byte, error)
- func (p *ReportBufferOverflowErrorEvent) UnmarshalBinary(data []byte) error
- type SLState
- type SessionState
- type SetProtocolVersion
- func (m *SetProtocolVersion) EncodeFields(w io.Writer) error
- func (m *SetProtocolVersion) MarshalBinary() ([]byte, error)
- func (*SetProtocolVersion) Type() MessageType
- func (m *SetProtocolVersion) UnmarshalBinary(data []byte) error
- type SetProtocolVersionResponse
- func (m *SetProtocolVersionResponse) EncodeFields(w io.Writer) error
- func (m *SetProtocolVersionResponse) MarshalBinary() ([]byte, error)
- func (m *SetProtocolVersionResponse) Status() LLRPStatus
- func (*SetProtocolVersionResponse) Type() MessageType
- func (m *SetProtocolVersionResponse) UnmarshalBinary(data []byte) error
- type SetReaderConfig
- func (m *SetReaderConfig) EncodeFields(w io.Writer) error
- func (m *SetReaderConfig) MarshalBinary() ([]byte, error)
- func (*SetReaderConfig) Type() MessageType
- func (m *SetReaderConfig) UnmarshalBinary(data []byte) error
- type SetReaderConfigResponse
- func (m *SetReaderConfigResponse) EncodeFields(w io.Writer) error
- func (m *SetReaderConfigResponse) MarshalBinary() ([]byte, error)
- func (m *SetReaderConfigResponse) Status() LLRPStatus
- func (*SetReaderConfigResponse) Type() MessageType
- func (m *SetReaderConfigResponse) UnmarshalBinary(data []byte) error
- type SpecIndex
- func (p *SpecIndex) EncodeFields(w io.Writer) error
- func (p *SpecIndex) MarshalBinary() ([]byte, error)
- func (p *SpecIndex) UnmarshalBinary(data []byte) error
- type SpecLoopEvent
- func (p *SpecLoopEvent) EncodeFields(w io.Writer) error
- func (p *SpecLoopEvent) MarshalBinary() ([]byte, error)
- func (p *SpecLoopEvent) UnmarshalBinary(data []byte) error
- type SpectralMaskType
- type StartROSpec
- func (m *StartROSpec) EncodeFields(w io.Writer) error
- func (m *StartROSpec) MarshalBinary() ([]byte, error)
- func (*StartROSpec) Type() MessageType
- func (m *StartROSpec) UnmarshalBinary(data []byte) error
- type StartROSpecResponse
- func (m *StartROSpecResponse) EncodeFields(w io.Writer) error
- func (m *StartROSpecResponse) MarshalBinary() ([]byte, error)
- func (m *StartROSpecResponse) Status() LLRPStatus
- func (*StartROSpecResponse) Type() MessageType
- func (m *StartROSpecResponse) UnmarshalBinary(data []byte) error
- type StatusCode
- type StatusError
- type Statusable
- type StdLogger
- func (l *StdLogger) HandlerPanic(hdr Header, err error)
- func (l *StdLogger) MsgHandled(hdr Header)
- func (l *StdLogger) MsgUnhandled(hdr Header)
- func (l *StdLogger) ReceivedMsg(hdr Header, curVer VersionNum)
- func (l *StdLogger) SendingMsg(hdr Header)
- type StopROSpec
- func (m *StopROSpec) EncodeFields(w io.Writer) error
- func (m *StopROSpec) MarshalBinary() ([]byte, error)
- func (*StopROSpec) Type() MessageType
- func (m *StopROSpec) UnmarshalBinary(data []byte) error
- type StopROSpecResponse
- func (m *StopROSpecResponse) EncodeFields(w io.Writer) error
- func (m *StopROSpecResponse) MarshalBinary() ([]byte, error)
- func (m *StopROSpecResponse) Status() LLRPStatus
- func (*StopROSpecResponse) Type() MessageType
- func (m *StopROSpecResponse) UnmarshalBinary(data []byte) error
- type TagObservationTrigger
- func (p *TagObservationTrigger) EncodeFields(w io.Writer) error
- func (p *TagObservationTrigger) MarshalBinary() ([]byte, error)
- func (p *TagObservationTrigger) UnmarshalBinary(data []byte) error
- type TagObservationTriggerType
- type TagReportContentSelector
- func (p *TagReportContentSelector) EncodeFields(w io.Writer) error
- func (p *TagReportContentSelector) MarshalBinary() ([]byte, error)
- func (p *TagReportContentSelector) UnmarshalBinary(data []byte) error
- type TagReportData
- func (p *TagReportData) EncodeFields(w io.Writer) error
- func (p *TagReportData) MarshalBinary() ([]byte, error)
- func (p *TagReportData) UnmarshalBinary(data []byte) error
- type TagSeenCount
- func (p *TagSeenCount) EncodeFields(w io.Writer) error
- func (p *TagSeenCount) MarshalBinary() ([]byte, error)
- func (p *TagSeenCount) UnmarshalBinary(data []byte) error
- type TestDevice
- func NewReaderOnlyTestDevice(conn net.Conn, silent bool) (*TestDevice, error)
- func NewTestDevice(maxReaderVer, maxClientVer VersionNum, timeout time.Duration, silent bool) (*TestDevice, error)
- func (td *TestDevice) Close() (err error)
- func (td *TestDevice) ConnectClient(t *testing.T) (c *Client)
- func (td *TestDevice) Errors() []error
- func (td *TestDevice) ImpersonateReader()
- func (td *TestDevice) SetResponse(mt MessageType, out Outgoing)
- func (td *TestDevice) Version() VersionNum
- type TestEmulator
- func NewTestEmulator(silent bool) *TestEmulator
- func (emu *TestEmulator) SetResponse(mt MessageType, out Outgoing)
- func (emu *TestEmulator) Shutdown() error
- func (emu *TestEmulator) StartAsync(port int) error
- type TransmitPowerLevelTableEntry
- func (p *TransmitPowerLevelTableEntry) EncodeFields(w io.Writer) error
- func (p *TransmitPowerLevelTableEntry) MarshalBinary() ([]byte, error)
- func (p *TransmitPowerLevelTableEntry) UnmarshalBinary(data []byte) error
- type UHFBandCapabilities
- func (p *UHFBandCapabilities) EncodeFields(w io.Writer) error
- func (p *UHFBandCapabilities) MarshalBinary() ([]byte, error)
- func (p *UHFBandCapabilities) UnmarshalBinary(data []byte) error
- type UHFC1G2RFModeTable
- func (p *UHFC1G2RFModeTable) EncodeFields(w io.Writer) error
- func (p *UHFC1G2RFModeTable) MarshalBinary() ([]byte, error)
- func (p *UHFC1G2RFModeTable) UnmarshalBinary(data []byte) error
- type UHFC1G2RFModeTableEntry
- func (p *UHFC1G2RFModeTableEntry) EncodeFields(w io.Writer) error
- func (p *UHFC1G2RFModeTableEntry) MarshalBinary() ([]byte, error)
- func (p *UHFC1G2RFModeTableEntry) UnmarshalBinary(data []byte) error
- type UTCTimestamp
- func (p *UTCTimestamp) EncodeFields(w io.Writer) error
- func (p *UTCTimestamp) MarshalBinary() ([]byte, error)
- func (p *UTCTimestamp) UnmarshalBinary(data []byte) error
- type Uptime
- func (p *Uptime) EncodeFields(w io.Writer) error
- func (p *Uptime) MarshalBinary() ([]byte, error)
- func (p *Uptime) UnmarshalBinary(data []byte) error
- type VersionNum
Constants ¶
const ( C1G2BPLockSuccess = C1G2BlockPermalockResultType(0) C1G2BPLockInsufficientPower = C1G2BlockPermalockResultType(1) C1G2BPLockNonSpecificTagError = C1G2BlockPermalockResultType(2) C1G2BPLockNoResponseFromTag = C1G2BlockPermalockResultType(3) C1G2BPLockNonSpecificReaderError = C1G2BlockPermalockResultType(4) C1G2BPLockIncorrectPassword = C1G2BlockPermalockResultType(5) C1G2BPLockMemoryOverrun = C1G2BlockPermalockResultType(6) )
const ( AirProtoUnspecified = AirProtocolIDType(0) AirProtoEPCGlobalClass1Gen2 = AirProtocolIDType(1) )
const ( ROSpecStateDisabled = ROSpecCurrentStateType(0) ROSpecStateInactive = ROSpecCurrentStateType(1) ROSpecStateActive = ROSpecCurrentStateType(2) )
const ( AccessSpecStopTriggerNone = AccessSpecStopTriggerType(0) AccessSpecStopTriggerOperationCount = AccessSpecStopTriggerType(1) )
const ( NotifyChannelHop = ReaderEventType(0) NotifyGPI = ReaderEventType(1) NotifyROSpec = ReaderEventType(2) NotifyReportBuffFillWarn = ReaderEventType(3) NotifyReaderException = ReaderEventType(4) NotifyRFSurvey = ReaderEventType(5) NotifyAISpec = ReaderEventType(6) NotifyAISpecWithSingulation = ReaderEventType(7) NotifyAntenna = ReaderEventType(8) NotifySpecLoop = ReaderEventType(9) )
const ( ROSpecStarted = ROSpecEventType(0) ROSpecEnded = ROSpecEventType(1) ROSpecPreempted = ROSpecEventType(2) )
const ( RFSurveyStarted = RFSurveyEventType(0) RFSurveyEnded = RFSurveyEventType(1) )
const ( AntennaDisconnected = AntennaEventType(0) AntennaConnected = AntennaEventType(1) )
const ( None = ROReportTriggerType(0) NTagsOrAIEnd = ROReportTriggerType(1) NTagsOrROEnd = ROReportTriggerType(2) NSecondsOrAIEnd = ROReportTriggerType(3) NSecondsOrROEnd = ROReportTriggerType(4) NMillisOrAIEnd = ROReportTriggerType(5) NMillisOrROEnd = ROReportTriggerType(6) )
const ( ConnSuccess = ConnectionAttemptEventType(0) ConnExistsReaderInitiated = ConnectionAttemptEventType(1) ConnExistsClientInitiated = ConnectionAttemptEventType(2) ConnFailedReasonUnknown = ConnectionAttemptEventType(3) ConnAttemptedAgain = ConnectionAttemptEventType(4) )
const ( KATriggerNone = KeepAliveTriggerType(0) KATriggerPeriodic = KeepAliveTriggerType(1) )
const ( ROStartTriggerNone = ROSpecStartTriggerType(0) ROStartTriggerImmediate = ROSpecStartTriggerType(1) ROStartTriggerPeriodic = ROSpecStartTriggerType(2) ROStartTriggerGPI = ROSpecStartTriggerType(3) )
const ( ROStopTriggerNone = ROSpecStopTriggerType(0) ROStopTriggerDuration = ROSpecStopTriggerType(1) ROStopTriggerGPI = ROSpecStopTriggerType(2) )
const ( RFSurveyStopTriggerNone = RFSurveySpecStopTriggerType(0) RFSurveyStopTriggerDuration = RFSurveySpecStopTriggerType(1) RFSurveyStopTriggerNIteration = RFSurveySpecStopTriggerType(2) )
const ( AIStopTriggerNone = AISpecStopTriggerType(0) AIStopTriggerDuration = AISpecStopTriggerType(1) AIStopTriggerGPI = AISpecStopTriggerType(2) AIStopTriggerTagObservation = AISpecStopTriggerType(3) )
const ( TagObsTriggerNTagObservations = TagObservationTriggerType(0) TagObsTriggerNoNewAfterT = TagObservationTriggerType(1) TagObsTriggerNAttempts = TagObservationTriggerType(2) TagObsTriggerNUniqueObservations = TagObservationTriggerType(3) TagObsTriggerNoUniqueAfterT = TagObservationTriggerType(4) )
const ( SpectralMaskUnknown = SpectralMaskType(0) SpectralMaskSingleInterrogator = SpectralMaskType(1) SpectralMaskMultiInterrogator = SpectralMaskType(2) SpectralMaskDenseInterrogator = SpectralMaskType(3) )
const ( DoubleSidebandASK = FwdLinkMod(0) SingleSidebandASK = FwdLinkMod(1) PhaseReversalASK = FwdLinkMod(2) )
const ( FM0 = BackscatterMod(0) Miller2 = BackscatterMod(1) Miller4 = BackscatterMod(2) Miller8 = BackscatterMod(3) )
const ( DREightToOne = DivideRatio(0) DRSixtyFourToThree = DivideRatio(1) )
const ( GPIStateLow = GPIStateType(0) GPIStateHigh = GPIStateType(1) GPIStateUnknown = GPIStateType(2) )
const ( LockPrivRW = LockPrivilegeType(0) LockPrivPermalock = LockPrivilegeType(1) LockPrivPermaunlock = LockPrivilegeType(2) LockPrivUnlock = LockPrivilegeType(3) )
const ( LockDataKillPwd = LockDataType(0) LockDataAccessPwd = LockDataType(1) LockDataEPCMemory = LockDataType(2) LockDataTIDMemory = LockDataType(3) LockDataUserMemory = LockDataType(4) )
const ( Version1_0_1 = VersionNum(1) Version1_1 = VersionNum(2) )
const ( StatusSuccess = StatusCode(0) StatusMsgParamError = StatusCode(100) StatusMsgFieldError = StatusCode(101) StatusMsgParamUnexpected = StatusCode(102) StatusMsgParamMissing = StatusCode(103) StatusMsgParamDuplicate = StatusCode(104) StatusMsgParamOverflow = StatusCode(105) StatusMsgFieldOverflow = StatusCode(106) StatusMsgParamUnknown = StatusCode(107) StatusMsgFieldUnknown = StatusCode(108) StatusMsgMsgUnsupported = StatusCode(109) StatusMsgVerUnsupported = StatusCode(110) StatusMsgParamUnsupported = StatusCode(111) StatusMsgMsgUnexpected = StatusCode(112) StatusParamParamError = StatusCode(200) StatusParamFieldError = StatusCode(201) StatusParamParamUnexpected = StatusCode(202) StatusParamParamMissing = StatusCode(203) StatusParamParamDuplicate = StatusCode(204) StatusParamParamOverflow = StatusCode(205) StatusParamFieldOverflow = StatusCode(206) StatusParamParamUnknown = StatusCode(207) StatusParamFieldUnknown = StatusCode(208) StatusParamParamUnsupported = StatusCode(209) StatusFieldInvalid = StatusCode(300) StatusFieldOutOfRange = StatusCode(301) StatusDeviceError = StatusCode(401) )
const ( ReaderCapAll = ReaderCapability(0) ReaderCapGeneralDeviceCapabilities = ReaderCapability(1) ReaderCapLLRPCapabilities = ReaderCapability(2) ReaderCapRegulatoryCapabilities = ReaderCapability(3) ReaderCapAirProtocolLLRPCapabilities = ReaderCapability(4) )
const ( ReaderConfReqAll = ReaderConfigRequestedDataType(0) ReaderConfReqIdentification = ReaderConfigRequestedDataType(1) ReaderConfReqAntennaProperties = ReaderConfigRequestedDataType(2) ReaderConfReqAntennaConfig = ReaderConfigRequestedDataType(3) ReaderConfReqROReportSpec = ReaderConfigRequestedDataType(4) ReaderConfReqReaderEventNotifSpec = ReaderConfigRequestedDataType(5) ReaderConfReqAccessReportSpec = ReaderConfigRequestedDataType(6) ReaderConfReqLLRPConfStateVal = ReaderConfigRequestedDataType(7) ReaderConfReqKeepAliveSpec = ReaderConfigRequestedDataType(8) ReaderConfReqGPIPortCurState = ReaderConfigRequestedDataType(9) ReaderConfReqGPOWriteData = ReaderConfigRequestedDataType(10) ReaderConfReqEventsAndReports = ReaderConfigRequestedDataType(11) )
const ( InvTargetSL = C1G2TagInventoryTargetType(0) InvTargetInventoriedS0 = C1G2TagInventoryTargetType(1) InvTargetInventoriedS1 = C1G2TagInventoryTargetType(2) InvTargetInventoriedS2 = C1G2TagInventoryTargetType(3) InvTargetInventoriedS3 = C1G2TagInventoryTargetType(4) )
const ( FilterActionUnspecified = C1G2FilterTruncateActionType(0) FilterActionDoNotTruncate = C1G2FilterTruncateActionType(1) FilterActionTruncate = C1G2FilterTruncateActionType(2) )
const ( AwareSelectMSetUClear = C1G2TagInventoryStateAwareFilterActionType(0) AwareSelectMSetUKeep = C1G2TagInventoryStateAwareFilterActionType(1) AwareSelectMKeepUClear = C1G2TagInventoryStateAwareFilterActionType(2) AwareSelectMFlipUKeep = C1G2TagInventoryStateAwareFilterActionType(3) AwareSelectMClearUSet = C1G2TagInventoryStateAwareFilterActionType(4) AwareSelectMClearUKeep = C1G2TagInventoryStateAwareFilterActionType(5) AwareSelectMKeepUSet = C1G2TagInventoryStateAwareFilterActionType(6) AwareSelectMKeepUFlip = C1G2TagInventoryStateAwareFilterActionType(7) )
const ( SessionStateA = SessionState(0) SessionStateB = SessionState(1) )
const ( UnawareSelectMSetUClear = C1G2TagInventoryStateUnawareFilterActionType(0) UnawareSelectMSetUKeep = C1G2TagInventoryStateUnawareFilterActionType(1) UnawareSelectMKeepUClear = C1G2TagInventoryStateUnawareFilterActionType(2) UnawareSelectMClearUSet = C1G2TagInventoryStateUnawareFilterActionType(3) UnawareSelectMClearUKeep = C1G2TagInventoryStateUnawareFilterActionType(4) UnawareSelectMKeepUSet = C1G2TagInventoryStateUnawareFilterActionType(5) )
const ( MsgGetSupportedVersion = MessageType(46) MsgGetSupportedVersionResponse = MessageType(56) MsgSetProtocolVersion = MessageType(47) MsgSetProtocolVersionResponse = MessageType(57) MsgGetReaderCapabilities = MessageType(1) MsgGetReaderCapabilitiesResponse = MessageType(11) MsgAddROSpec = MessageType(20) MsgAddROSpecResponse = MessageType(30) MsgDeleteROSpec = MessageType(21) MsgDeleteROSpecResponse = MessageType(31) MsgStartROSpec = MessageType(22) MsgStartROSpecResponse = MessageType(32) MsgStopROSpec = MessageType(23) MsgStopROSpecResponse = MessageType(33) MsgEnableROSpec = MessageType(24) MsgEnableROSpecResponse = MessageType(34) MsgDisableROSpec = MessageType(25) MsgDisableROSpecResponse = MessageType(35) MsgGetROSpecs = MessageType(26) MsgGetROSpecsResponse = MessageType(36) MsgAddAccessSpec = MessageType(40) MsgAddAccessSpecResponse = MessageType(50) MsgDeleteAccessSpec = MessageType(41) MsgDeleteAccessSpecResponse = MessageType(51) MsgEnableAccessSpec = MessageType(42) MsgEnableAccessSpecResponse = MessageType(52) MsgDisableAccessSpec = MessageType(43) MsgDisableAccessSpecResponse = MessageType(53) MsgGetAccessSpecs = MessageType(44) MsgGetAccessSpecsResponse = MessageType(54) MsgClientRequestOp = MessageType(45) MsgClientRequestOpResponse = MessageType(55) MsgGetReport = MessageType(60) MsgROAccessReport = MessageType(61) MsgKeepAlive = MessageType(62) MsgKeepAliveAck = MessageType(72) MsgReaderEventNotification = MessageType(63) MsgEnableEventsAndReports = MessageType(64) MsgErrorMessage = MessageType(100) MsgGetReaderConfig = MessageType(2) MsgGetReaderConfigResponse = MessageType(12) MsgSetReaderConfig = MessageType(3) MsgSetReaderConfigResponse = MessageType(13) MsgCloseConnection = MessageType(14) MsgCloseConnectionResponse = MessageType(4) MsgCustomMessage = MessageType(1023) )
const ( ParamAntennaID = ParamType(1) ParamFirstSeenUTC = ParamType(2) ParamFirstSeenUptime = ParamType(3) ParamLastSeenUTC = ParamType(4) ParamLastSeenUptime = ParamType(5) ParamPeakRSSI = ParamType(6) ParamChannelIndex = ParamType(7) ParamTagSeenCount = ParamType(8) ParamROSpecID = ParamType(9) ParamInventoryParameterSpecID = ParamType(10) ParamC1G2CRC = ParamType(11) ParamC1G2PC = ParamType(12) ParamEPC96 = ParamType(13) ParamSpecIndex = ParamType(14) ParamClientRequestOpSpecResult = ParamType(15) ParamAccessSpecID = ParamType(16) ParamOpSpecID = ParamType(17) ParamC1G2SingulationDetails = ParamType(18) ParamC1G2XPCW1 = ParamType(19) ParamC1G2XPCW2 = ParamType(20) ParamUTCTimestamp = ParamType(128) ParamUptime = ParamType(129) ParamGeneralDeviceCapabilities = ParamType(137) ParamReceiveSensitivityTableEntry = ParamType(139) ParamPerAntennaAirProtocol = ParamType(140) ParamGPIOCapabilities = ParamType(141) ParamLLRPCapabilities = ParamType(142) ParamRegulatoryCapabilities = ParamType(143) ParamUHFBandCapabilities = ParamType(144) ParamTransmitPowerLevelTableEntry = ParamType(145) ParamFrequencyInformation = ParamType(146) ParamFrequencyHopTable = ParamType(147) ParamFixedFrequencyTable = ParamType(148) ParamPerAntennaReceiveSensitivityRange = ParamType(149) ParamROSpec = ParamType(177) ParamROBoundarySpec = ParamType(178) ParamROSpecStartTrigger = ParamType(179) ParamPeriodicTriggerValue = ParamType(180) ParamGPITriggerValue = ParamType(181) ParamROSpecStopTrigger = ParamType(182) ParamAISpec = ParamType(183) ParamAISpecStopTrigger = ParamType(184) ParamTagObservationTrigger = ParamType(185) ParamInventoryParameterSpec = ParamType(186) ParamRFSurveySpec = ParamType(187) ParamRFSurveySpecStopTrigger = ParamType(188) ParamAccessSpec = ParamType(207) ParamAccessSpecStopTrigger = ParamType(208) ParamAccessCommand = ParamType(209) ParamClientRequestOpSpec = ParamType(210) ParamClientRequestResponse = ParamType(211) ParamLLRPConfigurationStateValue = ParamType(217) ParamIdentification = ParamType(218) ParamGPOWriteData = ParamType(219) ParamKeepAliveSpec = ParamType(220) ParamAntennaProperties = ParamType(221) ParamAntennaConfiguration = ParamType(222) ParamRFReceiver = ParamType(223) ParamRFTransmitter = ParamType(224) ParamGPIPortCurrentState = ParamType(225) ParamEventsAndReports = ParamType(226) ParamROReportSpec = ParamType(237) ParamTagReportContentSelector = ParamType(238) ParamAccessReportSpec = ParamType(239) ParamTagReportData = ParamType(240) ParamEPCData = ParamType(241) ParamRFSurveyReportData = ParamType(242) ParamFrequencyRSSILevelEntry = ParamType(243) ParamReaderEventNotificationSpec = ParamType(244) ParamEventNotificationState = ParamType(245) ParamReaderEventNotificationData = ParamType(246) ParamHoppingEvent = ParamType(247) ParamGPIEvent = ParamType(248) ParamROSpecEvent = ParamType(249) ParamReportBufferLevelWarningEvent = ParamType(250) ParamReportBufferOverflowErrorEvent = ParamType(251) ParamReaderExceptionEvent = ParamType(252) ParamRFSurveyEvent = ParamType(253) ParamAISpecEvent = ParamType(254) ParamAntennaEvent = ParamType(255) ParamConnectionAttemptEvent = ParamType(256) ParamConnectionCloseEvent = ParamType(257) ParamLLRPStatus = ParamType(287) ParamFieldError = ParamType(288) ParamParameterError = ParamType(289) ParamLoopSpec = ParamType(355) ParamSpecLoopEvent = ParamType(356) ParamCustom = ParamType(1023) ParamC1G2LLRPCapabilities = ParamType(327) ParamUHFC1G2RFModeTable = ParamType(328) ParamUHFC1G2RFModeTableEntry = ParamType(329) ParamC1G2InventoryCommand = ParamType(330) ParamC1G2Filter = ParamType(331) ParamC1G2TagInventoryMask = ParamType(332) ParamC1G2TagInventoryStateAwareFilterAction = ParamType(333) ParamC1G2TagInventoryStateUnawareFilterAction = ParamType(334) ParamC1G2RFControl = ParamType(335) ParamC1G2SingulationControl = ParamType(336) ParamC1G2TagInventoryStateAwareSingulationAction = ParamType(337) ParamC1G2TagSpec = ParamType(338) ParamC1G2TargetTag = ParamType(339) ParamC1G2Read = ParamType(341) ParamC1G2Write = ParamType(342) ParamC1G2Kill = ParamType(343) ParamC1G2Lock = ParamType(344) ParamC1G2LockPayload = ParamType(345) ParamC1G2BlockErase = ParamType(346) ParamC1G2BlockWrite = ParamType(347) ParamC1G2EPCMemorySelector = ParamType(348) ParamC1G2ReadOpSpecResult = ParamType(349) ParamC1G2WriteOpSpecResult = ParamType(350) ParamC1G2KillOpSpecResult = ParamType(351) ParamC1G2LockOpSpecResult = ParamType(352) ParamC1G2BlockEraseOpSpecResult = ParamType(353) ParamC1G2BlockWriteOpSpecResult = ParamType(354) ParamC1G2Recommission = ParamType(357) ParamC1G2BlockPermalock = ParamType(358) ParamC1G2GetBlockPermalockStatus = ParamType(359) ParamC1G2RecommissionOpSpecResult = ParamType(360) ParamC1G2BlockPermalockOpSpecResult = ParamType(361) ParamC1G2GetBlockPermalockStatusOpSpecResult = ParamType(362) ParamMaximumReceiveSensitivity = ParamType(363) ParamRFSurveyFrequencyCapabilities = ParamType(365) )
const ( // VersionMin is the minimum LLRP version supported by this package. VersionMin = Version1_0_1 // VersionMax is the maximum LLRP version supported by this package. // See WithVersion for more information. VersionMax = Version1_1 // MaxBufferedPayloadSz is the maximum payload size permitted in responses. // // Although LLRP theoretically can handle message up to 4GiB, // in practice most messages are nowhere near this size. // One large manufacturer even states explicitly that // they'll simply close the connection if a message exceeds ~500KiB, // including outgoing tag reports. // // MessageHandlers aren't restricted to this limitation, // but as a result, require processing the message synchronously, // as the incoming message must be read in full (even if discarded) // before any other message can be read. MaxBufferedPayloadSz = uint32((1 << 10) * 640) )
const AISpecEnded = AISpecEventType(0)
const ( HeaderSz = 10 // LLRP message headers are 10 bytes )
const Unspecified = CountryCodeType(0)
Variables ¶
var ( // ErrClientClosed is returned if an operation is attempted on a closed Client, // indicating that Shutdown or Close was called. // It may be wrapped, so to check for it, use errors.Is. ErrClientClosed = goErrs.New("client closed") )
Types ¶
type AISpec ¶
type AISpec struct { // AntennaIDs tells the device which antennas to use. If any of them are zero, then // they're all used, regardless of any other value in the array. AntennaIDs []AntennaID StopTrigger AISpecStopTrigger InventoryParameterSpecs []InventoryParameterSpec Custom []Custom }
AISpec is Parameter 183, AISpec.
AISpec defines antenna inventory operations, which LLRP defines as "the smallest unit of interaction between a Reader and tags in the antenna's field-of-view."
An AISpec gives a list of InventoryParameterSpecs, which define how the RFID device should singulate tags. It combines this with an stop trigger and list of antennas. Each inventory spec is executed for each antenna, and the stop condition applies to the aggregate of these AI operations. The device chooses the order in which the operations are executed, regardless of the order presented.
func (*AISpec) EncodeFields ¶
func (*AISpec) MarshalBinary ¶
MarshalBinary Parameter 183, AISpec.
func (*AISpec) UnmarshalBinary ¶
UnmarshalBinary Parameter 183, AISpec.
type AISpecEvent ¶
type AISpecEvent struct { Event AISpecEventType ROSpecID uint32 SpecIndex uint16 SingulationDetails *C1G2SingulationDetails }
AISpecEvent is Parameter 254, AISpecEvent.
func (*AISpecEvent) EncodeFields ¶
func (p *AISpecEvent) EncodeFields(w io.Writer) error
func (*AISpecEvent) MarshalBinary ¶
func (p *AISpecEvent) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 254, AISpecEvent.
func (*AISpecEvent) UnmarshalBinary ¶
func (p *AISpecEvent) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 254, AISpecEvent.
type AISpecEventType ¶
type AISpecEventType uint8
type AISpecStopTrigger ¶
type AISpecStopTrigger struct { Trigger AISpecStopTriggerType DurationTriggerValue Millisecs32 GPITrigger *GPITriggerValue TagObservationTrigger *TagObservationTrigger }
AISpecStopTrigger is Parameter 184, AISpecStopTrigger.
func (*AISpecStopTrigger) EncodeFields ¶
func (p *AISpecStopTrigger) EncodeFields(w io.Writer) error
func (*AISpecStopTrigger) MarshalBinary ¶
func (p *AISpecStopTrigger) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 184, AISpecStopTrigger.
func (*AISpecStopTrigger) UnmarshalBinary ¶
func (p *AISpecStopTrigger) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 184, AISpecStopTrigger.
type AISpecStopTriggerType ¶
type AISpecStopTriggerType uint8
AISpecStopTriggerType specifies when an Antenna Operation should terminate.
type AccessCommand ¶
type AccessCommand struct { C1G2TagSpec C1G2TagSpec C1G2Read *C1G2Read C1G2Write *C1G2Write C1G2Kill *C1G2Kill C1G2Recommission *C1G2Recommission C1G2Lock *C1G2Lock C1G2BlockErase *C1G2BlockErase C1G2BlockWrite *C1G2BlockWrite C1G2BlockPermalock *C1G2BlockPermalock C1G2GetBlockPermalockStatus *C1G2GetBlockPermalockStatus ClientRequestOpSpec *ClientRequestOpSpec Custom []Custom }
AccessCommand is Parameter 209, AccessCommand.
func (*AccessCommand) EncodeFields ¶
func (p *AccessCommand) EncodeFields(w io.Writer) error
func (*AccessCommand) MarshalBinary ¶
func (p *AccessCommand) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 209, AccessCommand.
func (*AccessCommand) UnmarshalBinary ¶
func (p *AccessCommand) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 209, AccessCommand.
type AccessReportSpec ¶
type AccessReportSpec AccessReportTriggerType
AccessReportSpec is Parameter 239, AccessReportSpec.
func (*AccessReportSpec) EncodeFields ¶
func (p *AccessReportSpec) EncodeFields(w io.Writer) error
func (*AccessReportSpec) MarshalBinary ¶
func (p *AccessReportSpec) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 239, AccessReportSpec.
func (*AccessReportSpec) UnmarshalBinary ¶
func (p *AccessReportSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 239, AccessReportSpec.
type AccessReportTriggerType ¶
type AccessReportTriggerType uint8
type AccessSpec ¶
type AccessSpec struct { AccessSpecID uint32 AntennaID AntennaID AirProtocolID AirProtocolIDType IsActive bool ROSpecID uint32 Trigger AccessSpecStopTrigger AccessCommand AccessCommand AccessReportSpec *AccessReportSpec Custom []Custom }
AccessSpec is Parameter 207, AccessSpec.
func (*AccessSpec) EncodeFields ¶
func (p *AccessSpec) EncodeFields(w io.Writer) error
func (*AccessSpec) MarshalBinary ¶
func (p *AccessSpec) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 207, AccessSpec.
func (*AccessSpec) UnmarshalBinary ¶
func (p *AccessSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 207, AccessSpec.
type AccessSpecID ¶
type AccessSpecID uint32
AccessSpecID is Parameter 16, AccessSpecID.
func (*AccessSpecID) EncodeFields ¶
func (p *AccessSpecID) EncodeFields(w io.Writer) error
func (*AccessSpecID) MarshalBinary ¶
func (p *AccessSpecID) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 16, AccessSpecID.
func (*AccessSpecID) UnmarshalBinary ¶
func (p *AccessSpecID) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 16, AccessSpecID.
type AccessSpecStopTrigger ¶
type AccessSpecStopTrigger struct { Trigger AccessSpecStopTriggerType OperationCountValue uint16 }
AccessSpecStopTrigger is Parameter 208, AccessSpecStopTrigger.
func (*AccessSpecStopTrigger) EncodeFields ¶
func (p *AccessSpecStopTrigger) EncodeFields(w io.Writer) error
func (*AccessSpecStopTrigger) MarshalBinary ¶
func (p *AccessSpecStopTrigger) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 208, AccessSpecStopTrigger.
func (*AccessSpecStopTrigger) UnmarshalBinary ¶
func (p *AccessSpecStopTrigger) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 208, AccessSpecStopTrigger.
type AccessSpecStopTriggerType ¶
type AccessSpecStopTriggerType uint8
type AddAccessSpec ¶
type AddAccessSpec struct { AccessSpec AccessSpec }
AddAccessSpec is Message 40, AddAccessSpec.
func (*AddAccessSpec) EncodeFields ¶
func (m *AddAccessSpec) EncodeFields(w io.Writer) error
EncodeFields for Message 40, AddAccessSpec.
func (*AddAccessSpec) MarshalBinary ¶
func (m *AddAccessSpec) MarshalBinary() ([]byte, error)
MarshalBinary Message 40, AddAccessSpec.
func (*AddAccessSpec) Type ¶
func (*AddAccessSpec) Type() MessageType
Type returns this message's MessageType
func (*AddAccessSpec) UnmarshalBinary ¶
func (m *AddAccessSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 40, AddAccessSpec.
type AddAccessSpecResponse ¶
type AddAccessSpecResponse struct { LLRPStatus LLRPStatus }
AddAccessSpecResponse is Message 50, AddAccessSpecResponse.
func (*AddAccessSpecResponse) EncodeFields ¶
func (m *AddAccessSpecResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 50, AddAccessSpecResponse.
func (*AddAccessSpecResponse) MarshalBinary ¶
func (m *AddAccessSpecResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 50, AddAccessSpecResponse.
func (*AddAccessSpecResponse) Status ¶
func (m *AddAccessSpecResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*AddAccessSpecResponse) Type ¶
func (*AddAccessSpecResponse) Type() MessageType
Type returns this message's MessageType
func (*AddAccessSpecResponse) UnmarshalBinary ¶
func (m *AddAccessSpecResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 50, AddAccessSpecResponse.
type AddROSpec ¶
type AddROSpec struct { ROSpec ROSpec }
AddROSpec is Message 20, AddROSpec.
AddROSpec adds an Reader Operation Specification.
ROSpecs must be added in the Disabled state, and it's up to the client to set the ROSpecID. That ID is used to reference the spec in other messages.
func (*AddROSpec) EncodeFields ¶
EncodeFields for Message 20, AddROSpec.
func (*AddROSpec) MarshalBinary ¶
MarshalBinary Message 20, AddROSpec.
func (*AddROSpec) Type ¶
func (*AddROSpec) Type() MessageType
Type returns this message's MessageType
func (*AddROSpec) UnmarshalBinary ¶
UnmarshalBinary Message 20, AddROSpec.
type AddROSpecResponse ¶
type AddROSpecResponse struct { LLRPStatus LLRPStatus }
AddROSpecResponse is Message 30, AddROSpecResponse.
func (*AddROSpecResponse) EncodeFields ¶
func (m *AddROSpecResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 30, AddROSpecResponse.
func (*AddROSpecResponse) MarshalBinary ¶
func (m *AddROSpecResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 30, AddROSpecResponse.
func (*AddROSpecResponse) Status ¶
func (m *AddROSpecResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*AddROSpecResponse) Type ¶
func (*AddROSpecResponse) Type() MessageType
Type returns this message's MessageType
func (*AddROSpecResponse) UnmarshalBinary ¶
func (m *AddROSpecResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 30, AddROSpecResponse.
type AirProtocolIDType ¶
type AirProtocolIDType uint8
AirProtocolIDType defines the air protocols LLRP supports for accessing tags.
The air protocol determines how tags are sigulated and access operations performed, affects which parameters are permitted in certain contexts, and in theory can vary per antenna. In practice, however, there's only ever been a single one defined, and the standard hasn't been updated in ten years.
func (AirProtocolIDType) String ¶
func (i AirProtocolIDType) String() string
type AntennaConfiguration ¶
type AntennaConfiguration struct { AntennaID AntennaID RFReceiver *RFReceiver RFTransmitter *RFTransmitter C1G2InventoryCommand *C1G2InventoryCommand Custom []Custom }
AntennaConfiguration is Parameter 222, AntennaConfiguration.
func (*AntennaConfiguration) EncodeFields ¶
func (p *AntennaConfiguration) EncodeFields(w io.Writer) error
func (*AntennaConfiguration) MarshalBinary ¶
func (p *AntennaConfiguration) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 222, AntennaConfiguration.
func (*AntennaConfiguration) UnmarshalBinary ¶
func (p *AntennaConfiguration) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 222, AntennaConfiguration.
type AntennaEvent ¶
type AntennaEvent struct { Event AntennaEventType AntennaID AntennaID }
AntennaEvent is Parameter 255, AntennaEvent.
func (*AntennaEvent) EncodeFields ¶
func (p *AntennaEvent) EncodeFields(w io.Writer) error
func (*AntennaEvent) MarshalBinary ¶
func (p *AntennaEvent) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 255, AntennaEvent.
func (*AntennaEvent) UnmarshalBinary ¶
func (p *AntennaEvent) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 255, AntennaEvent.
type AntennaEventType ¶
type AntennaEventType uint8
type AntennaID ¶
type AntennaID uint16
AntennaID is Parameter 1, AntennaID.
func (*AntennaID) EncodeFields ¶
func (*AntennaID) MarshalBinary ¶
MarshalBinary Parameter 1, AntennaID.
func (*AntennaID) UnmarshalBinary ¶
UnmarshalBinary Parameter 1, AntennaID.
type AntennaProperties ¶
type AntennaProperties struct { AntennaConnected bool AntennaID AntennaID // AntennaGain is the composite forward gain of the antenna, including cable loss, // relative a hypothetical isotropic antenna, expressed in 1/100ths of dBi. AntennaGain MillibelIsotropic }
AntennaProperties is Parameter 221, AntennaProperties.
func (*AntennaProperties) EncodeFields ¶
func (p *AntennaProperties) EncodeFields(w io.Writer) error
func (*AntennaProperties) MarshalBinary ¶
func (p *AntennaProperties) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 221, AntennaProperties.
func (*AntennaProperties) UnmarshalBinary ¶
func (p *AntennaProperties) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 221, AntennaProperties.
type BackscatterMod ¶
type BackscatterMod uint8
BackscatterMod enumerates the C1G2 sub-carrier modulation types.
type BitsPerSec ¶
type BitsPerSec = uint32
BitsPerSec are used to describe backscatter data rates.
type C1G2BlockErase ¶
type C1G2BlockErase struct { OpSpecID uint16 AccessPassword uint32 C1G2MemoryBank C1G2MemoryBankType WordAddress uint16 WordCount uint16 }
C1G2BlockErase is Parameter 346, C1G2BlockErase.
func (*C1G2BlockErase) EncodeFields ¶
func (p *C1G2BlockErase) EncodeFields(w io.Writer) error
func (*C1G2BlockErase) MarshalBinary ¶
func (p *C1G2BlockErase) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 346, C1G2BlockErase.
func (*C1G2BlockErase) UnmarshalBinary ¶
func (p *C1G2BlockErase) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 346, C1G2BlockErase.
type C1G2BlockEraseOpSpecResult ¶
type C1G2BlockEraseOpSpecResult struct { C1G2BlockEraseResult C1G2BlockEraseResultType OpSpecID uint16 }
C1G2BlockEraseOpSpecResult is Parameter 353, C1G2BlockEraseOpSpecResult.
func (*C1G2BlockEraseOpSpecResult) EncodeFields ¶
func (p *C1G2BlockEraseOpSpecResult) EncodeFields(w io.Writer) error
func (*C1G2BlockEraseOpSpecResult) MarshalBinary ¶
func (p *C1G2BlockEraseOpSpecResult) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 353, C1G2BlockEraseOpSpecResult.
func (*C1G2BlockEraseOpSpecResult) UnmarshalBinary ¶
func (p *C1G2BlockEraseOpSpecResult) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 353, C1G2BlockEraseOpSpecResult.
type C1G2BlockEraseResultType ¶
type C1G2BlockEraseResultType uint8
type C1G2BlockPermalock ¶
type C1G2BlockPermalock struct { OpSpecID uint16 AccessPassword uint32 C1G2MemoryBank C1G2MemoryBankType BlockAddress uint16 BlockMask []uint16 }
C1G2BlockPermalock is Parameter 358, C1G2BlockPermalock.
func (*C1G2BlockPermalock) EncodeFields ¶
func (p *C1G2BlockPermalock) EncodeFields(w io.Writer) error
func (*C1G2BlockPermalock) MarshalBinary ¶
func (p *C1G2BlockPermalock) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 358, C1G2BlockPermalock.
func (*C1G2BlockPermalock) UnmarshalBinary ¶
func (p *C1G2BlockPermalock) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 358, C1G2BlockPermalock.
type C1G2BlockPermalockOpSpecResult ¶
type C1G2BlockPermalockOpSpecResult struct { C1G2BlockPermalockResult C1G2BlockPermalockResultType OpSpecID uint16 }
C1G2BlockPermalockOpSpecResult is Parameter 361, C1G2BlockPermalockOpSpecResult.
func (*C1G2BlockPermalockOpSpecResult) EncodeFields ¶
func (p *C1G2BlockPermalockOpSpecResult) EncodeFields(w io.Writer) error
func (*C1G2BlockPermalockOpSpecResult) MarshalBinary ¶
func (p *C1G2BlockPermalockOpSpecResult) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 361, C1G2BlockPermalockOpSpecResult.
func (*C1G2BlockPermalockOpSpecResult) UnmarshalBinary ¶
func (p *C1G2BlockPermalockOpSpecResult) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 361, C1G2BlockPermalockOpSpecResult.
type C1G2BlockPermalockResultType ¶
type C1G2BlockPermalockResultType uint8
type C1G2BlockWrite ¶
type C1G2BlockWrite struct { OpSpecID uint16 AccessPassword uint32 C1G2MemoryBank C1G2MemoryBankType WordAddress uint16 Data []uint16 }
C1G2BlockWrite is Parameter 347, C1G2BlockWrite.
func (*C1G2BlockWrite) EncodeFields ¶
func (p *C1G2BlockWrite) EncodeFields(w io.Writer) error
func (*C1G2BlockWrite) MarshalBinary ¶
func (p *C1G2BlockWrite) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 347, C1G2BlockWrite.
func (*C1G2BlockWrite) UnmarshalBinary ¶
func (p *C1G2BlockWrite) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 347, C1G2BlockWrite.
type C1G2BlockWriteOpSpecResult ¶
type C1G2BlockWriteOpSpecResult struct { C1G2BlockWriteResult C1G2BlockWriteResultType OpSpecID uint16 WordsWritten uint16 }
C1G2BlockWriteOpSpecResult is Parameter 354, C1G2BlockWriteOpSpecResult.
func (*C1G2BlockWriteOpSpecResult) EncodeFields ¶
func (p *C1G2BlockWriteOpSpecResult) EncodeFields(w io.Writer) error
func (*C1G2BlockWriteOpSpecResult) MarshalBinary ¶
func (p *C1G2BlockWriteOpSpecResult) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 354, C1G2BlockWriteOpSpecResult.
func (*C1G2BlockWriteOpSpecResult) UnmarshalBinary ¶
func (p *C1G2BlockWriteOpSpecResult) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 354, C1G2BlockWriteOpSpecResult.
type C1G2BlockWriteResultType ¶
type C1G2BlockWriteResultType uint8
type C1G2CRC ¶
type C1G2CRC uint16
C1G2CRC is Parameter 11, C1G2CRC.
func (*C1G2CRC) EncodeFields ¶
func (*C1G2CRC) MarshalBinary ¶
MarshalBinary Parameter 11, C1G2CRC.
func (*C1G2CRC) UnmarshalBinary ¶
UnmarshalBinary Parameter 11, C1G2CRC.
type C1G2EPCMemorySelector ¶
C1G2EPCMemorySelector is Parameter 348, C1G2EPCMemorySelector.
func (*C1G2EPCMemorySelector) EncodeFields ¶
func (p *C1G2EPCMemorySelector) EncodeFields(w io.Writer) error
func (*C1G2EPCMemorySelector) MarshalBinary ¶
func (p *C1G2EPCMemorySelector) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 348, C1G2EPCMemorySelector.
func (*C1G2EPCMemorySelector) UnmarshalBinary ¶
func (p *C1G2EPCMemorySelector) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 348, C1G2EPCMemorySelector.
type C1G2Filter ¶
type C1G2Filter struct { TruncateAction C1G2FilterTruncateActionType TagInventoryMask C1G2TagInventoryMask AwareFilterAction *C1G2TagInventoryStateAwareFilterAction UnawareFilterAction *C1G2TagInventoryStateUnawareFilterAction }
C1G2Filter is Parameter 331, C1G2Filter.
Influences C1G2 Select commands sent before an Inventory round which can force tags' session flags into specific states. Note that as in the Gen2 standard, Truncate may only be set (action 2) in the final Filter and can only apply to the EPC memory bank.
If the Reader supports tag-inventory-aware singulation, you can set the AwareFilterAction. If not, you can use the UnawareFilterAction.
func (*C1G2Filter) EncodeFields ¶
func (p *C1G2Filter) EncodeFields(w io.Writer) error
func (*C1G2Filter) MarshalBinary ¶
func (p *C1G2Filter) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 331, C1G2Filter.
func (*C1G2Filter) UnmarshalBinary ¶
func (p *C1G2Filter) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 331, C1G2Filter.
type C1G2FilterTruncateActionType ¶
type C1G2FilterTruncateActionType uint8
type C1G2GetBlockPermalockStatus ¶
type C1G2GetBlockPermalockStatus struct { OpSpecID uint16 AccessPassword uint32 C1G2MemoryBank C1G2MemoryBankType BlockAddress uint16 BlockRange uint16 }
C1G2GetBlockPermalockStatus is Parameter 359, C1G2GetBlockPermalockStatus.
func (*C1G2GetBlockPermalockStatus) EncodeFields ¶
func (p *C1G2GetBlockPermalockStatus) EncodeFields(w io.Writer) error
func (*C1G2GetBlockPermalockStatus) MarshalBinary ¶
func (p *C1G2GetBlockPermalockStatus) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 359, C1G2GetBlockPermalockStatus.
func (*C1G2GetBlockPermalockStatus) UnmarshalBinary ¶
func (p *C1G2GetBlockPermalockStatus) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 359, C1G2GetBlockPermalockStatus.
type C1G2GetBlockPermalockStatusOpSpecResult ¶
type C1G2GetBlockPermalockStatusOpSpecResult struct { C1G2GetBlockPermalockStatusResult C1G2GetBlockPermalockStatusResultType OpSpecID uint16 // PermalockStatuses of each block requested. PermalockStatuses []uint16 }
C1G2GetBlockPermalockStatusOpSpecResult is Parameter 362, C1G2GetBlockPermalockStatusOpSpecResult.
func (*C1G2GetBlockPermalockStatusOpSpecResult) EncodeFields ¶
func (p *C1G2GetBlockPermalockStatusOpSpecResult) EncodeFields(w io.Writer) error
func (*C1G2GetBlockPermalockStatusOpSpecResult) MarshalBinary ¶
func (p *C1G2GetBlockPermalockStatusOpSpecResult) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 362, C1G2GetBlockPermalockStatusOpSpecResult.
func (*C1G2GetBlockPermalockStatusOpSpecResult) UnmarshalBinary ¶
func (p *C1G2GetBlockPermalockStatusOpSpecResult) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 362, C1G2GetBlockPermalockStatusOpSpecResult.
type C1G2GetBlockPermalockStatusResultType ¶
type C1G2GetBlockPermalockStatusResultType uint8
type C1G2InventoryCommand ¶
type C1G2InventoryCommand struct { TagInventoryStateAware bool Filters []C1G2Filter RFControl *C1G2RFControl SingulationControl *C1G2SingulationControl Custom []Custom }
C1G2InventoryCommand is Parameter 330, C1G2InventoryCommand.
func (*C1G2InventoryCommand) EncodeFields ¶
func (p *C1G2InventoryCommand) EncodeFields(w io.Writer) error
func (*C1G2InventoryCommand) MarshalBinary ¶
func (p *C1G2InventoryCommand) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 330, C1G2InventoryCommand.
func (*C1G2InventoryCommand) UnmarshalBinary ¶
func (p *C1G2InventoryCommand) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 330, C1G2InventoryCommand.
type C1G2Kill ¶
C1G2Kill is Parameter 343, C1G2Kill.
func (*C1G2Kill) EncodeFields ¶
func (*C1G2Kill) MarshalBinary ¶
MarshalBinary Parameter 343, C1G2Kill.
func (*C1G2Kill) UnmarshalBinary ¶
UnmarshalBinary Parameter 343, C1G2Kill.
type C1G2KillOpSpecResult ¶
type C1G2KillOpSpecResult struct { C1G2KillResult C1G2KillResultType OpSpecID uint16 }
C1G2KillOpSpecResult is Parameter 351, C1G2KillOpSpecResult.
func (*C1G2KillOpSpecResult) EncodeFields ¶
func (p *C1G2KillOpSpecResult) EncodeFields(w io.Writer) error
func (*C1G2KillOpSpecResult) MarshalBinary ¶
func (p *C1G2KillOpSpecResult) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 351, C1G2KillOpSpecResult.
func (*C1G2KillOpSpecResult) UnmarshalBinary ¶
func (p *C1G2KillOpSpecResult) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 351, C1G2KillOpSpecResult.
type C1G2KillResultType ¶
type C1G2KillResultType uint8
type C1G2LLRPCapabilities ¶
type C1G2LLRPCapabilities struct { SupportsBlockErase bool SupportsBlockWrite bool SupportsBlockPermalock bool SupportsTagRecommissioning bool SupportsUMIMethod2 bool SupportsXPC bool // MaxSelectFiltersPerQuery can be 0 to indicate no maximum. MaxSelectFiltersPerQuery uint16 }
C1G2LLRPCapabilities is Parameter 327, C1G2LLRPCapabilities.
This parameter reports the C1G2-specific capabilities supported.
func (*C1G2LLRPCapabilities) EncodeFields ¶
func (p *C1G2LLRPCapabilities) EncodeFields(w io.Writer) error
func (*C1G2LLRPCapabilities) MarshalBinary ¶
func (p *C1G2LLRPCapabilities) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 327, C1G2LLRPCapabilities.
func (*C1G2LLRPCapabilities) UnmarshalBinary ¶
func (p *C1G2LLRPCapabilities) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 327, C1G2LLRPCapabilities.
type C1G2Lock ¶
type C1G2Lock struct { OpSpecID uint16 AccessPassword uint32 C1G2LockPayloads []C1G2LockPayload }
C1G2Lock is Parameter 344, C1G2Lock.
func (*C1G2Lock) EncodeFields ¶
func (*C1G2Lock) MarshalBinary ¶
MarshalBinary Parameter 344, C1G2Lock.
func (*C1G2Lock) UnmarshalBinary ¶
UnmarshalBinary Parameter 344, C1G2Lock.
type C1G2LockOpSpecResult ¶
type C1G2LockOpSpecResult struct { C1G2LockResult C1G2LockResultType OpSpecID uint16 }
C1G2LockOpSpecResult is Parameter 352, C1G2LockOpSpecResult.
func (*C1G2LockOpSpecResult) EncodeFields ¶
func (p *C1G2LockOpSpecResult) EncodeFields(w io.Writer) error
func (*C1G2LockOpSpecResult) MarshalBinary ¶
func (p *C1G2LockOpSpecResult) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 352, C1G2LockOpSpecResult.
func (*C1G2LockOpSpecResult) UnmarshalBinary ¶
func (p *C1G2LockOpSpecResult) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 352, C1G2LockOpSpecResult.
type C1G2LockPayload ¶
type C1G2LockPayload struct { LockPrivilege LockPrivilegeType LockData LockDataType }
C1G2LockPayload is Parameter 345, C1G2LockPayload.
func (*C1G2LockPayload) EncodeFields ¶
func (p *C1G2LockPayload) EncodeFields(w io.Writer) error
func (*C1G2LockPayload) MarshalBinary ¶
func (p *C1G2LockPayload) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 345, C1G2LockPayload.
func (*C1G2LockPayload) UnmarshalBinary ¶
func (p *C1G2LockPayload) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 345, C1G2LockPayload.
type C1G2LockResultType ¶
type C1G2LockResultType uint8
type C1G2MemoryBankType ¶
type C1G2MemoryBankType = uint8
C1G2MemoryBankType selection.
type C1G2PC ¶
type C1G2PC struct { EPCMemoryLength C1G2ProtoConEPCMemLength HasUserMemory bool // HasXPC is true if the Extended Protocol Control Word 1 exists (word 21 of EPC Memory). HasXPC bool // IsISO15961 is true if the final 8 bits of the PC are an ISO Application Family // Identifier (AFI), as defined in ISO15961. If so, the remainder of the EPC bank // contains a Unique Item Identifier (UII) appropriate for that AFI. If false, the final // 8 bits of the PC are (or may be) Attribute Bits (applies to Gen2 v1.x tags only), and // the remainder of the EPC memory bank is a binary encoded EPC. IsISO15961 bool // AttributesOrAFI is either the EPC C1G2 Attributes bits, or an ISO15961 AFI, depending // on the whether IsISO15961 is true. AttributesOrAFI byte }
C1G2PC is Parameter 12, C1G2PC.
This is the 16-bit Protocol Control field of the EPC Memory (bank 1). It indicates the number of EPC bits a tag returns to a reader, (regardless of the physical memory bank size), whether or not the tag has user memory (and contains data), whether or not an XPC is present, and whether the EPC memory bank contains a binary encoded EPC or an ISO Unique Item Identifier.
func (*C1G2PC) EncodeFields ¶
func (*C1G2PC) MarshalBinary ¶
MarshalBinary Parameter 12, C1G2PC.
func (*C1G2PC) UnmarshalBinary ¶
UnmarshalBinary Parameter 12, C1G2PC.
type C1G2ProtoConEPCMemLength ¶
type C1G2ProtoConEPCMemLength = uint8
C1G2ProtoConEPCMemLength indicates number of (valid) EPC bits in the EPC Memory (bank 1) of a Gen2 tag.
type C1G2RFControl ¶
type C1G2RFControl struct { // RFModeID must match one of the ModeIDs in the C1G2RFModes table that comes in the // UHFBandCapabilities (ParamType 144) section of the RegulatoryCapabilities (ParamType // 143) section of the GetReaderCapabilitiesResponse (MessageType 11) RFModeID uint16 // Tari is "Type A Reference Interval", in nanoseconds. Typically, values must be // 6250-25000ns, though they may be restricted by the RFModes table. Usually, a client // can use 0 to allow the Reader to select a valid value. // // While the details are more complicated, the Tari duration is a basis for most other // protocol durations, so all else equal, a shorter Tari allows a higher bitrate, but // that's an gross oversimplification. For more information, see the EPC Class 1 Gen 2 // standard and consult an RF engineer. Tari Nanosecs16 }
C1G2RFControl is Parameter 335, C1G2RFControl.
func (*C1G2RFControl) EncodeFields ¶
func (p *C1G2RFControl) EncodeFields(w io.Writer) error
func (*C1G2RFControl) MarshalBinary ¶
func (p *C1G2RFControl) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 335, C1G2RFControl.
func (*C1G2RFControl) UnmarshalBinary ¶
func (p *C1G2RFControl) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 335, C1G2RFControl.
type C1G2Read ¶
type C1G2Read struct { OpSpecID uint16 AccessPassword uint32 C1G2MemoryBank C1G2MemoryBankType WordAddress uint16 WordCount uint16 }
C1G2Read is Parameter 341, C1G2Read.
func (*C1G2Read) EncodeFields ¶
func (*C1G2Read) MarshalBinary ¶
MarshalBinary Parameter 341, C1G2Read.
func (*C1G2Read) UnmarshalBinary ¶
UnmarshalBinary Parameter 341, C1G2Read.
type C1G2ReadOpSpecResult ¶
type C1G2ReadOpSpecResult struct { C1G2ReadOpSpecResultType C1G2ReadOpSpecResultType OpSpecID uint16 Data []uint16 }
C1G2ReadOpSpecResult is Parameter 349, C1G2ReadOpSpecResult.
func (*C1G2ReadOpSpecResult) EncodeFields ¶
func (p *C1G2ReadOpSpecResult) EncodeFields(w io.Writer) error
func (*C1G2ReadOpSpecResult) MarshalBinary ¶
func (p *C1G2ReadOpSpecResult) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 349, C1G2ReadOpSpecResult.
func (*C1G2ReadOpSpecResult) UnmarshalBinary ¶
func (p *C1G2ReadOpSpecResult) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 349, C1G2ReadOpSpecResult.
type C1G2ReadOpSpecResultType ¶
type C1G2ReadOpSpecResultType uint8
type C1G2Recommission ¶
C1G2Recommission is Parameter 357, C1G2Recommission.
func (*C1G2Recommission) EncodeFields ¶
func (p *C1G2Recommission) EncodeFields(w io.Writer) error
func (*C1G2Recommission) MarshalBinary ¶
func (p *C1G2Recommission) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 357, C1G2Recommission.
func (*C1G2Recommission) UnmarshalBinary ¶
func (p *C1G2Recommission) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 357, C1G2Recommission.
type C1G2RecommissionFlags ¶
type C1G2RecommissionFlags uint8
type C1G2RecommissionOpSpecResult ¶
type C1G2RecommissionOpSpecResult struct { C1G2RecommissionResult C1G2RecommissionResultType OpSpecID uint16 }
C1G2RecommissionOpSpecResult is Parameter 360, C1G2RecommissionOpSpecResult.
func (*C1G2RecommissionOpSpecResult) EncodeFields ¶
func (p *C1G2RecommissionOpSpecResult) EncodeFields(w io.Writer) error
func (*C1G2RecommissionOpSpecResult) MarshalBinary ¶
func (p *C1G2RecommissionOpSpecResult) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 360, C1G2RecommissionOpSpecResult.
func (*C1G2RecommissionOpSpecResult) UnmarshalBinary ¶
func (p *C1G2RecommissionOpSpecResult) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 360, C1G2RecommissionOpSpecResult.
type C1G2RecommissionResultType ¶
type C1G2RecommissionResultType uint8
type C1G2SingulationControl ¶
type C1G2SingulationControl struct { // Session number for the inventory operation (0-3). Session C1G2SingulationSession // TagPopulation expected in the antenna's field of view. TagPopulation uint16 // TagTransitTime is a measure of the expected tag mobility. TagTransitTime Millisecs32 InvAwareAction *C1G2TagInventoryStateAwareSingulationAction }
C1G2SingulationControl is Parameter 336, C1G2SingulationControl.
func (*C1G2SingulationControl) EncodeFields ¶
func (p *C1G2SingulationControl) EncodeFields(w io.Writer) error
func (*C1G2SingulationControl) MarshalBinary ¶
func (p *C1G2SingulationControl) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 336, C1G2SingulationControl.
func (*C1G2SingulationControl) UnmarshalBinary ¶
func (p *C1G2SingulationControl) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 336, C1G2SingulationControl.
type C1G2SingulationDetails ¶
C1G2SingulationDetails is Parameter 18, C1G2SingulationDetails.
func (*C1G2SingulationDetails) EncodeFields ¶
func (p *C1G2SingulationDetails) EncodeFields(w io.Writer) error
func (*C1G2SingulationDetails) MarshalBinary ¶
func (p *C1G2SingulationDetails) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 18, C1G2SingulationDetails.
func (*C1G2SingulationDetails) UnmarshalBinary ¶
func (p *C1G2SingulationDetails) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 18, C1G2SingulationDetails.
type C1G2SingulationSession ¶
type C1G2SingulationSession = uint8
type C1G2TagInventoryMask ¶
type C1G2TagInventoryMask struct { MemoryBank C1G2MemoryBankType MostSignificantBit uint16 TagMaskNumBits uint16 TagMask []byte }
C1G2TagInventoryMask is Parameter 332, C1G2TagInventoryMask.
Mask data for the C1G2 Select command.
LLRP uses a uint16 for the TagMask length, probably so that bit arrays are encoded consistently. Despite this, the Gen2 Select command uses an 8-bit mask length, so if your mask is longer than that, the Reader will either send more than one Select command, filter the data post-singulation, or do the wrong thing.
For more predictable results with an unknown Reader, consider breaking long masks into two filters.
func (*C1G2TagInventoryMask) EncodeFields ¶
func (p *C1G2TagInventoryMask) EncodeFields(w io.Writer) error
func (*C1G2TagInventoryMask) MarshalBinary ¶
func (p *C1G2TagInventoryMask) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 332, C1G2TagInventoryMask.
func (*C1G2TagInventoryMask) UnmarshalBinary ¶
func (p *C1G2TagInventoryMask) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 332, C1G2TagInventoryMask.
type C1G2TagInventoryStateAwareFilterAction ¶
type C1G2TagInventoryStateAwareFilterAction struct { Target C1G2TagInventoryTargetType FilterAction C1G2TagInventoryStateAwareFilterActionType }
C1G2TagInventoryStateAwareFilterAction is Parameter 333, C1G2TagInventoryStateAwareFilterAction.
func (*C1G2TagInventoryStateAwareFilterAction) EncodeFields ¶
func (p *C1G2TagInventoryStateAwareFilterAction) EncodeFields(w io.Writer) error
func (*C1G2TagInventoryStateAwareFilterAction) MarshalBinary ¶
func (p *C1G2TagInventoryStateAwareFilterAction) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 333, C1G2TagInventoryStateAwareFilterAction.
func (*C1G2TagInventoryStateAwareFilterAction) UnmarshalBinary ¶
func (p *C1G2TagInventoryStateAwareFilterAction) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 333, C1G2TagInventoryStateAwareFilterAction.
type C1G2TagInventoryStateAwareFilterActionType ¶
type C1G2TagInventoryStateAwareFilterActionType uint8
type C1G2TagInventoryStateAwareSingulationAction ¶
type C1G2TagInventoryStateAwareSingulationAction struct { SessionState SessionState SLState SLState }
C1G2TagInventoryStateAwareSingulationAction is Parameter 337, C1G2TagInventoryStateAwareSingulationAction.
func (*C1G2TagInventoryStateAwareSingulationAction) EncodeFields ¶
func (p *C1G2TagInventoryStateAwareSingulationAction) EncodeFields(w io.Writer) error
func (*C1G2TagInventoryStateAwareSingulationAction) MarshalBinary ¶
func (p *C1G2TagInventoryStateAwareSingulationAction) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 337, C1G2TagInventoryStateAwareSingulationAction.
func (*C1G2TagInventoryStateAwareSingulationAction) UnmarshalBinary ¶
func (p *C1G2TagInventoryStateAwareSingulationAction) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 337, C1G2TagInventoryStateAwareSingulationAction.
type C1G2TagInventoryStateUnawareFilterAction ¶
type C1G2TagInventoryStateUnawareFilterAction C1G2TagInventoryStateUnawareFilterActionType
C1G2TagInventoryStateUnawareFilterAction is Parameter 334, C1G2TagInventoryStateUnawareFilterAction.
func (*C1G2TagInventoryStateUnawareFilterAction) EncodeFields ¶
func (p *C1G2TagInventoryStateUnawareFilterAction) EncodeFields(w io.Writer) error
func (*C1G2TagInventoryStateUnawareFilterAction) MarshalBinary ¶
func (p *C1G2TagInventoryStateUnawareFilterAction) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 334, C1G2TagInventoryStateUnawareFilterAction.
func (*C1G2TagInventoryStateUnawareFilterAction) UnmarshalBinary ¶
func (p *C1G2TagInventoryStateUnawareFilterAction) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 334, C1G2TagInventoryStateUnawareFilterAction.
type C1G2TagInventoryStateUnawareFilterActionType ¶
type C1G2TagInventoryStateUnawareFilterActionType uint8
type C1G2TagInventoryTargetType ¶
type C1G2TagInventoryTargetType uint8
type C1G2TagSpec ¶
type C1G2TagSpec struct { TagPattern1 C1G2TargetTag TagPattern2 *C1G2TargetTag }
C1G2TagSpec is Parameter 338, C1G2TagSpec.
func (*C1G2TagSpec) EncodeFields ¶
func (p *C1G2TagSpec) EncodeFields(w io.Writer) error
func (*C1G2TagSpec) MarshalBinary ¶
func (p *C1G2TagSpec) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 338, C1G2TagSpec.
func (*C1G2TagSpec) UnmarshalBinary ¶
func (p *C1G2TagSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 338, C1G2TagSpec.
type C1G2TargetTag ¶
type C1G2TargetTag struct { C1G2MemoryBank C1G2MemoryBankType MatchFlag bool MostSignificantBit uint16 TagMaskNumBits uint16 TagMask []byte TagDataNumBits uint16 TagData []byte }
C1G2TargetTag is Parameter 339, C1G2TargetTag.
func (*C1G2TargetTag) EncodeFields ¶
func (p *C1G2TargetTag) EncodeFields(w io.Writer) error
func (*C1G2TargetTag) MarshalBinary ¶
func (p *C1G2TargetTag) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 339, C1G2TargetTag.
func (*C1G2TargetTag) UnmarshalBinary ¶
func (p *C1G2TargetTag) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 339, C1G2TargetTag.
type C1G2Write ¶
type C1G2Write struct { OpSpecID uint16 AccessPassword uint32 C1G2MemoryBank C1G2MemoryBankType WordAddress uint16 Data []uint16 }
C1G2Write is Parameter 342, C1G2Write.
func (*C1G2Write) EncodeFields ¶
func (*C1G2Write) MarshalBinary ¶
MarshalBinary Parameter 342, C1G2Write.
func (*C1G2Write) UnmarshalBinary ¶
UnmarshalBinary Parameter 342, C1G2Write.
type C1G2WriteOpSpecResult ¶
type C1G2WriteOpSpecResult struct { C1G2WriteOpSpecResultType C1G2WriteOpSpecResultType OpSpecID uint16 WordsWritten uint16 }
C1G2WriteOpSpecResult is Parameter 350, C1G2WriteOpSpecResult.
func (*C1G2WriteOpSpecResult) EncodeFields ¶
func (p *C1G2WriteOpSpecResult) EncodeFields(w io.Writer) error
func (*C1G2WriteOpSpecResult) MarshalBinary ¶
func (p *C1G2WriteOpSpecResult) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 350, C1G2WriteOpSpecResult.
func (*C1G2WriteOpSpecResult) UnmarshalBinary ¶
func (p *C1G2WriteOpSpecResult) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 350, C1G2WriteOpSpecResult.
type C1G2WriteOpSpecResultType ¶
type C1G2WriteOpSpecResultType uint8
type C1G2XPCW1 ¶
type C1G2XPCW1 uint16
C1G2XPCW1 is Parameter 19, C1G2XPCW1.
func (*C1G2XPCW1) EncodeFields ¶
func (*C1G2XPCW1) MarshalBinary ¶
MarshalBinary Parameter 19, C1G2XPCW1.
func (*C1G2XPCW1) UnmarshalBinary ¶
UnmarshalBinary Parameter 19, C1G2XPCW1.
type C1G2XPCW2 ¶
type C1G2XPCW2 uint16
C1G2XPCW2 is Parameter 20, C1G2XPCW2.
func (*C1G2XPCW2) EncodeFields ¶
func (*C1G2XPCW2) MarshalBinary ¶
MarshalBinary Parameter 20, C1G2XPCW2.
func (*C1G2XPCW2) UnmarshalBinary ¶
UnmarshalBinary Parameter 20, C1G2XPCW2.
type ChannelIndex ¶
type ChannelIndex uint16
ChannelIndex is Parameter 7, ChannelIndex.
func (*ChannelIndex) EncodeFields ¶
func (p *ChannelIndex) EncodeFields(w io.Writer) error
func (*ChannelIndex) MarshalBinary ¶
func (p *ChannelIndex) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 7, ChannelIndex.
func (*ChannelIndex) UnmarshalBinary ¶
func (p *ChannelIndex) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 7, ChannelIndex.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client represents a client connection to an LLRP-compatible RFID reader.
func GetFunctionalClient ¶
GetFunctionalClient attempts to dial and connect to an LLRP Reader at the given address.
If it's unable to connect to the address, it fails the test immediately. It registers a Cleanup function to close the connection and checks for errors, and will run automatically when the test completes.
func NewClient ¶
NewClient returns a Client configured by the given options.
Without options, a Client gets a default logger prefixed with its Conn address, does not set deadlines on the connection, uses the package's max LLRP version to negotiate connections, and sends ACKs to KeepAlive messages from the reader.
func (*Client) Close ¶
Close closes the Client's connection to the reader immediately.
See Shutdown for an attempt to close the connection gracefully. After closing, the Client can no longer serve connections.
func (*Client) Connect ¶
Connect to an LLRP-capable device and start processing messages.
This takes ownership of the connection and blocks, serving the connection's incoming and outgoing messages until either it encounters an error or the Client is closed via a call to either Shutdown or Close. It does not close the net.Conn parameter.
It is NOT safe to call Connect more than once. Doing so has undefined results. Do not reuse a Client; create a new one. This will (likely) change in the future, but not yet.
If the Client is closed via Shutdown or Close, this returns ErrClientClosed or an error wrapping it; otherwise, it returns the first error it encounters. You can use this as a signal to identify whether the communication on a particular connection was successful. If this returns ErrClientClosed, it indicates some other portion of your code actively requested the connection to close. Any other error indicates a failed communication attempt, either due to an issue reading/writing on the connection, or the connected device severing the connection unexpectedly.
func (*Client) SendFor ¶
SendFor sends an Outgoing message and expects the Incoming reply.
This method round-trips a typical LLRP message exchange by marshaling the Outgoing message to LLRP binary, sending the message and awaiting the reply, and unmarshaling the result from LLRP binary to the Incoming struct.
It is safe to call this method even if the Client isn't connected; it blocks until the message is sent and a reply received, unless the context is canceled.
This method converts LLRP errors into *StatusErrors: if the Incoming message is an ErrorMessage, it unmarshals it and returns it as a *StatusError. If the Incoming message is Statusable (i.e., has an LLRPStatus), and that LLRPStatus is not Success, this converts it to a *StatusError.
Even if this returns a *StatusError, Incoming may be fully or partially unmarshalled, which may give useful context to the particular LLRP error details. However, if the reply message type doesn't match Incoming's type, it won't be unmarshalled, and this will return an error.
func (*Client) SendMessage ¶
func (c *Client) SendMessage(ctx context.Context, typ MessageType, data []byte) (MessageType, []byte, error)
SendMessage sends an arbitrary payload with a header matching the given MessageType. It awaits a response to the message, then buffers and returns it.
This method can be called at any time, even before the Reader is connected, though if Closed is called before the message is sent, it will return an error wrapping ErrClientClosed. If the message does not require a payload, you may pass an empty or nil data buffer.
Also see SendFor, which makes it easier to send specific LLRP messages and SendNoWait, which sends a message without expecting a response.
func (*Client) SendNoWait ¶
SendNoWait sends a message without awaiting the reply.
It still blocks until the message is sent, which can only happen after the connection is open and negotiated and messages earlier in the queue are sent.
func (*Client) Shutdown ¶
Shutdown attempts to gracefully close the connection.
Using Shutdown allows in-progress and queued requests to complete and sends the LLRP CloseConnection message. You can use this in combination with `Close` to attempt a graceful shutdown, followed by a forced shutdown if necessary:
ctx, cancel = context.WithTimeout(context.Background(), time.Second) defer cancel() if err := r.Shutdown(ctx); err != nil { if err := r.Close(); err != nil && !errors.Is(err, ErrClientClosed) { panic(err) } }
It's safe to call Shutdown multiple times, but at most only one will return a nil error; others will return ErrClientClosed or an error wrapping it. if only a single code path can call Shutdown, if it returns an error, then Connect will also return an error that does NOT wrap ErrClientClosed.
type ClientLogger ¶
type ClientLogger interface { ReceivedMsg(Header, VersionNum) // called with the client's current version when it receives a message SendingMsg(Header) // called just before writing a message to the connection MsgHandled(Header) // called after a message is sent to a handler or awaiting reply listener MsgUnhandled(Header) // called if a message is discarded because it had no handler or listener HandlerPanic(Header, error) // called if a handler panics while handling a message }
ClientLogger is used by the Client to notify the user of certain events. By default, new Clients log these message with the StdLogger, but that can be changed via WithLogger.
type ClientOpt ¶
type ClientOpt interface {
// contains filtered or unexported methods
}
ClientOpt modifies a Client during construction.
func WithDefaultHandler ¶
func WithDefaultHandler(handler MessageHandler) ClientOpt
WithDefaultHandler sets a handler for messages that aren't handled by either an awaiting listener or another MessageHandler.
Only a single default handler is supported. It may be set to nil, in which case unhandled non-reply messages are simply dropped.
func WithLogger ¶
func WithLogger(l ClientLogger) ClientOpt
WithLogger sets a logger for the Client.
By default, new clients get a simple logger that outputs messages prefixed with the client's name or address and a timestamp. If you don't want any log output, set this to nil.
func WithMessageHandler ¶
func WithMessageHandler(mt MessageType, handler MessageHandler) ClientOpt
WithMessageHandler sets a handler which will be called whenever a message of the given type arrives.
Handlers run in the same goroutine as the read side of the connection, blocking it until the handler completes. The message's payload reader is only valid while in that thread of execution; after the handler returns, any remaining unread payload is discarded. It is guarded from panics, but you should avoid any long-running operations. so if you want to start a goroutine to process the message, you'll need to copy it to a buffer within the main body of the handler.
Each message type has only a single handler, so if you wish to support multiple behaviors for a single message type, you'll need to copy and propagate the message to the other handlers. Setting a handler for the same message more than once will overwrite previously recorded handlers. Setting it to nil will delete the handler for that type. If a message doesn't have a Handler, it may be sent to a DefaultHandler, if configured.
Clients are created with a handler for KeepAlive (to send KeepAliveAck). If you override this, you'll need to acknowledge the KeepAlives yourself.
func WithStdLogger ¶
WithStdLogger uses the Go stdlib Logger for Client events.
This logger is used by default if the WithLogger option is not given, but if needed, this can be used to override an earlier WithLogger option (e.g., using a standard list of ClientOpts and overriding some elsewhere).
func WithTimeout ¶
WithTimeout sets timeout on the connection before each read and write.
If non-zero, the client will call SetReadDeadline and SetWriteDeadline before reading or writing respectively.
Note that if set, the connection will automatically close if the RFID device fails to send a message within the timeout, as no reads will have arrived before the deadline. As a result, this is most useful when combined with LLRP KeepAlive and set to an integer multiple of the KeepAlive interval plus a small grace. In that case, the client will automatically close the connection if it fails to receive some multiple of KeepAlive messages from the RFID device.
This package does not automatically request the Reader enable KeepAlives, as their exact behavior within LLRP is technically implementation-defined (in practice, Reader manufacturers will almost certainly use them as described). Therefore, if you wish to enable KeepAlive messages, you should send a SetReaderConfiguration message.
func WithVersion ¶
func WithVersion(v VersionNum) ClientOpt
WithVersion sets the max permitted LLRP version for this connection.
The actual version used during communication is selected upon connection using LLRP's version negotiation messages. It is the higher of the value given here and that supported by the Reader. Note that if the version is to 1.0.1, version negotiation is skipped.
This panics if given an unsupported version.
type ClientRequestOp ¶
type ClientRequestOp struct { TagReportData TagReportData }
ClientRequestOp is Message 45, ClientRequestOp.
func (*ClientRequestOp) EncodeFields ¶
func (m *ClientRequestOp) EncodeFields(w io.Writer) error
EncodeFields for Message 45, ClientRequestOp.
func (*ClientRequestOp) MarshalBinary ¶
func (m *ClientRequestOp) MarshalBinary() ([]byte, error)
MarshalBinary Message 45, ClientRequestOp.
func (*ClientRequestOp) Type ¶
func (*ClientRequestOp) Type() MessageType
Type returns this message's MessageType
func (*ClientRequestOp) UnmarshalBinary ¶
func (m *ClientRequestOp) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 45, ClientRequestOp.
type ClientRequestOpResponse ¶
type ClientRequestOpResponse struct { ClientRequestResponse ClientRequestResponse }
ClientRequestOpResponse is Message 55, ClientRequestOpResponse.
func (*ClientRequestOpResponse) EncodeFields ¶
func (m *ClientRequestOpResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 55, ClientRequestOpResponse.
func (*ClientRequestOpResponse) MarshalBinary ¶
func (m *ClientRequestOpResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 55, ClientRequestOpResponse.
func (*ClientRequestOpResponse) Type ¶
func (*ClientRequestOpResponse) Type() MessageType
Type returns this message's MessageType
func (*ClientRequestOpResponse) UnmarshalBinary ¶
func (m *ClientRequestOpResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 55, ClientRequestOpResponse.
type ClientRequestOpSpec ¶
type ClientRequestOpSpec uint16
ClientRequestOpSpec is Parameter 210, ClientRequestOpSpec.
func (*ClientRequestOpSpec) EncodeFields ¶
func (p *ClientRequestOpSpec) EncodeFields(w io.Writer) error
func (*ClientRequestOpSpec) MarshalBinary ¶
func (p *ClientRequestOpSpec) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 210, ClientRequestOpSpec.
func (*ClientRequestOpSpec) UnmarshalBinary ¶
func (p *ClientRequestOpSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 210, ClientRequestOpSpec.
type ClientRequestOpSpecResult ¶
type ClientRequestOpSpecResult uint16
ClientRequestOpSpecResult is Parameter 15, ClientRequestOpSpecResult.
func (*ClientRequestOpSpecResult) EncodeFields ¶
func (p *ClientRequestOpSpecResult) EncodeFields(w io.Writer) error
func (*ClientRequestOpSpecResult) MarshalBinary ¶
func (p *ClientRequestOpSpecResult) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 15, ClientRequestOpSpecResult.
func (*ClientRequestOpSpecResult) UnmarshalBinary ¶
func (p *ClientRequestOpSpecResult) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 15, ClientRequestOpSpecResult.
type ClientRequestResponse ¶
type ClientRequestResponse struct { AccessSpecID uint32 EPCData EPCData C1G2Read *C1G2Read C1G2Write *C1G2Write C1G2Kill *C1G2Kill C1G2Recommission *C1G2Recommission C1G2Lock *C1G2Lock C1G2BlockErase *C1G2BlockErase C1G2BlockWrite *C1G2BlockWrite C1G2BlockPermalock *C1G2BlockPermalock C1G2GetBlockPermalockStatus *C1G2GetBlockPermalockStatus ClientRequestOpSpec *ClientRequestOpSpec Custom *Custom }
ClientRequestResponse is Parameter 211, ClientRequestResponse.
func (*ClientRequestResponse) EncodeFields ¶
func (p *ClientRequestResponse) EncodeFields(w io.Writer) error
func (*ClientRequestResponse) MarshalBinary ¶
func (p *ClientRequestResponse) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 211, ClientRequestResponse.
func (*ClientRequestResponse) UnmarshalBinary ¶
func (p *ClientRequestResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 211, ClientRequestResponse.
type CloseConnection ¶
type CloseConnection struct{}
CloseConnection is Message 14, CloseConnection.
func (*CloseConnection) EncodeFields ¶
func (m *CloseConnection) EncodeFields(w io.Writer) error
EncodeFields for Message 14, CloseConnection.
func (*CloseConnection) MarshalBinary ¶
func (m *CloseConnection) MarshalBinary() ([]byte, error)
MarshalBinary Message 14, CloseConnection.
func (*CloseConnection) Type ¶
func (*CloseConnection) Type() MessageType
Type returns this message's MessageType
func (*CloseConnection) UnmarshalBinary ¶
func (m *CloseConnection) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 14, CloseConnection.
type CloseConnectionResponse ¶
type CloseConnectionResponse struct { LLRPStatus LLRPStatus }
CloseConnectionResponse is Message 4, CloseConnectionResponse.
func (*CloseConnectionResponse) EncodeFields ¶
func (m *CloseConnectionResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 4, CloseConnectionResponse.
func (*CloseConnectionResponse) MarshalBinary ¶
func (m *CloseConnectionResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 4, CloseConnectionResponse.
func (*CloseConnectionResponse) Status ¶
func (m *CloseConnectionResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*CloseConnectionResponse) Type ¶
func (*CloseConnectionResponse) Type() MessageType
Type returns this message's MessageType
func (*CloseConnectionResponse) UnmarshalBinary ¶
func (m *CloseConnectionResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 4, CloseConnectionResponse.
type CommStandardType ¶
type CommStandardType uint16
CommStandardType enumerates communication standards known to LLRP.
type ConnectionAttemptEvent ¶
type ConnectionAttemptEvent ConnectionAttemptEventType
ConnectionAttemptEvent is Parameter 256, ConnectionAttemptEvent.
func (*ConnectionAttemptEvent) EncodeFields ¶
func (p *ConnectionAttemptEvent) EncodeFields(w io.Writer) error
func (*ConnectionAttemptEvent) MarshalBinary ¶
func (p *ConnectionAttemptEvent) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 256, ConnectionAttemptEvent.
func (*ConnectionAttemptEvent) UnmarshalBinary ¶
func (p *ConnectionAttemptEvent) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 256, ConnectionAttemptEvent.
type ConnectionAttemptEventType ¶
type ConnectionAttemptEventType uint16
func (ConnectionAttemptEventType) String ¶
func (i ConnectionAttemptEventType) String() string
type ConnectionCloseEvent ¶
type ConnectionCloseEvent struct{}
ConnectionCloseEvent is Parameter 257, ConnectionCloseEvent.
func (*ConnectionCloseEvent) EncodeFields ¶
func (p *ConnectionCloseEvent) EncodeFields(w io.Writer) error
func (*ConnectionCloseEvent) MarshalBinary ¶
func (p *ConnectionCloseEvent) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 257, ConnectionCloseEvent.
func (*ConnectionCloseEvent) UnmarshalBinary ¶
func (p *ConnectionCloseEvent) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 257, ConnectionCloseEvent.
type CountryCodeType ¶
type CountryCodeType uint16
CountryCodeType is an ISO-3166 country code.
type Custom ¶
Custom is Parameter 1023, Custom.
func (*Custom) EncodeFields ¶
func (*Custom) MarshalBinary ¶
MarshalBinary Parameter 1023, Custom.
func (*Custom) UnmarshalBinary ¶
UnmarshalBinary Parameter 1023, Custom.
type CustomMessage ¶
CustomMessage is Message 1023, CustomMessage.
func (*CustomMessage) EncodeFields ¶
func (m *CustomMessage) EncodeFields(w io.Writer) error
EncodeFields for Message 1023, CustomMessage.
func (*CustomMessage) MarshalBinary ¶
func (m *CustomMessage) MarshalBinary() ([]byte, error)
MarshalBinary Message 1023, CustomMessage.
func (*CustomMessage) Type ¶
func (*CustomMessage) Type() MessageType
Type returns this message's MessageType
func (*CustomMessage) UnmarshalBinary ¶
func (m *CustomMessage) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 1023, CustomMessage.
type Decibel ¶
type Decibel = uint16
Decibel is 1/10 of a bel, which is the either the log10 of the ratio of a power quantity relative a reference, or 2*log10 of the ratio of an amplitude quantity relative a reference field.
In LLRP, it's used for receive sensitivity values relative the device maximum sensitivity. Although in general dBm values may be negative, LLRP restricts the ReceiveSensitivityTable's values to 0 to 128, though they require them to be transmitted using 16 bits.
type DecibelMilliwatt16 ¶
type DecibelMilliwatt16 = int16
DecibelMilliwatt16 is a 16-bit dBm value. In LLRP, it's used for maximum receive sensitivity.
type DecibelMilliwatt8 ¶
type DecibelMilliwatt8 = int8
DecibelMilliwatt8 is a 8-bit dBm value. In LLRP, it's used to represent (received signal strength indicator) RSSI.
type DeleteAccessSpec ¶
type DeleteAccessSpec struct { AccessSpecID uint32 }
DeleteAccessSpec is Message 41, DeleteAccessSpec.
func (*DeleteAccessSpec) EncodeFields ¶
func (m *DeleteAccessSpec) EncodeFields(w io.Writer) error
EncodeFields for Message 41, DeleteAccessSpec.
func (*DeleteAccessSpec) MarshalBinary ¶
func (m *DeleteAccessSpec) MarshalBinary() ([]byte, error)
MarshalBinary Message 41, DeleteAccessSpec.
func (*DeleteAccessSpec) Type ¶
func (*DeleteAccessSpec) Type() MessageType
Type returns this message's MessageType
func (*DeleteAccessSpec) UnmarshalBinary ¶
func (m *DeleteAccessSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 41, DeleteAccessSpec.
type DeleteAccessSpecResponse ¶
type DeleteAccessSpecResponse struct { LLRPStatus LLRPStatus }
DeleteAccessSpecResponse is Message 51, DeleteAccessSpecResponse.
func (*DeleteAccessSpecResponse) EncodeFields ¶
func (m *DeleteAccessSpecResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 51, DeleteAccessSpecResponse.
func (*DeleteAccessSpecResponse) MarshalBinary ¶
func (m *DeleteAccessSpecResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 51, DeleteAccessSpecResponse.
func (*DeleteAccessSpecResponse) Status ¶
func (m *DeleteAccessSpecResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*DeleteAccessSpecResponse) Type ¶
func (*DeleteAccessSpecResponse) Type() MessageType
Type returns this message's MessageType
func (*DeleteAccessSpecResponse) UnmarshalBinary ¶
func (m *DeleteAccessSpecResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 51, DeleteAccessSpecResponse.
type DeleteROSpec ¶
type DeleteROSpec struct { ROSpecID uint32 }
DeleteROSpec is Message 21, DeleteROSpec.
func (*DeleteROSpec) EncodeFields ¶
func (m *DeleteROSpec) EncodeFields(w io.Writer) error
EncodeFields for Message 21, DeleteROSpec.
func (*DeleteROSpec) MarshalBinary ¶
func (m *DeleteROSpec) MarshalBinary() ([]byte, error)
MarshalBinary Message 21, DeleteROSpec.
func (*DeleteROSpec) Type ¶
func (*DeleteROSpec) Type() MessageType
Type returns this message's MessageType
func (*DeleteROSpec) UnmarshalBinary ¶
func (m *DeleteROSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 21, DeleteROSpec.
type DeleteROSpecResponse ¶
type DeleteROSpecResponse struct { LLRPStatus LLRPStatus }
DeleteROSpecResponse is Message 31, DeleteROSpecResponse.
func (*DeleteROSpecResponse) EncodeFields ¶
func (m *DeleteROSpecResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 31, DeleteROSpecResponse.
func (*DeleteROSpecResponse) MarshalBinary ¶
func (m *DeleteROSpecResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 31, DeleteROSpecResponse.
func (*DeleteROSpecResponse) Status ¶
func (m *DeleteROSpecResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*DeleteROSpecResponse) Type ¶
func (*DeleteROSpecResponse) Type() MessageType
Type returns this message's MessageType
func (*DeleteROSpecResponse) UnmarshalBinary ¶
func (m *DeleteROSpecResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 31, DeleteROSpecResponse.
type DisableAccessSpec ¶
type DisableAccessSpec struct { AccessSpecID uint32 }
DisableAccessSpec is Message 43, DisableAccessSpec.
func (*DisableAccessSpec) EncodeFields ¶
func (m *DisableAccessSpec) EncodeFields(w io.Writer) error
EncodeFields for Message 43, DisableAccessSpec.
func (*DisableAccessSpec) MarshalBinary ¶
func (m *DisableAccessSpec) MarshalBinary() ([]byte, error)
MarshalBinary Message 43, DisableAccessSpec.
func (*DisableAccessSpec) Type ¶
func (*DisableAccessSpec) Type() MessageType
Type returns this message's MessageType
func (*DisableAccessSpec) UnmarshalBinary ¶
func (m *DisableAccessSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 43, DisableAccessSpec.
type DisableAccessSpecResponse ¶
type DisableAccessSpecResponse struct { LLRPStatus LLRPStatus }
DisableAccessSpecResponse is Message 53, DisableAccessSpecResponse.
func (*DisableAccessSpecResponse) EncodeFields ¶
func (m *DisableAccessSpecResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 53, DisableAccessSpecResponse.
func (*DisableAccessSpecResponse) MarshalBinary ¶
func (m *DisableAccessSpecResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 53, DisableAccessSpecResponse.
func (*DisableAccessSpecResponse) Status ¶
func (m *DisableAccessSpecResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*DisableAccessSpecResponse) Type ¶
func (*DisableAccessSpecResponse) Type() MessageType
Type returns this message's MessageType
func (*DisableAccessSpecResponse) UnmarshalBinary ¶
func (m *DisableAccessSpecResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 53, DisableAccessSpecResponse.
type DisableROSpec ¶
type DisableROSpec struct { ROSpecID uint32 }
DisableROSpec is Message 25, DisableROSpec.
func (*DisableROSpec) EncodeFields ¶
func (m *DisableROSpec) EncodeFields(w io.Writer) error
EncodeFields for Message 25, DisableROSpec.
func (*DisableROSpec) MarshalBinary ¶
func (m *DisableROSpec) MarshalBinary() ([]byte, error)
MarshalBinary Message 25, DisableROSpec.
func (*DisableROSpec) Type ¶
func (*DisableROSpec) Type() MessageType
Type returns this message's MessageType
func (*DisableROSpec) UnmarshalBinary ¶
func (m *DisableROSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 25, DisableROSpec.
type DisableROSpecResponse ¶
type DisableROSpecResponse struct { LLRPStatus LLRPStatus }
DisableROSpecResponse is Message 35, DisableROSpecResponse.
func (*DisableROSpecResponse) EncodeFields ¶
func (m *DisableROSpecResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 35, DisableROSpecResponse.
func (*DisableROSpecResponse) MarshalBinary ¶
func (m *DisableROSpecResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 35, DisableROSpecResponse.
func (*DisableROSpecResponse) Status ¶
func (m *DisableROSpecResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*DisableROSpecResponse) Type ¶
func (*DisableROSpecResponse) Type() MessageType
Type returns this message's MessageType
func (*DisableROSpecResponse) UnmarshalBinary ¶
func (m *DisableROSpecResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 35, DisableROSpecResponse.
type DivideRatio ¶
type DivideRatio uint8
DivideRatio is used by a tag to determine BLF in C1G2. See UHFC1G2RFModeTable.
type EPC96 ¶
type EPC96 struct { EPC []byte }
EPC96 is Parameter 13, EPC96.
func (*EPC96) EncodeFields ¶
func (*EPC96) MarshalBinary ¶
MarshalBinary Parameter 13, EPC96.
func (*EPC96) UnmarshalBinary ¶
UnmarshalBinary Parameter 13, EPC96.
type EPCData ¶
EPCData is Parameter 241, EPCData.
func (*EPCData) EncodeFields ¶
func (*EPCData) MarshalBinary ¶
MarshalBinary Parameter 241, EPCData.
func (*EPCData) UnmarshalBinary ¶
UnmarshalBinary Parameter 241, EPCData.
type EnableAccessSpec ¶
type EnableAccessSpec struct { AccessSpecID uint32 }
EnableAccessSpec is Message 42, EnableAccessSpec.
func (*EnableAccessSpec) EncodeFields ¶
func (m *EnableAccessSpec) EncodeFields(w io.Writer) error
EncodeFields for Message 42, EnableAccessSpec.
func (*EnableAccessSpec) MarshalBinary ¶
func (m *EnableAccessSpec) MarshalBinary() ([]byte, error)
MarshalBinary Message 42, EnableAccessSpec.
func (*EnableAccessSpec) Type ¶
func (*EnableAccessSpec) Type() MessageType
Type returns this message's MessageType
func (*EnableAccessSpec) UnmarshalBinary ¶
func (m *EnableAccessSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 42, EnableAccessSpec.
type EnableAccessSpecResponse ¶
type EnableAccessSpecResponse struct { LLRPStatus LLRPStatus }
EnableAccessSpecResponse is Message 52, EnableAccessSpecResponse.
func (*EnableAccessSpecResponse) EncodeFields ¶
func (m *EnableAccessSpecResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 52, EnableAccessSpecResponse.
func (*EnableAccessSpecResponse) MarshalBinary ¶
func (m *EnableAccessSpecResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 52, EnableAccessSpecResponse.
func (*EnableAccessSpecResponse) Status ¶
func (m *EnableAccessSpecResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*EnableAccessSpecResponse) Type ¶
func (*EnableAccessSpecResponse) Type() MessageType
Type returns this message's MessageType
func (*EnableAccessSpecResponse) UnmarshalBinary ¶
func (m *EnableAccessSpecResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 52, EnableAccessSpecResponse.
type EnableEventsAndReports ¶
type EnableEventsAndReports struct{}
EnableEventsAndReports is Message 64, EnableEventsAndReports.
func (*EnableEventsAndReports) EncodeFields ¶
func (m *EnableEventsAndReports) EncodeFields(w io.Writer) error
EncodeFields for Message 64, EnableEventsAndReports.
func (*EnableEventsAndReports) MarshalBinary ¶
func (m *EnableEventsAndReports) MarshalBinary() ([]byte, error)
MarshalBinary Message 64, EnableEventsAndReports.
func (*EnableEventsAndReports) Type ¶
func (*EnableEventsAndReports) Type() MessageType
Type returns this message's MessageType
func (*EnableEventsAndReports) UnmarshalBinary ¶
func (m *EnableEventsAndReports) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 64, EnableEventsAndReports.
type EnableROSpec ¶
type EnableROSpec struct { ROSpecID uint32 }
EnableROSpec is Message 24, EnableROSpec.
EnableROSpec moves and ROSpec from Disabled to Inactive.
The SpecID may be 0, in which case all ROSpecs will be enabled. If the ROSpec has an Immediate start trigger, enabling it will also activate it, provided no other necessary prevent it from starting (e.g., its priority is lower than another enabled spec).
func (*EnableROSpec) EncodeFields ¶
func (m *EnableROSpec) EncodeFields(w io.Writer) error
EncodeFields for Message 24, EnableROSpec.
func (*EnableROSpec) MarshalBinary ¶
func (m *EnableROSpec) MarshalBinary() ([]byte, error)
MarshalBinary Message 24, EnableROSpec.
func (*EnableROSpec) Type ¶
func (*EnableROSpec) Type() MessageType
Type returns this message's MessageType
func (*EnableROSpec) UnmarshalBinary ¶
func (m *EnableROSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 24, EnableROSpec.
type EnableROSpecResponse ¶
type EnableROSpecResponse struct { LLRPStatus LLRPStatus }
EnableROSpecResponse is Message 34, EnableROSpecResponse.
func (*EnableROSpecResponse) EncodeFields ¶
func (m *EnableROSpecResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 34, EnableROSpecResponse.
func (*EnableROSpecResponse) MarshalBinary ¶
func (m *EnableROSpecResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 34, EnableROSpecResponse.
func (*EnableROSpecResponse) Status ¶
func (m *EnableROSpecResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*EnableROSpecResponse) Type ¶
func (*EnableROSpecResponse) Type() MessageType
Type returns this message's MessageType
func (*EnableROSpecResponse) UnmarshalBinary ¶
func (m *EnableROSpecResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 34, EnableROSpecResponse.
type Encodable ¶
type ErrorMessage ¶
type ErrorMessage struct { LLRPStatus LLRPStatus }
ErrorMessage is Message 100, ErrorMessage.
func (*ErrorMessage) EncodeFields ¶
func (m *ErrorMessage) EncodeFields(w io.Writer) error
EncodeFields for Message 100, ErrorMessage.
func (*ErrorMessage) MarshalBinary ¶
func (m *ErrorMessage) MarshalBinary() ([]byte, error)
MarshalBinary Message 100, ErrorMessage.
func (*ErrorMessage) Status ¶
func (m *ErrorMessage) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*ErrorMessage) Type ¶
func (*ErrorMessage) Type() MessageType
Type returns this message's MessageType
func (*ErrorMessage) UnmarshalBinary ¶
func (m *ErrorMessage) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 100, ErrorMessage.
type EventNotificationState ¶
type EventNotificationState struct { ReaderEventType ReaderEventType NotificationEnabled bool }
EventNotificationState is Parameter 245, EventNotificationState.
func (*EventNotificationState) EncodeFields ¶
func (p *EventNotificationState) EncodeFields(w io.Writer) error
func (*EventNotificationState) MarshalBinary ¶
func (p *EventNotificationState) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 245, EventNotificationState.
func (*EventNotificationState) UnmarshalBinary ¶
func (p *EventNotificationState) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 245, EventNotificationState.
type EventsAndReports ¶
type EventsAndReports bool
EventsAndReports is Parameter 226, EventsAndReports.
func (*EventsAndReports) EncodeFields ¶
func (p *EventsAndReports) EncodeFields(w io.Writer) error
func (*EventsAndReports) MarshalBinary ¶
func (p *EventsAndReports) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 226, EventsAndReports.
func (*EventsAndReports) UnmarshalBinary ¶
func (p *EventsAndReports) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 226, EventsAndReports.
type FieldError ¶
type FieldError struct { FieldIndex uint16 ErrorCode StatusCode }
FieldError is Parameter 288, FieldError.
func (*FieldError) EncodeFields ¶
func (p *FieldError) EncodeFields(w io.Writer) error
func (FieldError) Error ¶
func (fe FieldError) Error() string
func (*FieldError) MarshalBinary ¶
func (p *FieldError) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 288, FieldError.
func (*FieldError) UnmarshalBinary ¶
func (p *FieldError) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 288, FieldError.
type FirstSeenUTC ¶
type FirstSeenUTC Microsecs64
FirstSeenUTC is Parameter 2, FirstSeenUTC.
func (*FirstSeenUTC) EncodeFields ¶
func (p *FirstSeenUTC) EncodeFields(w io.Writer) error
func (*FirstSeenUTC) MarshalBinary ¶
func (p *FirstSeenUTC) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 2, FirstSeenUTC.
func (*FirstSeenUTC) UnmarshalBinary ¶
func (p *FirstSeenUTC) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 2, FirstSeenUTC.
type FirstSeenUptime ¶
type FirstSeenUptime Microsecs64
FirstSeenUptime is Parameter 3, FirstSeenUptime.
func (*FirstSeenUptime) EncodeFields ¶
func (p *FirstSeenUptime) EncodeFields(w io.Writer) error
func (*FirstSeenUptime) MarshalBinary ¶
func (p *FirstSeenUptime) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 3, FirstSeenUptime.
func (*FirstSeenUptime) UnmarshalBinary ¶
func (p *FirstSeenUptime) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 3, FirstSeenUptime.
type FixedFrequencyTable ¶
type FixedFrequencyTable struct { Frequencies []Kilohertz }
FixedFrequencyTable is Parameter 148, FixedFrequencyTable.
func (*FixedFrequencyTable) EncodeFields ¶
func (p *FixedFrequencyTable) EncodeFields(w io.Writer) error
func (*FixedFrequencyTable) MarshalBinary ¶
func (p *FixedFrequencyTable) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 148, FixedFrequencyTable.
func (*FixedFrequencyTable) UnmarshalBinary ¶
func (p *FixedFrequencyTable) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 148, FixedFrequencyTable.
type FrequencyHopTable ¶
FrequencyHopTable is Parameter 147, FrequencyHopTable.
func (*FrequencyHopTable) EncodeFields ¶
func (p *FrequencyHopTable) EncodeFields(w io.Writer) error
func (*FrequencyHopTable) MarshalBinary ¶
func (p *FrequencyHopTable) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 147, FrequencyHopTable.
func (*FrequencyHopTable) UnmarshalBinary ¶
func (p *FrequencyHopTable) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 147, FrequencyHopTable.
type FrequencyInformation ¶
type FrequencyInformation struct { Hopping bool FrequencyHopTables []FrequencyHopTable FixedFrequencyTable *FixedFrequencyTable }
FrequencyInformation is Parameter 146, FrequencyInformation.
In hopping regulatory regions, Hopping is true, and the Reader will send zero or more FrequencyHopTables, each with a HopTableID and list of frequencies. In fixed frequency regulatory regions, Hopping is false, and the Reader sends a fixed frequency table instead.
In both cases, the "table" is just a list of available frequencies. The "ChannelIndex" is a frequency's 1-based offset in its list, so ChannelIndex 1 is Frequencies[0]. Other parameters will reference these values using a ChannelIndex, as well as the HopTableID if Hopping is true.
func (*FrequencyInformation) EncodeFields ¶
func (p *FrequencyInformation) EncodeFields(w io.Writer) error
func (*FrequencyInformation) MarshalBinary ¶
func (p *FrequencyInformation) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 146, FrequencyInformation.
func (*FrequencyInformation) UnmarshalBinary ¶
func (p *FrequencyInformation) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 146, FrequencyInformation.
type FrequencyRSSILevelEntry ¶
type FrequencyRSSILevelEntry struct { Frequency Kilohertz Bandwidth Kilohertz AverageRSSI DecibelMilliwatt8 PeakRSSI DecibelMilliwatt8 UTCTimestamp UTCTimestamp Uptime Uptime }
FrequencyRSSILevelEntry is Parameter 243, FrequencyRSSILevelEntry.
RSSI stands for "received signal strength indicator" and is a measure of the amount of power in a received radio signal. RSSI will vary based on several factors, including distance to a tag, the tag's orientation in space, and environmental factors that change how radio signals propagate and interfere.
func (*FrequencyRSSILevelEntry) EncodeFields ¶
func (p *FrequencyRSSILevelEntry) EncodeFields(w io.Writer) error
func (*FrequencyRSSILevelEntry) MarshalBinary ¶
func (p *FrequencyRSSILevelEntry) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 243, FrequencyRSSILevelEntry.
func (*FrequencyRSSILevelEntry) UnmarshalBinary ¶
func (p *FrequencyRSSILevelEntry) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 243, FrequencyRSSILevelEntry.
type FwdLinkMod ¶
type FwdLinkMod uint8
FwdLinkMod enumerates the RF carrier modulation options for a C1G2 Interrogator.
type GPIEvent ¶
type GPIEvent struct { Port uint16 // Event is the Reader-defined value of GPI that triggered the event. Event bool }
GPIEvent is Parameter 248, GPIEvent.
GPIEvent is sent when a GPI changes state. If it triggers an ROSpec to start or stop, it's sent before the ROSpecEvent parameter.
func (*GPIEvent) EncodeFields ¶
func (*GPIEvent) MarshalBinary ¶
MarshalBinary Parameter 248, GPIEvent.
func (*GPIEvent) UnmarshalBinary ¶
UnmarshalBinary Parameter 248, GPIEvent.
type GPIOCapabilities ¶
GPIOCapabilities is Parameter 141, GPIOCapabilities.
func (*GPIOCapabilities) EncodeFields ¶
func (p *GPIOCapabilities) EncodeFields(w io.Writer) error
func (*GPIOCapabilities) MarshalBinary ¶
func (p *GPIOCapabilities) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 141, GPIOCapabilities.
func (*GPIOCapabilities) UnmarshalBinary ¶
func (p *GPIOCapabilities) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 141, GPIOCapabilities.
type GPIPortCurrentState ¶
type GPIPortCurrentState struct { Port uint16 Enabled bool State GPIStateType }
GPIPortCurrentState is Parameter 225, GPIPortCurrentState.
func (*GPIPortCurrentState) EncodeFields ¶
func (p *GPIPortCurrentState) EncodeFields(w io.Writer) error
func (*GPIPortCurrentState) MarshalBinary ¶
func (p *GPIPortCurrentState) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 225, GPIPortCurrentState.
func (*GPIPortCurrentState) UnmarshalBinary ¶
func (p *GPIPortCurrentState) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 225, GPIPortCurrentState.
type GPIStateType ¶
type GPIStateType uint8
type GPITriggerValue ¶
type GPITriggerValue struct { Port uint16 Event bool Timeout Millisecs32 }
GPITriggerValue is Parameter 181, GPITriggerValue.
func (*GPITriggerValue) EncodeFields ¶
func (p *GPITriggerValue) EncodeFields(w io.Writer) error
func (*GPITriggerValue) MarshalBinary ¶
func (p *GPITriggerValue) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 181, GPITriggerValue.
func (*GPITriggerValue) UnmarshalBinary ¶
func (p *GPITriggerValue) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 181, GPITriggerValue.
type GPOWriteData ¶
GPOWriteData is Parameter 219, GPOWriteData.
func (*GPOWriteData) EncodeFields ¶
func (p *GPOWriteData) EncodeFields(w io.Writer) error
func (*GPOWriteData) MarshalBinary ¶
func (p *GPOWriteData) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 219, GPOWriteData.
func (*GPOWriteData) UnmarshalBinary ¶
func (p *GPOWriteData) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 219, GPOWriteData.
type GeneralDeviceCapabilities ¶
type GeneralDeviceCapabilities struct { MaxSupportedAntennas uint16 CanSetAntennaProperties bool HasUTCClock bool // DeviceManufacturer is an IANA Private Enterprise Number (PEN). DeviceManufacturer uint32 Model uint32 FirmwareVersion string ReceiveSensitivities []ReceiveSensitivityTableEntry PerAntennaReceiveSensitivityRanges []PerAntennaReceiveSensitivityRange GPIOCapabilities GPIOCapabilities PerAntennaAirProtocols []PerAntennaAirProtocol MaximumReceiveSensitivity *MaximumReceiveSensitivity }
GeneralDeviceCapabilities is Parameter 137, GeneralDeviceCapabilities.
This parameter specifies what the Reader supports, primarily with respect to antenna control. It also gives some identifying information about the device make, model, and firmware.
Some LLRP messages permit either a UTC timestamp or Uptime parameter. If HasUTCClock is false, the Reader uses Uptime, and reports the number of microseconds since it powered on. If it has a UTC clock, then it reports its timestamps as microseconds since the beginning of time (1970-Jan-01, midnight).
The most common messages carry a timestamp, so they'll have one or the other of UTC or Uptime, but not both. In most cases, this package use pointer struct fields for 0..1 parameters, allowing nil to signal that the parameter isn't present. For reasons related to implementation simplicity and performance, both UTC and Uptime are presented as non-pointer struct fields. During unmarshaling, it'll set the correct value and leave the other 0 (or report an error if both are present or both are missing). During marshaling, if both are set, it will only marshal the UTC value.
If a Reader doesn't support controlling receive sensitivity, it returns a single table entry with the value 0. If it supports multiple antennas each with unique sensitivities, the table contains an entry for the union of all possible sensitivities, and the PerAntennaReceiveSensitivityRanges maps antenna IDs to ranges of indices into this table.
func (*GeneralDeviceCapabilities) EncodeFields ¶
func (p *GeneralDeviceCapabilities) EncodeFields(w io.Writer) error
func (*GeneralDeviceCapabilities) MarshalBinary ¶
func (p *GeneralDeviceCapabilities) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 137, GeneralDeviceCapabilities.
func (*GeneralDeviceCapabilities) UnmarshalBinary ¶
func (p *GeneralDeviceCapabilities) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 137, GeneralDeviceCapabilities.
type GetAccessSpecs ¶
type GetAccessSpecs struct{}
GetAccessSpecs is Message 44, GetAccessSpecs.
func (*GetAccessSpecs) EncodeFields ¶
func (m *GetAccessSpecs) EncodeFields(w io.Writer) error
EncodeFields for Message 44, GetAccessSpecs.
func (*GetAccessSpecs) MarshalBinary ¶
func (m *GetAccessSpecs) MarshalBinary() ([]byte, error)
MarshalBinary Message 44, GetAccessSpecs.
func (*GetAccessSpecs) Type ¶
func (*GetAccessSpecs) Type() MessageType
Type returns this message's MessageType
func (*GetAccessSpecs) UnmarshalBinary ¶
func (m *GetAccessSpecs) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 44, GetAccessSpecs.
type GetAccessSpecsResponse ¶
type GetAccessSpecsResponse struct { LLRPStatus LLRPStatus AccessSpecs []AccessSpec }
GetAccessSpecsResponse is Message 54, GetAccessSpecsResponse.
func (*GetAccessSpecsResponse) EncodeFields ¶
func (m *GetAccessSpecsResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 54, GetAccessSpecsResponse.
func (*GetAccessSpecsResponse) MarshalBinary ¶
func (m *GetAccessSpecsResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 54, GetAccessSpecsResponse.
func (*GetAccessSpecsResponse) Status ¶
func (m *GetAccessSpecsResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*GetAccessSpecsResponse) Type ¶
func (*GetAccessSpecsResponse) Type() MessageType
Type returns this message's MessageType
func (*GetAccessSpecsResponse) UnmarshalBinary ¶
func (m *GetAccessSpecsResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 54, GetAccessSpecsResponse.
type GetROSpecs ¶
type GetROSpecs struct{}
GetROSpecs is Message 26, GetROSpecs.
func (*GetROSpecs) EncodeFields ¶
func (m *GetROSpecs) EncodeFields(w io.Writer) error
EncodeFields for Message 26, GetROSpecs.
func (*GetROSpecs) MarshalBinary ¶
func (m *GetROSpecs) MarshalBinary() ([]byte, error)
MarshalBinary Message 26, GetROSpecs.
func (*GetROSpecs) Type ¶
func (*GetROSpecs) Type() MessageType
Type returns this message's MessageType
func (*GetROSpecs) UnmarshalBinary ¶
func (m *GetROSpecs) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 26, GetROSpecs.
type GetROSpecsResponse ¶
type GetROSpecsResponse struct { LLRPStatus LLRPStatus ROSpecs []ROSpec }
GetROSpecsResponse is Message 36, GetROSpecsResponse.
func (*GetROSpecsResponse) EncodeFields ¶
func (m *GetROSpecsResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 36, GetROSpecsResponse.
func (*GetROSpecsResponse) MarshalBinary ¶
func (m *GetROSpecsResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 36, GetROSpecsResponse.
func (*GetROSpecsResponse) Status ¶
func (m *GetROSpecsResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*GetROSpecsResponse) Type ¶
func (*GetROSpecsResponse) Type() MessageType
Type returns this message's MessageType
func (*GetROSpecsResponse) UnmarshalBinary ¶
func (m *GetROSpecsResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 36, GetROSpecsResponse.
type GetReaderCapabilities ¶
type GetReaderCapabilities struct { ReaderCapabilitiesRequestedData ReaderCapability Custom []Custom }
GetReaderCapabilities is Message 1, GetReaderCapabilities.
func (*GetReaderCapabilities) EncodeFields ¶
func (m *GetReaderCapabilities) EncodeFields(w io.Writer) error
EncodeFields for Message 1, GetReaderCapabilities.
func (*GetReaderCapabilities) MarshalBinary ¶
func (m *GetReaderCapabilities) MarshalBinary() ([]byte, error)
MarshalBinary Message 1, GetReaderCapabilities.
func (*GetReaderCapabilities) Type ¶
func (*GetReaderCapabilities) Type() MessageType
Type returns this message's MessageType
func (*GetReaderCapabilities) UnmarshalBinary ¶
func (m *GetReaderCapabilities) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 1, GetReaderCapabilities.
type GetReaderCapabilitiesResponse ¶
type GetReaderCapabilitiesResponse struct { LLRPStatus LLRPStatus GeneralDeviceCapabilities *GeneralDeviceCapabilities LLRPCapabilities *LLRPCapabilities RegulatoryCapabilities *RegulatoryCapabilities C1G2LLRPCapabilities *C1G2LLRPCapabilities Custom []Custom }
GetReaderCapabilitiesResponse is Message 11, GetReaderCapabilitiesResponse.
func (*GetReaderCapabilitiesResponse) EncodeFields ¶
func (m *GetReaderCapabilitiesResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 11, GetReaderCapabilitiesResponse.
func (*GetReaderCapabilitiesResponse) MarshalBinary ¶
func (m *GetReaderCapabilitiesResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 11, GetReaderCapabilitiesResponse.
func (*GetReaderCapabilitiesResponse) Status ¶
func (m *GetReaderCapabilitiesResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*GetReaderCapabilitiesResponse) Type ¶
func (*GetReaderCapabilitiesResponse) Type() MessageType
Type returns this message's MessageType
func (*GetReaderCapabilitiesResponse) UnmarshalBinary ¶
func (m *GetReaderCapabilitiesResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 11, GetReaderCapabilitiesResponse.
type GetReaderConfig ¶
type GetReaderConfig struct { AntennaID AntennaID RequestedData ReaderConfigRequestedDataType GPIPortNum uint16 GPOPortNum uint16 Custom []Custom }
GetReaderConfig is Message 2, GetReaderConfig.
func (*GetReaderConfig) EncodeFields ¶
func (m *GetReaderConfig) EncodeFields(w io.Writer) error
EncodeFields for Message 2, GetReaderConfig.
func (*GetReaderConfig) MarshalBinary ¶
func (m *GetReaderConfig) MarshalBinary() ([]byte, error)
MarshalBinary Message 2, GetReaderConfig.
func (*GetReaderConfig) Type ¶
func (*GetReaderConfig) Type() MessageType
Type returns this message's MessageType
func (*GetReaderConfig) UnmarshalBinary ¶
func (m *GetReaderConfig) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 2, GetReaderConfig.
type GetReaderConfigResponse ¶
type GetReaderConfigResponse struct { LLRPStatus LLRPStatus Identification *Identification AntennaProperties []AntennaProperties AntennaConfigurations []AntennaConfiguration ReaderEventNotificationSpec *ReaderEventNotificationSpec ROReportSpec *ROReportSpec AccessReportSpec *AccessReportSpec LLRPConfigurationStateValue *LLRPConfigurationStateValue KeepAliveSpec *KeepAliveSpec GPIPortCurrentStates []GPIPortCurrentState GPOWriteData []GPOWriteData EventsAndReports *EventsAndReports Custom []Custom }
GetReaderConfigResponse is Message 12, GetReaderConfigResponse.
func (*GetReaderConfigResponse) EncodeFields ¶
func (m *GetReaderConfigResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 12, GetReaderConfigResponse.
func (*GetReaderConfigResponse) MarshalBinary ¶
func (m *GetReaderConfigResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 12, GetReaderConfigResponse.
func (*GetReaderConfigResponse) Status ¶
func (m *GetReaderConfigResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*GetReaderConfigResponse) Type ¶
func (*GetReaderConfigResponse) Type() MessageType
Type returns this message's MessageType
func (*GetReaderConfigResponse) UnmarshalBinary ¶
func (m *GetReaderConfigResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 12, GetReaderConfigResponse.
type GetReport ¶
type GetReport struct{}
GetReport is Message 60, GetReport.
func (*GetReport) EncodeFields ¶
EncodeFields for Message 60, GetReport.
func (*GetReport) MarshalBinary ¶
MarshalBinary Message 60, GetReport.
func (*GetReport) Type ¶
func (*GetReport) Type() MessageType
Type returns this message's MessageType
func (*GetReport) UnmarshalBinary ¶
UnmarshalBinary Message 60, GetReport.
type GetSupportedVersion ¶
type GetSupportedVersion struct{}
GetSupportedVersion is Message 46, GetSupportedVersion.
func (*GetSupportedVersion) EncodeFields ¶
func (m *GetSupportedVersion) EncodeFields(w io.Writer) error
EncodeFields for Message 46, GetSupportedVersion.
func (*GetSupportedVersion) MarshalBinary ¶
func (m *GetSupportedVersion) MarshalBinary() ([]byte, error)
MarshalBinary Message 46, GetSupportedVersion.
func (*GetSupportedVersion) Type ¶
func (*GetSupportedVersion) Type() MessageType
Type returns this message's MessageType
func (*GetSupportedVersion) UnmarshalBinary ¶
func (m *GetSupportedVersion) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 46, GetSupportedVersion.
type GetSupportedVersionResponse ¶
type GetSupportedVersionResponse struct { CurrentVersion VersionNum MaxSupportedVersion VersionNum LLRPStatus LLRPStatus }
GetSupportedVersionResponse is Message 56, GetSupportedVersionResponse.
func (*GetSupportedVersionResponse) EncodeFields ¶
func (m *GetSupportedVersionResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 56, GetSupportedVersionResponse.
func (*GetSupportedVersionResponse) MarshalBinary ¶
func (m *GetSupportedVersionResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 56, GetSupportedVersionResponse.
func (*GetSupportedVersionResponse) Status ¶
func (m *GetSupportedVersionResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*GetSupportedVersionResponse) Type ¶
func (*GetSupportedVersionResponse) Type() MessageType
Type returns this message's MessageType
func (*GetSupportedVersionResponse) UnmarshalBinary ¶
func (m *GetSupportedVersionResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 56, GetSupportedVersionResponse.
type Header ¶
type Header struct {
// contains filtered or unexported fields
}
Header holds information about an LLRP message header.
Importantly, payloadLen does not include the header's 10 bytes; when a message is read, it's automatically subtracted, and when a message is written, it's automatically added. See header.UnmarshalBinary and header.MarshalBinary for more information.
func (*Header) MarshalBinary ¶
MarshalBinary marshals a header to a byte array.
func (Header) String ¶
func (Header) Type ¶
func (h Header) Type() MessageType
func (*Header) UnmarshalBinary ¶
UnmarshalBinary unmarshals a binary LLRP message header.
The resulting payload length is the message length, less the header size, unless the subtraction would overflow, in which case this returns an error indicating the impossible size. Note that this differs from the original LLRP message length, which includes the 10 byte header.
func (Header) Version ¶
func (h Header) Version() VersionNum
func (*Header) WriteTo ¶
WriteTo write a binary header to the given destination. It returns an error if payloadLen is too big or it uses a reserved message type, as well as the normal underlying Writer errors.
type HoppingEvent ¶
type HoppingEvent uint16
HoppingEvent is Parameter 247, HoppingEvent.
func (*HoppingEvent) EncodeFields ¶
func (p *HoppingEvent) EncodeFields(w io.Writer) error
func (*HoppingEvent) MarshalBinary ¶
func (p *HoppingEvent) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 247, HoppingEvent.
func (*HoppingEvent) UnmarshalBinary ¶
func (p *HoppingEvent) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 247, HoppingEvent.
type IDType ¶
type IDType uint8
type Identification ¶
type Identification struct { IDType IDType // ReaderID is "unique within the local administration domain", and may be the reader's // MAC in EUI-64 format or an EPC. ReaderID []byte }
Identification is Parameter 218, Identification.
func (*Identification) EncodeFields ¶
func (p *Identification) EncodeFields(w io.Writer) error
func (*Identification) MarshalBinary ¶
func (p *Identification) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 218, Identification.
func (*Identification) UnmarshalBinary ¶
func (p *Identification) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 218, Identification.
type Incoming ¶
type Incoming interface { encoding.BinaryUnmarshaler Type() MessageType }
type InventoryParameterSpec ¶
type InventoryParameterSpec struct { InventoryParameterSpecID uint16 AirProtocolID AirProtocolIDType AntennaConfigurations []AntennaConfiguration Custom []Custom }
InventoryParameterSpec is Parameter 186, InventoryParameterSpec.
func (*InventoryParameterSpec) EncodeFields ¶
func (p *InventoryParameterSpec) EncodeFields(w io.Writer) error
func (*InventoryParameterSpec) MarshalBinary ¶
func (p *InventoryParameterSpec) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 186, InventoryParameterSpec.
func (*InventoryParameterSpec) UnmarshalBinary ¶
func (p *InventoryParameterSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 186, InventoryParameterSpec.
type InventoryParameterSpecID ¶
type InventoryParameterSpecID uint16
InventoryParameterSpecID is Parameter 10, InventoryParameterSpecID.
func (*InventoryParameterSpecID) EncodeFields ¶
func (p *InventoryParameterSpecID) EncodeFields(w io.Writer) error
func (*InventoryParameterSpecID) MarshalBinary ¶
func (p *InventoryParameterSpecID) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 10, InventoryParameterSpecID.
func (*InventoryParameterSpecID) UnmarshalBinary ¶
func (p *InventoryParameterSpecID) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 10, InventoryParameterSpecID.
type KeepAlive ¶
type KeepAlive struct{}
KeepAlive is Message 62, KeepAlive.
func (*KeepAlive) EncodeFields ¶
EncodeFields for Message 62, KeepAlive.
func (*KeepAlive) MarshalBinary ¶
MarshalBinary Message 62, KeepAlive.
func (*KeepAlive) Type ¶
func (*KeepAlive) Type() MessageType
Type returns this message's MessageType
func (*KeepAlive) UnmarshalBinary ¶
UnmarshalBinary Message 62, KeepAlive.
type KeepAliveAck ¶
type KeepAliveAck struct{}
KeepAliveAck is Message 72, KeepAliveAck.
func (*KeepAliveAck) EncodeFields ¶
func (m *KeepAliveAck) EncodeFields(w io.Writer) error
EncodeFields for Message 72, KeepAliveAck.
func (*KeepAliveAck) MarshalBinary ¶
func (m *KeepAliveAck) MarshalBinary() ([]byte, error)
MarshalBinary Message 72, KeepAliveAck.
func (*KeepAliveAck) Type ¶
func (*KeepAliveAck) Type() MessageType
Type returns this message's MessageType
func (*KeepAliveAck) UnmarshalBinary ¶
func (m *KeepAliveAck) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 72, KeepAliveAck.
type KeepAliveSpec ¶
type KeepAliveSpec struct { Trigger KeepAliveTriggerType Interval Millisecs32 }
KeepAliveSpec is Parameter 220, KeepAliveSpec.
func (*KeepAliveSpec) EncodeFields ¶
func (p *KeepAliveSpec) EncodeFields(w io.Writer) error
func (*KeepAliveSpec) MarshalBinary ¶
func (p *KeepAliveSpec) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 220, KeepAliveSpec.
func (*KeepAliveSpec) UnmarshalBinary ¶
func (p *KeepAliveSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 220, KeepAliveSpec.
type KeepAliveTriggerType ¶
type KeepAliveTriggerType uint8
type Kilohertz ¶
type Kilohertz = uint32
Kilohertz measure frequency in 1000s of cycles per second.
type LLRPCapabilities ¶
type LLRPCapabilities struct { CanDoRFSurvey bool CanReportBufferFillWarning bool SupportsClientRequestOpSpec bool CanDoTagInventoryStateAwareSingulation bool SupportsEventsAndReportHolding bool MaxPriorityLevelSupported uint8 ClientRequestedOpSpecTimeout uint16 MaxROSpecs uint32 MaxSpecsPerROSpec uint32 MaxInventoryParameterSpecsPerAISpec uint32 MaxAccessSpecs uint32 MaxOpSpecsPerAccessSpec uint32 }
LLRPCapabilities is Parameter 142, LLRPCapabilities.
func (*LLRPCapabilities) EncodeFields ¶
func (p *LLRPCapabilities) EncodeFields(w io.Writer) error
func (*LLRPCapabilities) MarshalBinary ¶
func (p *LLRPCapabilities) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 142, LLRPCapabilities.
func (*LLRPCapabilities) UnmarshalBinary ¶
func (p *LLRPCapabilities) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 142, LLRPCapabilities.
type LLRPConfigurationStateValue ¶
type LLRPConfigurationStateValue uint32
LLRPConfigurationStateValue is Parameter 217, LLRPConfigurationStateValue.
func (*LLRPConfigurationStateValue) EncodeFields ¶
func (p *LLRPConfigurationStateValue) EncodeFields(w io.Writer) error
func (*LLRPConfigurationStateValue) MarshalBinary ¶
func (p *LLRPConfigurationStateValue) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 217, LLRPConfigurationStateValue.
func (*LLRPConfigurationStateValue) UnmarshalBinary ¶
func (p *LLRPConfigurationStateValue) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 217, LLRPConfigurationStateValue.
type LLRPStatus ¶
type LLRPStatus struct { Status StatusCode ErrorDescription string FieldError *FieldError ParameterError *ParameterError }
LLRPStatus is Parameter 287, LLRPStatus.
func (*LLRPStatus) EncodeFields ¶
func (p *LLRPStatus) EncodeFields(w io.Writer) error
func (*LLRPStatus) Err ¶
func (ls *LLRPStatus) Err() error
Err returns an error represented by this LLRPStatus, if any. If the Status is Success, this returns nil.
func (*LLRPStatus) MarshalBinary ¶
func (p *LLRPStatus) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 287, LLRPStatus.
func (*LLRPStatus) UnmarshalBinary ¶
func (p *LLRPStatus) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 287, LLRPStatus.
type LastSeenUTC ¶
type LastSeenUTC Microsecs64
LastSeenUTC is Parameter 4, LastSeenUTC.
func (*LastSeenUTC) EncodeFields ¶
func (p *LastSeenUTC) EncodeFields(w io.Writer) error
func (*LastSeenUTC) MarshalBinary ¶
func (p *LastSeenUTC) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 4, LastSeenUTC.
func (*LastSeenUTC) UnmarshalBinary ¶
func (p *LastSeenUTC) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 4, LastSeenUTC.
type LastSeenUptime ¶
type LastSeenUptime Microsecs64
LastSeenUptime is Parameter 5, LastSeenUptime.
func (*LastSeenUptime) EncodeFields ¶
func (p *LastSeenUptime) EncodeFields(w io.Writer) error
func (*LastSeenUptime) MarshalBinary ¶
func (p *LastSeenUptime) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 5, LastSeenUptime.
func (*LastSeenUptime) UnmarshalBinary ¶
func (p *LastSeenUptime) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 5, LastSeenUptime.
type LockDataType ¶
type LockDataType uint8
type LockPrivilegeType ¶
type LockPrivilegeType uint8
type LoopSpec ¶
type LoopSpec uint32
LoopSpec is Parameter 355, LoopSpec.
func (*LoopSpec) EncodeFields ¶
func (*LoopSpec) MarshalBinary ¶
MarshalBinary Parameter 355, LoopSpec.
func (*LoopSpec) UnmarshalBinary ¶
UnmarshalBinary Parameter 355, LoopSpec.
type MaximumReceiveSensitivity ¶
type MaximumReceiveSensitivity DecibelMilliwatt16
MaximumReceiveSensitivity is Parameter 363, MaximumReceiveSensitivity.
MaximumReceiveSensitivity is the maximum receive sensitivity supported by the Reader. It's required if the Reader allows receive sensitivity control, but otherwise optional.
func (*MaximumReceiveSensitivity) EncodeFields ¶
func (p *MaximumReceiveSensitivity) EncodeFields(w io.Writer) error
func (*MaximumReceiveSensitivity) MarshalBinary ¶
func (p *MaximumReceiveSensitivity) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 363, MaximumReceiveSensitivity.
func (*MaximumReceiveSensitivity) UnmarshalBinary ¶
func (p *MaximumReceiveSensitivity) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 363, MaximumReceiveSensitivity.
type Message ¶
type Message struct { Header // contains filtered or unexported fields }
Message represents an LLRP message.
For incoming messages, payload is guaranteed not to be nil, though if the payload length is zero, it will immediately return EOF. Incoming messages can be closed to discard its payload.
For outgoing messages, payload may be nil to signal no data.
func NewByteMessage ¶
func NewByteMessage(typ MessageType, payload []byte) (m Message, err error)
NewByteMessage uses a []byte payload to create a message. The caller should not modify the slice until the message is sent.
func NewHdrOnlyMsg ¶
func NewHdrOnlyMsg(typ MessageType) Message
NewHdrOnlyMsg prepares a message that has no payload.
func (Message) Close ¶
Close the message by discarding any remaining payload. This returns an error if discarding fails. It's safe to call this multiple times.
func (Message) String ¶
func (*Message) UnmarshalTo ¶
func (m *Message) UnmarshalTo(v encoding.BinaryUnmarshaler) error
type MessageHandler ¶
MessageHandler can be implemented to handle certain messages received from the Reader. See Client.WithHandler for more information.
type MessageHandlerFunc ¶
MessageHandlerFunc can wrap a function so it can be used as a MessageHandler.
func (MessageHandlerFunc) HandleMessage ¶
func (mhf MessageHandlerFunc) HandleMessage(c *Client, msg Message)
HandleMessage implements MessageHandler for MessageHandlerFunc by calling the function.
type MessageType ¶
type MessageType uint16
MessageType corresponds to the LLRP binary encoding for message headers.
func (MessageType) Converse ¶
func (mt MessageType) Converse() (MessageType, bool)
Converse returns the MessageType associated with this one, or the zero value and false if there is not a converse type.
For example, the Converse of MsgGetAccessSpecs is MsgGetAccessSpecsResponse, and vice versa, but MsgROAccessReport has no converse.
func (MessageType) IsValid ¶
func (mt MessageType) IsValid() bool
IsValid returns true if the messageType is within the permitted messageType space.
func (MessageType) NewInstance ¶
func (mt MessageType) NewInstance() Encodable
NewInstance returns an Encodable for the message type. If the message type is unknown, it returns nil.
func (MessageType) String ¶
func (i MessageType) String() string
type Microsecs64 ¶
type Microsecs64 = uint64
Microsecs64 is a 64-bit number of microseconds.
It's usually used to represent a time offset since a known reference, Unix Epoch or the reader's start.
type MillibelIsotropic ¶
type MillibelIsotropic = int16
MillibelIsotropic is dBi*100, i.e., 0.01dBi (decibel relative isotropic). In LLRP, it's used to represent antenna gain values. It's scaled by 100 to allow accurate representation at sub-dBm precision.
type MillibelMilliwatt ¶
type MillibelMilliwatt = int16
MillibelMilliwatt is dBm*100, i.e. 0.01dBm or 1 millibel milliwatt. In LLRP, it's used to represent transmit power values. It's scaled by 100 to allow accurate representation at sub-dBm precision.
type Millisecs16 ¶
type Millisecs16 = uint16
Millisecs16 is a 16-bit number of milliseconds.
It's used to represent a timeouts or duration triggers.
type Millisecs32 ¶
type Millisecs32 = uint32
Millisecs32 is a 32-bit number of milliseconds.
It's used to represent a time offset since a known reference, usually Unix Epoch or a message receipt time. Other times, it's used as a time period or timeout, in which case 0 may mean "never timeout".
type Nanosecs16 ¶
type Nanosecs16 = uint16
Nanosecs16 is a 16-bit number of nanoseconds as used for some Tari values.
type Nanosecs32 ¶
type Nanosecs32 = uint32
Nanosecs32 is a 32-bit number of nanoseconds used for some Tari values.
type OpSpecID ¶
type OpSpecID uint16
OpSpecID is Parameter 17, OpSpecID.
func (*OpSpecID) EncodeFields ¶
func (*OpSpecID) MarshalBinary ¶
MarshalBinary Parameter 17, OpSpecID.
func (*OpSpecID) UnmarshalBinary ¶
UnmarshalBinary Parameter 17, OpSpecID.
type Outgoing ¶
type Outgoing interface { encoding.BinaryMarshaler Type() MessageType }
type ParamType ¶
type ParamType uint16
ParamType is an 8 or 10 bit value identifying both the encoding and content of an LLRP Parameter.
func (ParamType) IsTLV ¶
IsTLV returns true if the ParamType is TLV-encoded. TLV-encoded parameters include their length in their headers.
func (ParamType) IsTV ¶
IsTV returns true if the ParamType is TV-encoded. TV-encoded parameters have specific lengths which must be looked up.
func (ParamType) IsValid ¶
IsValid returns true if the ParamType is within the valid LLRP Parameter range and not one of the reserved parameter types (900-999)
func (ParamType) String ¶
type ParameterError ¶
type ParameterError struct { ParameterType ParamType ErrorCode StatusCode ParameterError *ParameterError FieldError *FieldError }
ParameterError is Parameter 289, ParameterError.
func (*ParameterError) EncodeFields ¶
func (p *ParameterError) EncodeFields(w io.Writer) error
func (*ParameterError) Error ¶
func (pe *ParameterError) Error() string
Error constructs a string from the parameter's error.
func (*ParameterError) MarshalBinary ¶
func (p *ParameterError) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 289, ParameterError.
func (*ParameterError) UnmarshalBinary ¶
func (p *ParameterError) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 289, ParameterError.
type PeakRSSI ¶
type PeakRSSI DecibelMilliwatt8
PeakRSSI is Parameter 6, PeakRSSI.
func (*PeakRSSI) EncodeFields ¶
func (*PeakRSSI) MarshalBinary ¶
MarshalBinary Parameter 6, PeakRSSI.
func (*PeakRSSI) UnmarshalBinary ¶
UnmarshalBinary Parameter 6, PeakRSSI.
type PerAntennaAirProtocol ¶
type PerAntennaAirProtocol struct { AntennaID AntennaID AirProtocolIDs []AirProtocolIDType }
PerAntennaAirProtocol is Parameter 140, PerAntennaAirProtocol.
func (*PerAntennaAirProtocol) EncodeFields ¶
func (p *PerAntennaAirProtocol) EncodeFields(w io.Writer) error
func (*PerAntennaAirProtocol) MarshalBinary ¶
func (p *PerAntennaAirProtocol) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 140, PerAntennaAirProtocol.
func (*PerAntennaAirProtocol) UnmarshalBinary ¶
func (p *PerAntennaAirProtocol) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 140, PerAntennaAirProtocol.
type PerAntennaReceiveSensitivityRange ¶
type PerAntennaReceiveSensitivityRange struct { AntennaID AntennaID ReceiveSensitivityIndexMin uint16 ReceiveSensitivityIndexMax uint16 }
PerAntennaReceiveSensitivityRange is Parameter 149, PerAntennaReceiveSensitivityRange.
func (*PerAntennaReceiveSensitivityRange) EncodeFields ¶
func (p *PerAntennaReceiveSensitivityRange) EncodeFields(w io.Writer) error
func (*PerAntennaReceiveSensitivityRange) MarshalBinary ¶
func (p *PerAntennaReceiveSensitivityRange) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 149, PerAntennaReceiveSensitivityRange.
func (*PerAntennaReceiveSensitivityRange) UnmarshalBinary ¶
func (p *PerAntennaReceiveSensitivityRange) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 149, PerAntennaReceiveSensitivityRange.
type PeriodicTriggerValue ¶
type PeriodicTriggerValue struct { Offset Millisecs32 Period Millisecs32 UTCTimestamp *UTCTimestamp }
PeriodicTriggerValue is Parameter 180, PeriodicTriggerValue.
func (*PeriodicTriggerValue) EncodeFields ¶
func (p *PeriodicTriggerValue) EncodeFields(w io.Writer) error
func (*PeriodicTriggerValue) MarshalBinary ¶
func (p *PeriodicTriggerValue) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 180, PeriodicTriggerValue.
func (*PeriodicTriggerValue) UnmarshalBinary ¶
func (p *PeriodicTriggerValue) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 180, PeriodicTriggerValue.
type RFReceiver ¶
type RFReceiver uint16
RFReceiver is Parameter 223, RFReceiver.
func (*RFReceiver) EncodeFields ¶
func (p *RFReceiver) EncodeFields(w io.Writer) error
func (*RFReceiver) MarshalBinary ¶
func (p *RFReceiver) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 223, RFReceiver.
func (*RFReceiver) UnmarshalBinary ¶
func (p *RFReceiver) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 223, RFReceiver.
type RFSurveyEvent ¶
type RFSurveyEvent struct { Event RFSurveyEventType ROSpecID uint32 }
RFSurveyEvent is Parameter 253, RFSurveyEvent.
func (*RFSurveyEvent) EncodeFields ¶
func (p *RFSurveyEvent) EncodeFields(w io.Writer) error
func (*RFSurveyEvent) MarshalBinary ¶
func (p *RFSurveyEvent) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 253, RFSurveyEvent.
func (*RFSurveyEvent) UnmarshalBinary ¶
func (p *RFSurveyEvent) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 253, RFSurveyEvent.
type RFSurveyEventType ¶
type RFSurveyEventType uint8
type RFSurveyFrequencyCapabilities ¶
RFSurveyFrequencyCapabilities is Parameter 365, RFSurveyFrequencyCapabilities.
func (*RFSurveyFrequencyCapabilities) EncodeFields ¶
func (p *RFSurveyFrequencyCapabilities) EncodeFields(w io.Writer) error
func (*RFSurveyFrequencyCapabilities) MarshalBinary ¶
func (p *RFSurveyFrequencyCapabilities) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 365, RFSurveyFrequencyCapabilities.
func (*RFSurveyFrequencyCapabilities) UnmarshalBinary ¶
func (p *RFSurveyFrequencyCapabilities) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 365, RFSurveyFrequencyCapabilities.
type RFSurveyReportData ¶
type RFSurveyReportData struct { ROSpecID *ROSpecID SpecIndex *SpecIndex FrequencyRSSILevelEntries []FrequencyRSSILevelEntry Custom []Custom }
RFSurveyReportData is Parameter 242, RFSurveyReportData.
func (*RFSurveyReportData) EncodeFields ¶
func (p *RFSurveyReportData) EncodeFields(w io.Writer) error
func (*RFSurveyReportData) MarshalBinary ¶
func (p *RFSurveyReportData) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 242, RFSurveyReportData.
func (*RFSurveyReportData) UnmarshalBinary ¶
func (p *RFSurveyReportData) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 242, RFSurveyReportData.
type RFSurveySpec ¶
type RFSurveySpec struct { AntennaID AntennaID StartFrequency Kilohertz EndFrequency Kilohertz Trigger RFSurveySpecStopTrigger Custom []Custom }
RFSurveySpec is Parameter 187, RFSurveySpec.
func (*RFSurveySpec) EncodeFields ¶
func (p *RFSurveySpec) EncodeFields(w io.Writer) error
func (*RFSurveySpec) MarshalBinary ¶
func (p *RFSurveySpec) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 187, RFSurveySpec.
func (*RFSurveySpec) UnmarshalBinary ¶
func (p *RFSurveySpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 187, RFSurveySpec.
type RFSurveySpecStopTrigger ¶
type RFSurveySpecStopTrigger struct { Trigger RFSurveySpecStopTriggerType Duration Millisecs32 N Millisecs32 }
RFSurveySpecStopTrigger is Parameter 188, RFSurveySpecStopTrigger.
func (*RFSurveySpecStopTrigger) EncodeFields ¶
func (p *RFSurveySpecStopTrigger) EncodeFields(w io.Writer) error
func (*RFSurveySpecStopTrigger) MarshalBinary ¶
func (p *RFSurveySpecStopTrigger) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 188, RFSurveySpecStopTrigger.
func (*RFSurveySpecStopTrigger) UnmarshalBinary ¶
func (p *RFSurveySpecStopTrigger) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 188, RFSurveySpecStopTrigger.
type RFSurveySpecStopTriggerType ¶
type RFSurveySpecStopTriggerType uint8
type RFTransmitter ¶
type RFTransmitter struct { // HopTableID for jurisdictions that require frequency hopping. Hop tables are presented // in the Reader's capabilities, under RegulatorCapabilities -> UHFBandCapabilities -> // C1G2RFModes. HopTableID uint16 // ChannelIndex within the Fixed Frequency Table, for jurisdictions that do not permit // frequency hopping. The fixed frequency information is presented in the Reader's // capabilities, under RegulatoryCapabilities -> UHFBandCapabilities -> // FrequencyInformation. Unlike other tables, this table does not have entries with IDs; // instead, the ChannelIndex is the 1-based offset within the array. ChannelIndex uint16 // TransmitPowerIndex, as from the for jurisdictions that do not permit frequency // hopping. The power levels are presented in the Reader's capabilities, under // RegulatoryCapabilities -> UHFBandCapabilities -> TransmitPowerLevels. TransmitPowerIndex uint16 }
RFTransmitter is Parameter 224, RFTransmitter.
func (*RFTransmitter) EncodeFields ¶
func (p *RFTransmitter) EncodeFields(w io.Writer) error
func (*RFTransmitter) MarshalBinary ¶
func (p *RFTransmitter) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 224, RFTransmitter.
func (*RFTransmitter) UnmarshalBinary ¶
func (p *RFTransmitter) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 224, RFTransmitter.
type ROAccessReport ¶
type ROAccessReport struct { TagReportData []TagReportData RFSurveyReportData []RFSurveyReportData Custom []Custom }
ROAccessReport is Message 61, ROAccessReport.
func (*ROAccessReport) EncodeFields ¶
func (m *ROAccessReport) EncodeFields(w io.Writer) error
EncodeFields for Message 61, ROAccessReport.
func (*ROAccessReport) MarshalBinary ¶
func (m *ROAccessReport) MarshalBinary() ([]byte, error)
MarshalBinary Message 61, ROAccessReport.
func (*ROAccessReport) Type ¶
func (*ROAccessReport) Type() MessageType
Type returns this message's MessageType
func (*ROAccessReport) UnmarshalBinary ¶
func (m *ROAccessReport) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 61, ROAccessReport.
type ROBoundarySpec ¶
type ROBoundarySpec struct { StartTrigger ROSpecStartTrigger StopTrigger ROSpecStopTrigger }
ROBoundarySpec is Parameter 178, ROBoundarySpec.
func (*ROBoundarySpec) EncodeFields ¶
func (p *ROBoundarySpec) EncodeFields(w io.Writer) error
func (*ROBoundarySpec) MarshalBinary ¶
func (p *ROBoundarySpec) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 178, ROBoundarySpec.
func (*ROBoundarySpec) UnmarshalBinary ¶
func (p *ROBoundarySpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 178, ROBoundarySpec.
type ROReportSpec ¶
type ROReportSpec struct { Trigger ROReportTriggerType N uint16 TagReportContentSelector TagReportContentSelector Custom []Custom }
ROReportSpec is Parameter 237, ROReportSpec.
func (*ROReportSpec) EncodeFields ¶
func (p *ROReportSpec) EncodeFields(w io.Writer) error
func (*ROReportSpec) MarshalBinary ¶
func (p *ROReportSpec) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 237, ROReportSpec.
func (*ROReportSpec) UnmarshalBinary ¶
func (p *ROReportSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 237, ROReportSpec.
type ROReportTriggerType ¶
type ROReportTriggerType uint8
type ROSpec ¶
type ROSpec struct { ROSpecID uint32 Priority uint8 ROSpecCurrentState ROSpecCurrentStateType ROBoundarySpec ROBoundarySpec AISpecs []AISpec RFSurveySpecs []RFSurveySpec Custom []Custom LoopSpec *LoopSpec ROReportSpec *ROReportSpec }
ROSpec is Parameter 177, ROSpec.
ROSpec is a Reader Operation Specification.
An ROSpec describes the operations executed at one or more antennas, specified one or more AISpecs, RFSurveySpecs, or CustomSpecs. Specs are executed in the order in which they appear, and reports reference the relevant spec via a 1-indexed SpecIndex. Not all devices support RFSurveySpecs. LoopSpecs are only supported with LLRP version 1.1.
The RFID device picks which ROSpec to execute based on a number of conditions (described below). When it does so, the ROSpec transitions from Inactive to Active, and the device may send an event notification (if configured to do so). While Active, if the ROSpec's reporting conditions are satisfied, the device sends ROAccessReports, which contain TagReportData matching either the device's configured defaults report information, or the TagReportContentSelector if the RO defines an ROReportSpec.
The client defines an ROSpec via the AddROSpec Message. They must define the spec in the Disabled state, with an ROSpecID >0, or the device must reject it. Once defined, the client uses the ROSpecID to modify its state, and the device may include the ROSpecID in reports that reference it. Other relevant messages for controlling ROSpecs:
Enable ROSpec
Disable ROSpec
Start ROSpec
Stop ROSpec
Delete ROSpec
Get ROSpecs
func (*ROSpec) Add ¶
Add returns an AddROSpec message for this ROSpecID.
func (*ROSpec) Delete ¶
func (ros *ROSpec) Delete() *DeleteROSpec
Delete returns an DeleteROSpec message for this ROSpecID.
func (*ROSpec) Disable ¶
func (ros *ROSpec) Disable() *DisableROSpec
Disable returns an DisableROSpec message for this ROSpecID.
func (*ROSpec) Enable ¶
func (ros *ROSpec) Enable() *EnableROSpec
Enable returns an EnableROSpec message for this ROSpecID.
func (*ROSpec) EncodeFields ¶
func (*ROSpec) MarshalBinary ¶
MarshalBinary Parameter 177, ROSpec.
func (*ROSpec) UnmarshalBinary ¶
UnmarshalBinary Parameter 177, ROSpec.
type ROSpecCurrentStateType ¶
type ROSpecCurrentStateType uint8
type ROSpecEvent ¶
type ROSpecEvent struct { Event ROSpecEventType ROSpecID uint32 PreemptingROSpecID uint32 }
ROSpecEvent is Parameter 249, ROSpecEvent.
func (*ROSpecEvent) EncodeFields ¶
func (p *ROSpecEvent) EncodeFields(w io.Writer) error
func (*ROSpecEvent) MarshalBinary ¶
func (p *ROSpecEvent) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 249, ROSpecEvent.
func (*ROSpecEvent) UnmarshalBinary ¶
func (p *ROSpecEvent) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 249, ROSpecEvent.
type ROSpecEventType ¶
type ROSpecEventType uint8
type ROSpecID ¶
type ROSpecID uint32
ROSpecID is Parameter 9, ROSpecID.
func (*ROSpecID) EncodeFields ¶
func (*ROSpecID) MarshalBinary ¶
MarshalBinary Parameter 9, ROSpecID.
func (*ROSpecID) UnmarshalBinary ¶
UnmarshalBinary Parameter 9, ROSpecID.
type ROSpecStartTrigger ¶
type ROSpecStartTrigger struct { Trigger ROSpecStartTriggerType PeriodicTrigger *PeriodicTriggerValue GPITrigger *GPITriggerValue }
ROSpecStartTrigger is Parameter 179, ROSpecStartTrigger.
func (*ROSpecStartTrigger) EncodeFields ¶
func (p *ROSpecStartTrigger) EncodeFields(w io.Writer) error
func (*ROSpecStartTrigger) MarshalBinary ¶
func (p *ROSpecStartTrigger) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 179, ROSpecStartTrigger.
func (*ROSpecStartTrigger) UnmarshalBinary ¶
func (p *ROSpecStartTrigger) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 179, ROSpecStartTrigger.
type ROSpecStartTriggerType ¶
type ROSpecStartTriggerType uint8
type ROSpecStopTrigger ¶
type ROSpecStopTrigger struct { Trigger ROSpecStopTriggerType DurationTriggerValue Millisecs32 GPITriggerValue *GPITriggerValue }
ROSpecStopTrigger is Parameter 182, ROSpecStopTrigger.
func (*ROSpecStopTrigger) EncodeFields ¶
func (p *ROSpecStopTrigger) EncodeFields(w io.Writer) error
func (*ROSpecStopTrigger) MarshalBinary ¶
func (p *ROSpecStopTrigger) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 182, ROSpecStopTrigger.
func (*ROSpecStopTrigger) UnmarshalBinary ¶
func (p *ROSpecStopTrigger) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 182, ROSpecStopTrigger.
type ROSpecStopTriggerType ¶
type ROSpecStopTriggerType uint8
type ReaderCapability ¶
type ReaderCapability uint8
type ReaderConfigRequestedDataType ¶
type ReaderConfigRequestedDataType uint8
type ReaderEventNotification ¶
type ReaderEventNotification struct { ReaderEventNotificationData ReaderEventNotificationData }
ReaderEventNotification is Message 63, ReaderEventNotification.
func NewCloseMessage ¶
func NewCloseMessage() *ReaderEventNotification
func NewConnectMessage ¶
func NewConnectMessage(eventType ConnectionAttemptEventType) *ReaderEventNotification
func (*ReaderEventNotification) EncodeFields ¶
func (m *ReaderEventNotification) EncodeFields(w io.Writer) error
EncodeFields for Message 63, ReaderEventNotification.
func (*ReaderEventNotification) MarshalBinary ¶
func (m *ReaderEventNotification) MarshalBinary() ([]byte, error)
MarshalBinary Message 63, ReaderEventNotification.
func (*ReaderEventNotification) Type ¶
func (*ReaderEventNotification) Type() MessageType
Type returns this message's MessageType
func (*ReaderEventNotification) UnmarshalBinary ¶
func (m *ReaderEventNotification) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 63, ReaderEventNotification.
type ReaderEventNotificationData ¶
type ReaderEventNotificationData struct { UTCTimestamp UTCTimestamp Uptime Uptime HoppingEvent *HoppingEvent GPIEvent *GPIEvent ROSpecEvent *ROSpecEvent ReportBufferLevelWarningEvent *ReportBufferLevelWarningEvent ReportBufferOverflowErrorEvent *ReportBufferOverflowErrorEvent ReaderExceptionEvent *ReaderExceptionEvent RFSurveyEvent *RFSurveyEvent AISpecEvent *AISpecEvent AntennaEvent *AntennaEvent ConnectionAttemptEvent *ConnectionAttemptEvent ConnectionCloseEvent *ConnectionCloseEvent SpecLoopEvent *SpecLoopEvent Custom []Custom }
ReaderEventNotificationData is Parameter 246, ReaderEventNotificationData.
func (*ReaderEventNotificationData) EncodeFields ¶
func (p *ReaderEventNotificationData) EncodeFields(w io.Writer) error
func (*ReaderEventNotificationData) MarshalBinary ¶
func (p *ReaderEventNotificationData) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 246, ReaderEventNotificationData.
func (*ReaderEventNotificationData) UnmarshalBinary ¶
func (p *ReaderEventNotificationData) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 246, ReaderEventNotificationData.
type ReaderEventNotificationSpec ¶
type ReaderEventNotificationSpec struct { EventNotificationStates []EventNotificationState }
ReaderEventNotificationSpec is Parameter 244, ReaderEventNotificationSpec.
func (*ReaderEventNotificationSpec) EncodeFields ¶
func (p *ReaderEventNotificationSpec) EncodeFields(w io.Writer) error
func (*ReaderEventNotificationSpec) MarshalBinary ¶
func (p *ReaderEventNotificationSpec) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 244, ReaderEventNotificationSpec.
func (*ReaderEventNotificationSpec) UnmarshalBinary ¶
func (p *ReaderEventNotificationSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 244, ReaderEventNotificationSpec.
type ReaderEventType ¶
type ReaderEventType uint16
type ReaderExceptionEvent ¶
type ReaderExceptionEvent struct { Message string ROSpecID *ROSpecID SpecIndex *SpecIndex InventoryParameterSpecID *InventoryParameterSpecID AntennaID *AntennaID AccessSpecID *AccessSpecID OpSpecID *OpSpecID Custom []Custom }
ReaderExceptionEvent is Parameter 252, ReaderExceptionEvent.
func (*ReaderExceptionEvent) EncodeFields ¶
func (p *ReaderExceptionEvent) EncodeFields(w io.Writer) error
func (*ReaderExceptionEvent) MarshalBinary ¶
func (p *ReaderExceptionEvent) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 252, ReaderExceptionEvent.
func (*ReaderExceptionEvent) UnmarshalBinary ¶
func (p *ReaderExceptionEvent) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 252, ReaderExceptionEvent.
type ReceiveSensitivityTableEntry ¶
type ReceiveSensitivityTableEntry struct { Index uint16 // ReceiveSensitivity is relative the maximum supported by the device, or the maximum // reported in the device capabilities, for readers that support changing it (requires // LLRP v1.1+). ReceiveSensitivity Decibel }
ReceiveSensitivityTableEntry is Parameter 139, ReceiveSensitivityTableEntry.
func (*ReceiveSensitivityTableEntry) EncodeFields ¶
func (p *ReceiveSensitivityTableEntry) EncodeFields(w io.Writer) error
func (*ReceiveSensitivityTableEntry) MarshalBinary ¶
func (p *ReceiveSensitivityTableEntry) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 139, ReceiveSensitivityTableEntry.
func (*ReceiveSensitivityTableEntry) UnmarshalBinary ¶
func (p *ReceiveSensitivityTableEntry) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 139, ReceiveSensitivityTableEntry.
type RegulatoryCapabilities ¶
type RegulatoryCapabilities struct { CountryCode CountryCodeType CommunicationsStandard uint16 UHFBandCapabilities *UHFBandCapabilities Custom []Custom }
RegulatoryCapabilities is Parameter 143, RegulatoryCapabilities.
func (*RegulatoryCapabilities) EncodeFields ¶
func (p *RegulatoryCapabilities) EncodeFields(w io.Writer) error
func (*RegulatoryCapabilities) MarshalBinary ¶
func (p *RegulatoryCapabilities) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 143, RegulatoryCapabilities.
func (*RegulatoryCapabilities) UnmarshalBinary ¶
func (p *RegulatoryCapabilities) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 143, RegulatoryCapabilities.
type ReportBufferLevelWarningEvent ¶
type ReportBufferLevelWarningEvent uint8
ReportBufferLevelWarningEvent is Parameter 250, ReportBufferLevelWarningEvent.
func (*ReportBufferLevelWarningEvent) EncodeFields ¶
func (p *ReportBufferLevelWarningEvent) EncodeFields(w io.Writer) error
func (*ReportBufferLevelWarningEvent) MarshalBinary ¶
func (p *ReportBufferLevelWarningEvent) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 250, ReportBufferLevelWarningEvent.
func (*ReportBufferLevelWarningEvent) UnmarshalBinary ¶
func (p *ReportBufferLevelWarningEvent) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 250, ReportBufferLevelWarningEvent.
type ReportBufferOverflowErrorEvent ¶
type ReportBufferOverflowErrorEvent struct{}
ReportBufferOverflowErrorEvent is Parameter 251, ReportBufferOverflowErrorEvent.
func (*ReportBufferOverflowErrorEvent) EncodeFields ¶
func (p *ReportBufferOverflowErrorEvent) EncodeFields(w io.Writer) error
func (*ReportBufferOverflowErrorEvent) MarshalBinary ¶
func (p *ReportBufferOverflowErrorEvent) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 251, ReportBufferOverflowErrorEvent.
func (*ReportBufferOverflowErrorEvent) UnmarshalBinary ¶
func (p *ReportBufferOverflowErrorEvent) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 251, ReportBufferOverflowErrorEvent.
type SLState ¶
type SLState uint8
type SessionState ¶
type SessionState uint8
type SetProtocolVersion ¶
type SetProtocolVersion struct { TargetVersion VersionNum }
SetProtocolVersion is Message 47, SetProtocolVersion.
func (*SetProtocolVersion) EncodeFields ¶
func (m *SetProtocolVersion) EncodeFields(w io.Writer) error
EncodeFields for Message 47, SetProtocolVersion.
func (*SetProtocolVersion) MarshalBinary ¶
func (m *SetProtocolVersion) MarshalBinary() ([]byte, error)
MarshalBinary Message 47, SetProtocolVersion.
func (*SetProtocolVersion) Type ¶
func (*SetProtocolVersion) Type() MessageType
Type returns this message's MessageType
func (*SetProtocolVersion) UnmarshalBinary ¶
func (m *SetProtocolVersion) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 47, SetProtocolVersion.
type SetProtocolVersionResponse ¶
type SetProtocolVersionResponse struct { LLRPStatus LLRPStatus }
SetProtocolVersionResponse is Message 57, SetProtocolVersionResponse.
func (*SetProtocolVersionResponse) EncodeFields ¶
func (m *SetProtocolVersionResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 57, SetProtocolVersionResponse.
func (*SetProtocolVersionResponse) MarshalBinary ¶
func (m *SetProtocolVersionResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 57, SetProtocolVersionResponse.
func (*SetProtocolVersionResponse) Status ¶
func (m *SetProtocolVersionResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*SetProtocolVersionResponse) Type ¶
func (*SetProtocolVersionResponse) Type() MessageType
Type returns this message's MessageType
func (*SetProtocolVersionResponse) UnmarshalBinary ¶
func (m *SetProtocolVersionResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 57, SetProtocolVersionResponse.
type SetReaderConfig ¶
type SetReaderConfig struct { ResetToFactoryDefaults bool ReaderEventNotificationSpec *ReaderEventNotificationSpec AntennaProperties []AntennaProperties AntennaConfigurations []AntennaConfiguration ROReportSpec *ROReportSpec AccessReportSpec *AccessReportSpec KeepAliveSpec *KeepAliveSpec GPOWriteData []GPOWriteData GPIPortCurrentStates []GPIPortCurrentState EventsAndReports *EventsAndReports Custom []Custom }
SetReaderConfig is Message 3, SetReaderConfig.
func (*SetReaderConfig) EncodeFields ¶
func (m *SetReaderConfig) EncodeFields(w io.Writer) error
EncodeFields for Message 3, SetReaderConfig.
func (*SetReaderConfig) MarshalBinary ¶
func (m *SetReaderConfig) MarshalBinary() ([]byte, error)
MarshalBinary Message 3, SetReaderConfig.
func (*SetReaderConfig) Type ¶
func (*SetReaderConfig) Type() MessageType
Type returns this message's MessageType
func (*SetReaderConfig) UnmarshalBinary ¶
func (m *SetReaderConfig) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 3, SetReaderConfig.
type SetReaderConfigResponse ¶
type SetReaderConfigResponse struct { LLRPStatus LLRPStatus }
SetReaderConfigResponse is Message 13, SetReaderConfigResponse.
func (*SetReaderConfigResponse) EncodeFields ¶
func (m *SetReaderConfigResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 13, SetReaderConfigResponse.
func (*SetReaderConfigResponse) MarshalBinary ¶
func (m *SetReaderConfigResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 13, SetReaderConfigResponse.
func (*SetReaderConfigResponse) Status ¶
func (m *SetReaderConfigResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*SetReaderConfigResponse) Type ¶
func (*SetReaderConfigResponse) Type() MessageType
Type returns this message's MessageType
func (*SetReaderConfigResponse) UnmarshalBinary ¶
func (m *SetReaderConfigResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 13, SetReaderConfigResponse.
type SpecIndex ¶
type SpecIndex uint16
SpecIndex is Parameter 14, SpecIndex.
func (*SpecIndex) EncodeFields ¶
func (*SpecIndex) MarshalBinary ¶
MarshalBinary Parameter 14, SpecIndex.
func (*SpecIndex) UnmarshalBinary ¶
UnmarshalBinary Parameter 14, SpecIndex.
type SpecLoopEvent ¶
SpecLoopEvent is Parameter 356, SpecLoopEvent.
func (*SpecLoopEvent) EncodeFields ¶
func (p *SpecLoopEvent) EncodeFields(w io.Writer) error
func (*SpecLoopEvent) MarshalBinary ¶
func (p *SpecLoopEvent) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 356, SpecLoopEvent.
func (*SpecLoopEvent) UnmarshalBinary ¶
func (p *SpecLoopEvent) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 356, SpecLoopEvent.
type SpectralMaskType ¶
type SpectralMaskType uint8
type StartROSpec ¶
type StartROSpec struct { ROSpecID uint32 }
StartROSpec is Message 22, StartROSpec.
func (*StartROSpec) EncodeFields ¶
func (m *StartROSpec) EncodeFields(w io.Writer) error
EncodeFields for Message 22, StartROSpec.
func (*StartROSpec) MarshalBinary ¶
func (m *StartROSpec) MarshalBinary() ([]byte, error)
MarshalBinary Message 22, StartROSpec.
func (*StartROSpec) Type ¶
func (*StartROSpec) Type() MessageType
Type returns this message's MessageType
func (*StartROSpec) UnmarshalBinary ¶
func (m *StartROSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 22, StartROSpec.
type StartROSpecResponse ¶
type StartROSpecResponse struct { LLRPStatus LLRPStatus }
StartROSpecResponse is Message 32, StartROSpecResponse.
func (*StartROSpecResponse) EncodeFields ¶
func (m *StartROSpecResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 32, StartROSpecResponse.
func (*StartROSpecResponse) MarshalBinary ¶
func (m *StartROSpecResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 32, StartROSpecResponse.
func (*StartROSpecResponse) Status ¶
func (m *StartROSpecResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*StartROSpecResponse) Type ¶
func (*StartROSpecResponse) Type() MessageType
Type returns this message's MessageType
func (*StartROSpecResponse) UnmarshalBinary ¶
func (m *StartROSpecResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 32, StartROSpecResponse.
type StatusCode ¶
type StatusCode uint16
StatusCode matches LLRP's Status Codes.
These are described in Section 14 of the Low Level Reader Protocol v1.0.1 and in Section 15 of Low Level Reader Protocol v1.1.
func (StatusCode) String ¶
func (i StatusCode) String() string
type StatusError ¶
type StatusError LLRPStatus
StatusError is an LLRPStatus that implements the Error interface. This is a different type than a regular LLRPStatus because the latter can also represent success.
func (*StatusError) Error ¶
func (se *StatusError) Error() string
Error implements the error interface for a StatusError.
It returns the ErrorDescription set by the Reader, and appends to it
type Statusable ¶
type Statusable interface { Status() LLRPStatus }
type StdLogger ¶
StdLogger wraps the Go stdlib Logger.
func (*StdLogger) HandlerPanic ¶
func (*StdLogger) MsgHandled ¶
func (*StdLogger) MsgUnhandled ¶
func (*StdLogger) ReceivedMsg ¶
func (l *StdLogger) ReceivedMsg(hdr Header, curVer VersionNum)
func (*StdLogger) SendingMsg ¶
type StopROSpec ¶
type StopROSpec struct { ROSpecID uint32 }
StopROSpec is Message 23, StopROSpec.
StopROSpec stops a spec if it's currently executing, overriding all other priorities and moving it to Inactive.
func (*StopROSpec) EncodeFields ¶
func (m *StopROSpec) EncodeFields(w io.Writer) error
EncodeFields for Message 23, StopROSpec.
func (*StopROSpec) MarshalBinary ¶
func (m *StopROSpec) MarshalBinary() ([]byte, error)
MarshalBinary Message 23, StopROSpec.
func (*StopROSpec) Type ¶
func (*StopROSpec) Type() MessageType
Type returns this message's MessageType
func (*StopROSpec) UnmarshalBinary ¶
func (m *StopROSpec) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 23, StopROSpec.
type StopROSpecResponse ¶
type StopROSpecResponse struct { LLRPStatus LLRPStatus }
StopROSpecResponse is Message 33, StopROSpecResponse.
func (*StopROSpecResponse) EncodeFields ¶
func (m *StopROSpecResponse) EncodeFields(w io.Writer) error
EncodeFields for Message 33, StopROSpecResponse.
func (*StopROSpecResponse) MarshalBinary ¶
func (m *StopROSpecResponse) MarshalBinary() ([]byte, error)
MarshalBinary Message 33, StopROSpecResponse.
func (*StopROSpecResponse) Status ¶
func (m *StopROSpecResponse) Status() LLRPStatus
Status returns this message's LLRPStatus
func (*StopROSpecResponse) Type ¶
func (*StopROSpecResponse) Type() MessageType
Type returns this message's MessageType
func (*StopROSpecResponse) UnmarshalBinary ¶
func (m *StopROSpecResponse) UnmarshalBinary(data []byte) error
UnmarshalBinary Message 33, StopROSpecResponse.
type TagObservationTrigger ¶
type TagObservationTrigger struct { Trigger TagObservationTriggerType NumberOfTags uint16 NumberOfAttempts uint16 T Millisecs16 Timeout Millisecs32 }
TagObservationTrigger is Parameter 185, TagObservationTrigger.
func (*TagObservationTrigger) EncodeFields ¶
func (p *TagObservationTrigger) EncodeFields(w io.Writer) error
func (*TagObservationTrigger) MarshalBinary ¶
func (p *TagObservationTrigger) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 185, TagObservationTrigger.
func (*TagObservationTrigger) UnmarshalBinary ¶
func (p *TagObservationTrigger) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 185, TagObservationTrigger.
type TagObservationTriggerType ¶
type TagObservationTriggerType uint8
type TagReportContentSelector ¶
type TagReportContentSelector struct { EnableROSpecID bool EnableSpecIndex bool EnableInventoryParamSpecID bool EnableAntennaID bool EnableChannelIndex bool EnablePeakRSSI bool EnableFirstSeenTimestamp bool EnableLastSeenTimestamp bool EnableTagSeenCount bool EnableAccessSpecID bool C1G2EPCMemorySelector *C1G2EPCMemorySelector Custom []Custom }
TagReportContentSelector is Parameter 238, TagReportContentSelector.
func (*TagReportContentSelector) EncodeFields ¶
func (p *TagReportContentSelector) EncodeFields(w io.Writer) error
func (*TagReportContentSelector) MarshalBinary ¶
func (p *TagReportContentSelector) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 238, TagReportContentSelector.
func (*TagReportContentSelector) UnmarshalBinary ¶
func (p *TagReportContentSelector) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 238, TagReportContentSelector.
type TagReportData ¶
type TagReportData struct { EPCData EPCData EPC96 EPC96 ROSpecID *ROSpecID SpecIndex *SpecIndex InventoryParameterSpecID *InventoryParameterSpecID AntennaID *AntennaID PeakRSSI *PeakRSSI ChannelIndex *ChannelIndex FirstSeenUTC *FirstSeenUTC FirstSeenUptime *FirstSeenUptime LastSeenUTC *LastSeenUTC LastSeenUptime *LastSeenUptime TagSeenCount *TagSeenCount C1G2PC *C1G2PC C1G2XPCW1 *C1G2XPCW1 C1G2XPCW2 *C1G2XPCW2 C1G2CRC *C1G2CRC AccessSpecID *AccessSpecID C1G2ReadOpSpecResult *C1G2ReadOpSpecResult C1G2WriteOpSpecResult *C1G2WriteOpSpecResult C1G2KillOpSpecResult *C1G2KillOpSpecResult C1G2LockOpSpecResult *C1G2LockOpSpecResult C1G2BlockEraseOpSpecResult *C1G2BlockEraseOpSpecResult C1G2BlockWriteOpSpecResult *C1G2BlockWriteOpSpecResult C1G2RecommissionOpSpecResult *C1G2RecommissionOpSpecResult C1G2BlockPermalockOpSpecResult *C1G2BlockPermalockOpSpecResult C1G2GetBlockPermalockStatusOpSpecResult *C1G2GetBlockPermalockStatusOpSpecResult ClientRequestOpSpecResult *ClientRequestOpSpecResult Custom []Custom }
TagReportData is Parameter 240, TagReportData.
func (*TagReportData) EncodeFields ¶
func (p *TagReportData) EncodeFields(w io.Writer) error
func (*TagReportData) MarshalBinary ¶
func (p *TagReportData) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 240, TagReportData.
func (*TagReportData) UnmarshalBinary ¶
func (p *TagReportData) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 240, TagReportData.
type TagSeenCount ¶
type TagSeenCount uint16
TagSeenCount is Parameter 8, TagSeenCount.
func (*TagSeenCount) EncodeFields ¶
func (p *TagSeenCount) EncodeFields(w io.Writer) error
func (*TagSeenCount) MarshalBinary ¶
func (p *TagSeenCount) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 8, TagSeenCount.
func (*TagSeenCount) UnmarshalBinary ¶
func (p *TagSeenCount) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 8, TagSeenCount.
type TestDevice ¶
type TestDevice struct { Client *Client ReaderLogs ClientLogger // contains filtered or unexported fields }
TestDevice is a useful mock of an LLRP device.
Create one view NewTestDevice, then start it with ImpersonateReader,
func NewReaderOnlyTestDevice ¶
func NewReaderOnlyTestDevice(conn net.Conn, silent bool) (*TestDevice, error)
NewReaderOnlyTestDevice returns a TestDevice which only manages the Reader (aka Server) portion of the communication, attaching to an existing net.Conn
func NewTestDevice ¶
func NewTestDevice(maxReaderVer, maxClientVer VersionNum, timeout time.Duration, silent bool) (*TestDevice, error)
NewTestDevice returns a TestDevice with a client ready to connect.
func (*TestDevice) Close ¶
func (td *TestDevice) Close() (err error)
Close the Reader (RFID device) by attempting to send CloseMessage, then close net.Conn, returning any error from it. This is an abnormal close condition in LLRP.
func (*TestDevice) ConnectClient ¶
func (td *TestDevice) ConnectClient(t *testing.T) (c *Client)
ConnectClient correctly connects the Client to the TestDevice and returns it. It registers a Cleanup function to Shutdown the Client and report errors once the test is completed, so it is not necessary to do so yourself.
func (*TestDevice) Errors ¶
func (td *TestDevice) Errors() []error
Errors returns accumulated errors. It should only be called after the TestDevice is closed.
func (*TestDevice) ImpersonateReader ¶
func (td *TestDevice) ImpersonateReader()
ImpersonateReader prepares the TestDevice to impersonate an LLRP reader, as if a Client had correctly dialed it, but before version negotiation begins.
func (*TestDevice) SetResponse ¶
func (td *TestDevice) SetResponse(mt MessageType, out Outgoing)
func (*TestDevice) Version ¶
func (td *TestDevice) Version() VersionNum
type TestEmulator ¶
type TestEmulator struct {
// contains filtered or unexported fields
}
TestEmulator acts like an LLRP server. It accepts connections on a configurable network port, and when an LLRP client dials this TestEmulator, a new TestDevice is created which manages only the "reader" side of the connection.
Functions exist to allow developer to provide "canned" responses to messages, and change them on the fly to allow changing
NOTE: Unlike an actual LLRP server/reader, more than one simultaneous client are allowed to connect to it,
however each client will receive the same canned responses.
func NewTestEmulator ¶
func NewTestEmulator(silent bool) *TestEmulator
func (*TestEmulator) SetResponse ¶
func (emu *TestEmulator) SetResponse(mt MessageType, out Outgoing)
SetResponse adds a canned response to all future clients. Optionally, if `applyExisting` is true, this will affect all currently active clients.
NOTE 1: This will OVERRIDE existing response for given message type
NOTE 2: Setting the response for MsgCloseConnection is NOT SUPPORTED and will be overridden by internal handler.
func (*TestEmulator) Shutdown ¶
func (emu *TestEmulator) Shutdown() error
Shutdown attempts to cleanly shutdown the emulator
func (*TestEmulator) StartAsync ¶
func (emu *TestEmulator) StartAsync(port int) error
StartAsync starts listening on a specific port until emu.Shutdown() is called
type TransmitPowerLevelTableEntry ¶
type TransmitPowerLevelTableEntry struct { Index uint16 TransmitPowerValue MillibelMilliwatt }
TransmitPowerLevelTableEntry is Parameter 145, TransmitPowerLevelTableEntry.
func (*TransmitPowerLevelTableEntry) EncodeFields ¶
func (p *TransmitPowerLevelTableEntry) EncodeFields(w io.Writer) error
func (*TransmitPowerLevelTableEntry) MarshalBinary ¶
func (p *TransmitPowerLevelTableEntry) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 145, TransmitPowerLevelTableEntry.
func (*TransmitPowerLevelTableEntry) UnmarshalBinary ¶
func (p *TransmitPowerLevelTableEntry) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 145, TransmitPowerLevelTableEntry.
type UHFBandCapabilities ¶
type UHFBandCapabilities struct { TransmitPowerLevels []TransmitPowerLevelTableEntry FrequencyInformation FrequencyInformation C1G2RFModes UHFC1G2RFModeTable RFSurveyFrequencyCapabilities *RFSurveyFrequencyCapabilities }
UHFBandCapabilities is Parameter 144, UHFBandCapabilities.
func (*UHFBandCapabilities) EncodeFields ¶
func (p *UHFBandCapabilities) EncodeFields(w io.Writer) error
func (*UHFBandCapabilities) MarshalBinary ¶
func (p *UHFBandCapabilities) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 144, UHFBandCapabilities.
func (*UHFBandCapabilities) UnmarshalBinary ¶
func (p *UHFBandCapabilities) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 144, UHFBandCapabilities.
type UHFC1G2RFModeTable ¶
type UHFC1G2RFModeTable struct { UHFC1G2RFModeTableEntries []UHFC1G2RFModeTableEntry }
UHFC1G2RFModeTable is Parameter 328, UHFC1G2RFModeTable.
This carries the set of C1G2 RF modes the Reader can operate.
The specific details of each parameter are defined in the EPC Gen-2 UHF RFID Standard, though small portions are of that information are given here for clarity.
These settings dictate aspects of the physical communication between the reader and tags, and therefore directly impact the performance of their interaction. The best choices of parameters depends heavily on the physical environment in which the reader and tags are present.
Each table entry has a ModeID which the client must reference to set the relevant operating parameters.
"Tari" values used in these parameters is the "Type A Reference Interval", and while the details are more complicated, it can be thought of as how long it takes to transmit a 0-bit. The time it takes to transmit a 1-bit is somewhere between 1.5 and 2 Tari, depending on other parameters.
In the broadest case, valid Tari values are 6.25-25 microseconds (i.e., 6250 to 25000 nanoseconds), though it may be limited by the reader; in many cases, a client may pass 0 to allow the reader to select a valid in-range value.
The tag uses the DivideRatio to calculate the backscatter link frequency (BLF), which itself is ultimately a multiple the of data rate. It may be one of two constants: 64/3 or 8/1. Having different DivideRatios permits the same BLF with a different Tari value.
The reader instructs the tags what type of subcarrier Modulation to use when encoding their backscattered reply. At FM0, the data rate in kBitsPerSec is approximately BLF in Kilohertz. Essentially, Miller values require 2, 4, or 8 times as many cycles as FM0, and so the data rate will be roughly 1/2, 1/4, or 1/8 BLF. Note that this does not affect whether the tags use ASK or PSK modulation; that's determined by the tag manufacturer.
A vendor may have had these parameters certified by EPCglobal's Hardware Action Group's Testing and Conformance group, in which case the IsEPCHagConformant will be true.
func (*UHFC1G2RFModeTable) EncodeFields ¶
func (p *UHFC1G2RFModeTable) EncodeFields(w io.Writer) error
func (*UHFC1G2RFModeTable) MarshalBinary ¶
func (p *UHFC1G2RFModeTable) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 328, UHFC1G2RFModeTable.
func (*UHFC1G2RFModeTable) UnmarshalBinary ¶
func (p *UHFC1G2RFModeTable) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 328, UHFC1G2RFModeTable.
type UHFC1G2RFModeTableEntry ¶
type UHFC1G2RFModeTableEntry struct { // ModeID is used by the client when setting an RF mode parameter. ModeID uint32 DivideRatio DivideRatio IsEPCHagConformant bool Modulation BackscatterMod ForwardLinkModulation FwdLinkMod SpectralMask SpectralMaskType BackscatterDataRate BitsPerSec // PIERatio is 1000x the the data-0 to data-1 symbol lengths ratio. PIERatio uint32 MinTariTime Nanosecs32 MaxTariTime Nanosecs32 StepTariTime Nanosecs32 }
UHFC1G2RFModeTableEntry is Parameter 329, UHFC1G2RFModeTableEntry.
See UHFC1G2RFModelTable for more information.
func (*UHFC1G2RFModeTableEntry) EncodeFields ¶
func (p *UHFC1G2RFModeTableEntry) EncodeFields(w io.Writer) error
func (*UHFC1G2RFModeTableEntry) MarshalBinary ¶
func (p *UHFC1G2RFModeTableEntry) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 329, UHFC1G2RFModeTableEntry.
func (*UHFC1G2RFModeTableEntry) UnmarshalBinary ¶
func (p *UHFC1G2RFModeTableEntry) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 329, UHFC1G2RFModeTableEntry.
type UTCTimestamp ¶
type UTCTimestamp Microsecs64
UTCTimestamp is Parameter 128, UTCTimestamp.
Microseconds since the beginning of time, midnight 1970-Jan-1.
func (*UTCTimestamp) EncodeFields ¶
func (p *UTCTimestamp) EncodeFields(w io.Writer) error
func (*UTCTimestamp) MarshalBinary ¶
func (p *UTCTimestamp) MarshalBinary() ([]byte, error)
MarshalBinary Parameter 128, UTCTimestamp.
func (*UTCTimestamp) UnmarshalBinary ¶
func (p *UTCTimestamp) UnmarshalBinary(data []byte) error
UnmarshalBinary Parameter 128, UTCTimestamp.
type Uptime ¶
type Uptime Microsecs64
Uptime is Parameter 129, Uptime.
Microseconds since the Reader started.
func (*Uptime) EncodeFields ¶
func (*Uptime) MarshalBinary ¶
MarshalBinary Parameter 129, Uptime.
func (*Uptime) UnmarshalBinary ¶
UnmarshalBinary Parameter 129, Uptime.
type VersionNum ¶
type VersionNum uint8
VersionNum corresponds to an LLRP version number.
The version number is 3 bits and embedded in each message sent between a Reader and Client.
By default, this package will attempt to establish connection with Readers using the higher version it knows, but you can explicitly override it when creating a connection. In either case, for versions greater than 1.0.1, the Client will negotiate versions with the Reader and downgrade if necessary.
func (VersionNum) String ¶
func (i VersionNum) String() string
Source Files ¶
generated_encoder.go generated_marshal.go generated_structs.go generated_unmarshal.go messages.go msg_builder.go params.go paramtype_string.go reader.go test_emulator.go test_helpers.go versionnum_string.go
- Version
- v1.0.0 (latest)
- Published
- Aug 17, 2021
- Platform
- linux/amd64
- Imports
- 17 packages
- Last checked
- 2 weeks ago –
Tools for package owners.