Index
Table of Contents | ||
---|---|---|
|
Introduction
This page describes the parameters currently available in the Touch Sensor Module Firmware 1.55 and Neonode Touch Sensor Module Firmware (NTSMF 2.0-BETA), except for Scanning Range which is only available in NTSMF 2.0-BETA through zForce Programmer.
The parameters described in this document can be adjusted by changing the Touch Sensor Modules configuration. These parameters can be configured using Neonode Workbench, an application using zForce SDK, Arduino Library (I2C) or zForce Programmer. The parameters that have been configured using either Neonode Workbench, zForce SDK or Arduino Library, are stored in the RAM memory, meaning that the new configuration will have to be re-applied after each reboot. If the parameters are instead configured using zForce Programmer, the parameters will not have to be re-applied after each reboot.
Configuration | Range | Measurement | Default | Description |
Range Settings | Sets the scanning range dynamically | |||
Scanning Range | 10-1·mm | Mechanical Data (col. B * 10) | Scanning range with max value according to column B (extended range available for 295, 310 and 346 mm Touch Sensor Modules). This value also sets the limit for Max Y below. | |
Touch Active Area Adjustments | Contains settings for modifying the active touch area and the reported touch coordinates | |||
Low Bound X (Min X) | 10-1·mm | 36 | Start position of the (Sub)TAA in x-direction. | |
Low Bound Y (Min Y) | 10-1·mm | 0 | Start position of the (Sub)TAA in y-direction. | |
High Bound X (Max X) | 10-1·mm | Mechanical Data (col. A * 10) + 36 | End position of the (Sub)TAA in x-direction. | |
High Bound Y (Max Y) | 10-1·mm | Mechanical Data (col. B * 10) | End position of the (Sub)TAA in y-direction. | |
Reverse X | True/False | Boolean | False | Reverses the x-coordinates of reported touches. |
Reverse Y | True/False | Boolean | False | Reverses the y-coordinates of reported touches. |
Flip XY | True/False | Boolean | False | Swaps the y- with the x-coordinates of the reported touches. |
Offset X | 10-1·mm | 0 | Offsets the projected (Sub)TAA in x-direction, on the display. | |
Offset Y | 10-1·mm | 0 | Offsets the projected (Sub)TAA in y-direction, on the display. | |
HID Display Size | The size of the display reported by the Touch Sensor Module to the host. Only usable when connecting with USB HID | |||
Hid Display Size X | 10-1·mm | Mechanical Data (col. A * 10) | Width of the display. | |
Hid Display Size Y | 10-1·mm | Mechanical Data (col. B * 10) | Height of the display. | |
Object Size Restrictions | Only reports touches with an object size that is within the defined limits | |||
Max Size Enabled | True/False | Boolean | False | Allows a maximum touch object size. |
Max Size | 10-1·mm | 0 | Max limitation of a touch object (if Max Size Enabled =True). | |
Min Size Enabled | True/False | Boolean | False | Allows a minimum touch object size. |
Min Size | 10-1·mm | 0 | Min limitation of a touch object (if Min Size Enabled =True). | |
Click On Touch | Configures the Touch Sensor Module to send an Up (touch event) after Down within a defined threshold to create an instant touch experience | |||
Enabled | True/False | Boolean | False | Enables and disables the Click On Touch Feature |
Time To Up | ms | 100 | Time from the Down event until the Up event is sent. | |
Distance | 10-1·mm | 100 | Distance from the initial location that a touch must stay within for Click On Touch to be enabled for a touch | |
Frequency Settings | Changes the Touch Sensor Modules update frequency | |||
Idle Frequency | Frequency | Hz | 100 | Scanning frequency when the Touch Sensor Module has not registered any touch object. |
Finger Frequency | Frequency | Hz | 33 | Scanning frequency when the Touch Sensor Module has registered and tracking a touch object. |
Floating Protection Settings | Wait for the object to stabilize on the Y-axis, in order to identify the position of the object in a reliable way | |||
Enabled | True/False | Boolean | True | Floating protection enabled |
Floating Protection Time | 10-1·ms | 400 | Time to wait before reporting touch registration | |
Miscellaneous Settings | ||||
Number Of Reported Touches | 1-10 touches | Quantity | 2 | The number of touches that can be reported simultaneously. |
Reflective Edge Filter | True/False | Boolean | False | Useful when there is a risk that there are highly reflective materials right outside the active touch area |
Scanning Range
This setting is only available through zForce Programmer. Modifying the scanning range can be useful when the range has to be extended on longer touch sensor modules (346, 330, and 310) and also offers the possibility to set a shorter scanning range. This differs from setting the touch active area Max Y setting as it modifies the actual scanning range of the sensor. If only the Max Y setting would be used, it would still be able to see touches outside of the touch active area, but it would invalidate them and not report them as touches.
Touch Active Area Adjustments
Axis Orientation
When mapping a reported touch from the Touch Active Area to a display, it is important that the orientation of the TAA, as well as the display are taken into account. When positioning a Touch Sensor Module over a display to achieve touch functionality, both systems needs to be co-aligned in order for a reported touch to be projected in the same corresponding position of the screen. If both systems are not oriented in the same way, the reported touches are going to be reversed depending of the setup. Luckily, the orientation of the reported touches can be configured to counter this by using ReverseX/ReverseY or FlipXY in Device Configuration. These settings rotates or flips the given coordinates of the reported touches, which allows the Touch Sensor Module to be mounted at any of the 4 sides of the screen
Almost all displays have a reference point (or origin) positioned at the upper left corner of the screen, where the x-axis points in the direction to the right, with the y-axis pointing downwards. The origin of the Touch Sensor Module's Touch Active Area is positioned on the left hand side, when having the TAA facing downwards, with the black side of the Touch Sensor Module facing outwards.
This means that if a Touch Sensor Module is positioned above a display, with the black side facing outwards, and its TAA covering the screen - both coordinates systems would be co-aligned and a reported touch would project on the display seamlessly. But if we were to flip the Touch Sensor Module to cover the screen from underneath the display, a reported touch would appear to be reversed in y-direction since their coordinate systems would no longer be co-aligned, as illustrated below.
Touch Active Area Size
The Low or High Bound of the x- or y-axis can be configured in order to make a Touch Active Area (TAA) smaller, creating a so-called Sub Touch Active Area (SubTAA). This limits the interactive area, and touches would only be reported within the SubTAA.
The SubTAA is measured from its origin, in the range of Low Bound and High Bound, in x- or y-direction.
Where,
- Low Bound X - Start position of the (Sub)TAA in x-direction, measured from the origin of the TAA.
- High Bound X - End position of the (Sub)TAA in x-direction, measured from the origin of the TAA.
- Low Bound Y - Start position of the (Sub)TAA in y-direction, measured from the origin of the TAA.
- High Bound Y - End position of the (Sub)TAA in y-direction, measured from the origin of the TAA.
When projecting a SubTAA to a display within the host system, the projected SubTAA would then be mapped to the display's origin, regardless of its position (as shown in the illustration below).
Reverse X and Y
Reverse X or Y reverses the coordinates of a reported touch in x- or y-direction, without effecting the orientation of the (Sub) Touch Active Area. When positioning a Touch Sensor Module, the axes of the Touch Active Area should either be positioned in the same orientation as the display, or have the reported touch coordinates adjusted. Please consider the following example.
Flip XY
Flip XY swaps the x- with the y-axis of the reported touches, without effecting the orientation of the (Sub) Touch Active Area. When swapping axes, the reported touch data would then be sent to the host system containing the new x- and y coordinates.
FlipXY together with ReverseX/Y can be used together which allows the Touch Sensor Module to be positioned around all edges of a display. When positioning a Touch Sensor Module, the axes of the Touch Active Area should either be positioned in the same orientation as the display, or have the reported touch coordinates adjusted. Please consider the following example.
Offset X and Y
Offset X or Y configures the position of the mapped (Sub) Touch Active Area onto the display for the given axes. When adding the offset to a SubTAA, the position of the projected SubTAA will then be moved according to the following illustration.
Hid Display Size X and Y
Hid Display Size X or Y represent the width and height of a display in the host system. Hid Display Size is used to scale the reported touches onto the display. The default Hid Display Size values are set to match the size of the Touch Sensor Module's Touch Active Area, creating a proportional mapping regardless of the display size.
Proportional Mapping
When Hid Display Size is set to the size of the Touch Active Area, the mapping of a reported touch would get projected proportionally, to fit the size of the display.
For instance, if a display within the host system is larger than the TAA, a reported touch will get projected according to the illustration below.
Selective Touch Area
It is possible to create a so-called Selective Touch Area, where only a part of the display have touch functionality.
For instance, if a Touch Sensor Module is positioned over a larger display, we can create a touch surface over that specific part of the screen. Please refer to Selective Touch Area for further information and examples.
Object Size Restrictions
Only reports touches with an object size that is within the defined limits.
Click On Touch
The click on touch parameters gives the option to make the Touch Sensor Module report a click event upon entering the touch field as opposed to report a click event when an object leaves the touch field. This is useful when using the Touch Sensor Module in a contactless touch implementation, and gives more rapid feedback to the user.
Click on Touch Enabled
Enables or disables click on touch.
Time to Up
Time from the down event until the up event is sent. Setting this to 0 completely disables the possibility to do swiping gestures (or drawing). Setting this to e.g 100ms gives the end user 100ms to move outside of the set Distance (described below) and begin the swipe gesture instead.
Distance
This value sets the minimum range that the touch object has to move before starting a swipe gesture.
Frequency Settings
The frequency parameters set the various scannning frequencies. The maximum scanning frequencies are depending on the product variant.
Finger Frequency
Activated when objects with characteristics matching regular fingers are detected.
Idle Frequency
Activated when no objects are detected in order to minimize power usage.
Floating Protection
The floating protection parameter gives the option to modify or disable one of the touch recognition filters that are available in the Touch Sensor Module.
Floating Protection Enabled
This is a Boolean value that completely disables or enables this filter.
Floating Protection Time
This value indicates how long this filter would need to validate the first reported touch. Default value is 40ms. With a lower value the risk increases that a false touch would be reported, and the opposite with a higher value.
Number of reported touches
The number of touches that can be reported simultaneously. For example, setting this to 5 will make the sensor report up to 5 simulatenous touches.
Reflective Edge Filter
This is a Boolean value to disable or enable the reflective edge filter. This filter is useful when there is a high risk that there will be a highly reflective materials right outside the Touch Active Area. In the presence of such materials there is a risk that the Touch Sensor Module will report it as a touch within Touch Active Area. An example of a highly reflective material could be a white paper or something similar.