Neonode zForce(TM) SDK

- Main Page
- Modules
- Classes
- Files

- Class List
- Class Index
- Class Members

Public Attributes | List of all members
Asn1Protocol Struct Reference

This structure represents the ASN.1 protocol class. More...

`#include <Asn1Protocol.h>`

Collaboration diagram for Asn1Protocol:
[legend]

## Public Attributes
Protocol * | Base
| The immediate base class of this Protocol class.
Connection * | Connection
uint64_t | ResponseSerialNumber
uint64_t | NotificationSerialNumber
void(* | Destructor )(Protocol *self)
| The destructor for this class.
void(* | DestroyPrivateDeviceData )(Protocol *self, void *privateDeviceData)
zForce * | zForce
| A pointer to the global zForce instance.
bool(* | Connect )(Protocol *self)
| Perform protocol specific processing upon connection. More...
bool(* | Disconnect )(Protocol *self)
| Perform protocol specific processing upon disconnection. More...
bool(* | DecodeDataFrame )(Protocol *self, DataFrame *dataFrame)
| Give a data frame to Protocol for processing. More...
DataFrame *(* | CreateResolutionRequest )(Protocol *self, Device *device, MessageAction action, uint32_t x, bool hasX, uint32_t y, bool hasY, uint32_t z, bool hasZ)
| Create a Resolution request. More...
DataFrame *(* | CreateTouchActiveAreaRequest )(Protocol *self, Device *device, MessageAction action, uint32_t lowerBoundaryX, uint32_t upperBoundaryX, bool xIsValid, uint32_t lowerBoundaryY, uint32_t upperBoundaryY, bool yIsValid)
| Create a TouchActiveArea request. More...
DataFrame *(* | CreateReverseTouchActiveAreaRequest )(Protocol *self, Device *device, MessageAction action, bool xIsReversed, bool yIsReversed)
| Create a ReverseTouchActiveArea request. More...
DataFrame *(* | CreateFlipXYRequest )(Protocol *self, Device *device, MessageAction action, bool axesAreFlipped)
| Create a FlipXY request. More...
DataFrame *(* | CreateReflectiveEdgeFilterRequest )(Protocol *self, Device *device, MessageAction action, bool isFilterOn)
| Create a ReflectiveEdgeFilter request. More...
DataFrame *(* | CreateMergeTouchesRequest )(Protocol *self, Device *device, MessageAction action, bool areTouchesMerged)
| Create a MergeTouches request. More...
DataFrame *(* | CreateDetectionModeRequest )(Protocol *self, Device *device, MessageAction action)
| Create a DetectionMode request. More...
DataFrame *(* | CreateMcuUniqueIdentifierRequest )(Protocol *self, Device *device, MessageAction action, uint8_t *identifier, uint32_t bufferSize)
| Create a McuUniqueIdentifier request. More...
DataFrame *(* | CreateEnableRequest )(Protocol *self, Device *device, MessageAction action, bool continuousMode, uint32_t numberOfMessages)
| Create an Enable request. More...
DataFrame *(* | CreateOperationModesRequest )(Protocol *self, Device *device, MessageAction action, OperationModes modeMask, OperationModes modeValues)
| Create an OperationModes request. More...
DataFrame *(* | CreateDisableRequest )(Protocol *self, Device *device, MessageAction action)
| Create a Disable request. More...
DataFrame *(* | CreateFingerFrequencyRequest )(Protocol *self, Device *device, MessageAction action, uint32_t frequency)
| Create a FingerFrequency request. More...
DataFrame *(* | CreateIdleFrequencyRequest )(Protocol *self, Device *device, MessageAction action, uint32_t frequency)
| Create an IdleFrequency request. More...
DataFrame *(* | CreateDetectedObjectSizeRestrictionRequest )(Protocol *self, Device *device, MessageAction action, bool maximumSizeEnabled, uint32_t maximumSize, bool minimumSizeEnabled, uint32_t minimumSize)
| Create a DetectedObjectSizeRestriction request. More...
DataFrame *(* | CreateNumberOfTrackedObjectsRequest )(Protocol *self, Device *device, MessageAction action, uint32_t numberOfTrackedObjects)
| Create a NumberOfTrackedObjects request. More...
DataFrame *(* | CreateOffsetRequest )(Protocol *self, Device *device, MessageAction action, uint32_t offsetX, bool offsetXIsValid, uint32_t offsetY, bool offsetYIsValid)
| Create an Offset request. More...
DataFrame *(* | CreateHidDisplaySizeRequest )(Protocol *self, Device *device, MessageAction action, uint32_t sizeX, bool sizeXIsValid, uint32_t sizeY, bool sizeYIsValid)
| Create a HidDisplaySize request. More...
DataFrame *(* | CreateTouchModeRequest )(Protocol *self, Device *device, MessageAction action, TouchModes touchMode, bool touchModeIsValid, uint32_t clickOnTouchTime, bool clickOnTouchTimeIsValid, uint32_t clickOnTouchRadius, bool clickOnTouchRadiusIsValid)
| Create a TouchMode request. More...
DataFrame *(* | CreateFloatingProtectionRequest )(Protocol *self, Device *device, MessageAction action, bool enabled, bool enabledIsValid, uint32_t time, bool timeIsValid)
| Create a FloatingProtection request. More...
Asn1InitializationStatus | InitializationStatus
| Initialization status.
void * | Private
| Private members.

## Detailed Description

This structure represents the ASN.1 protocol class.

## Member Data Documentation

bool( * Asn1Protocol::Connect) (Protocol *self)

Perform protocol specific processing upon connection.

Parameters

  self | Pointer to the struct itself.

Returns
  true upon success. Otherwise false which indicates failure and the errno variable should be inspected for the reason why.

Connection* Asn1Protocol::Connection

Each Protocol is linked to one connection.

DataFrame*( * Asn1Protocol::CreateDetectedObjectSizeRestrictionRequest) (Protocol *self, Device *device, MessageAction action, bool maximumSizeEnabled, uint32_t maximumSize, bool minimumSizeEnabled, uint32_t minimumSize)

Create a DetectedObjectSizeRestriction request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  maximumSizeEnabled | Maximum size enabling flag.
  maximumSize | The maximum object size for detection.
  minimumSizeEnabled | Minimum size enabling flag.
  minimumSize | The minimum object size for detection.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateDetectionModeRequest) (Protocol *self, Device *device, MessageAction action)

Create a DetectionMode request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateDisableRequest) (Protocol *self, Device *device, MessageAction action)

Create a Disable request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateEnableRequest) (Protocol *self, Device *device, MessageAction action, bool continuousMode, uint32_t numberOfMessages)

Create an Enable request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  continuousMode | Set to true for continuous mode.
  numberOfMessages | When in non-continuous mode, specifies how many Messages to receive before the Device disables itself. May not be 0 when continuousMode == false.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateFingerFrequencyRequest) (Protocol *self, Device *device, MessageAction action, uint32_t frequency)

Create a FingerFrequency request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  frequency | The value to set if this is a set action.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateFlipXYRequest) (Protocol *self, Device *device, MessageAction action, bool axesAreFlipped)

Create a FlipXY request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  flip | the X and Y axes.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateFloatingProtectionRequest) (Protocol *self, Device *device, MessageAction action, bool enabled, bool enabledIsValid, uint32_t time, bool timeIsValid)

Create a FloatingProtection request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  enabled | Enable or disable Floating Protection.
  enabledIsValid | Enable is valid, i.e. you want to set it.
  time | Floating Protection Time in ms..
  timeIsValid | The Time is valid, i.e. you want to set it.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateHidDisplaySizeRequest) (Protocol *self, Device *device, MessageAction action, uint32_t sizeX, bool sizeXIsValid, uint32_t sizeY, bool sizeYIsValid)

Create a HidDisplaySize request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  sizeX | The X Size.
  sizeXIsValid | The X Size is valid, i.e. you want to set it.
  sizeY | The Y Size.
  sizeYIsValid | The Y Size is valid, i.e. you want to set it.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateIdleFrequencyRequest) (Protocol *self, Device *device, MessageAction action, uint32_t frequency)

Create an IdleFrequency request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  frequency | The value to set if this is a set action.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateMcuUniqueIdentifierRequest) (Protocol *self, Device *device, MessageAction action, uint8_t *identifier, uint32_t bufferSize)

Create a McuUniqueIdentifier request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  identifier | Pointer to the Identifier array to set.
  bufferSize | Buffer size.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateMergeTouchesRequest) (Protocol *self, Device *device, MessageAction action, bool areTouchesMerged)

Create a MergeTouches request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  areTouchesMerged | true if the reported touches are merged, otherwise false.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateNumberOfTrackedObjectsRequest) (Protocol *self, Device *device, MessageAction action, uint32_t numberOfTrackedObjects)

Create a NumberOfTrackedObjects request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  numberOfTrackedObjects | Tracked object count.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateOffsetRequest) (Protocol *self, Device *device, MessageAction action, uint32_t offsetX, bool offsetXIsValid, uint32_t offsetY, bool offsetYIsValid)

Create an Offset request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  offsetX | The X Offset.
  offsetXIsValid | The X Offset is valid, i.e. you want to set it.
  offsetY | The Y Offset.
  offsetYIsValid | The Y Offset is valid, i.e. you want to set it.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateOperationModesRequest) (Protocol *self, Device *device, MessageAction action, OperationModes modeMask, OperationModes modeValues)

Create an OperationModes request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  modeMask | Indication of which modes have values in this call.
  modeValues | Optional values for modes. See the modeMask argument.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateReflectiveEdgeFilterRequest) (Protocol *self, Device *device, MessageAction action, bool isFilterOn)

Create a ReflectiveEdgeFilter request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  isFilterOn | true if the filter is on, otherwise false.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateResolutionRequest) (Protocol *self, Device *device, MessageAction action, uint32_t x, bool hasX, uint32_t y, bool hasY, uint32_t z, bool hasZ)

Create a Resolution request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  x | X axis value if this is a set action.
  hasX | X axis value present flag if this is a set action.
  y | Y axis value if this is a set action.
  hasY | Y axis value present flag if this is a set action.
  z | Z axis value if this is a set action.
  hasZ | Z axis value present flag if this is a set action.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateReverseTouchActiveAreaRequest) (Protocol *self, Device *device, MessageAction action, bool xIsReversed, bool yIsReversed)

Create a ReverseTouchActiveArea request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  reverseX | X axis direction reversal flag.
  reverseY | Y axis direction reversal flag.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateTouchActiveAreaRequest) (Protocol *self, Device *device, MessageAction action, uint32_t lowerBoundaryX, uint32_t upperBoundaryX, bool xIsValid, uint32_t lowerBoundaryY, uint32_t upperBoundaryY, bool yIsValid)

Create a TouchActiveArea request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  lowerBoundaryX | X axis value of lower boundary.
  lowerBoundaryY | Y axis value of lower boundary.
  upperBoundaryX | X axis value of upper boundary.
  upperBoundaryY | Y axis value of upper boundary.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

DataFrame*( * Asn1Protocol::CreateTouchModeRequest) (Protocol *self, Device *device, MessageAction action, TouchModes touchMode, bool touchModeIsValid, uint32_t clickOnTouchTime, bool clickOnTouchTimeIsValid, uint32_t clickOnTouchRadius, bool clickOnTouchRadiusIsValid)

Create a TouchMode request.

On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  touchMode | Which Touch Mode the device is in.
  clickOnTouchTime | The Click on Touch Time.
  clickOnTouchTimeIsValid | The Click On Touch Time is valid, i.e. you want to set it.
  clickOnTouchRadius | The Click On Touch Radius.
  clickOnTouchRadiusIsValid | The Click on Touch Radius is valid, i.e. you want to set it.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

bool( * Asn1Protocol::DecodeDataFrame) (Protocol *self, DataFrame *dataFrame)

Give a data frame to Protocol for processing.

Parameters

  self | Pointer to the struct itself.
  dataFrame | DataFrame pointer.

Returns
  true if the data frame has been decoded. Otherwise false which indicates failure and the errno variable should be inspected for the reason why.

void( * Asn1Protocol::DestroyPrivateDeviceData) (Protocol *self, void *privateDeviceData)

Protocol Specific method to destroy any potential Protocol Specific Data stored in a Device;

bool( * Asn1Protocol::Disconnect) (Protocol *self)

Perform protocol specific processing upon disconnection.

Parameters

  self | Pointer to the struct itself.

Returns
  true upon success. Otherwise false which indicates failure and the errno variable should be inspected for the reason why.

uint64_t Asn1Protocol::NotificationSerialNumber

A counter used for giving notifications a unique serial number. Serial numbers start at 1 and strictly increase with each notification.

uint64_t Asn1Protocol::ResponseSerialNumber

A counter used for giving responses a unique serial number. Serial numbers start at 1 and strictly increase with each response.

The documentation for this struct was generated from the following file:

- Asn1Protocol.h