background image

AP08113

Capacitive-Touch Color Wheel Implementation

Implementation of Color Wheel Software

 

Application Note

9

V1.0, 2010-08

 

3.2

Touch-Wheel Library

The Touch-Wheel Library (Library_TouchWheel.lib) has 2 main functions - calc_touchwheel() and
calc_compensation(). The functions are described in this section.

3.2.1

Calc_Touchwheel() Function

The calc_touchwheel() function provides the status (i.e. whether touch-wheel is touched), the position (the
absolute position of the last touch on the touch-wheel) and the touch-wheel average value as described in 

Table 1

.

3.2.2

Calc_Compensation() Function

The compensation value is one of the user-defined parameters for calc_touchwheel function (see 

Section 3.2.1

).

The compensation values for Wheel1 and Wheel2 are calculated with respect to Wheel3, as shown in

Equation (5)

 and 

Equation (6)

, to ensure that all values are equal under idle (no touch) condition.

(5)

(6)

Table 1

Specification of the Touch-Wheel Library Function - calc_touchwheel()

Function Name

calc_touchwheel

Prototype

void calc_touchwheel (int idata *parameter, char idata *angle, unsigned int idata *amplitude)

Input

Address pointer of touch-wheel parameters (

wheel_param[0]

)

The parameters include compensation for wheel2 and wheel1, amplitude threshold and filter 
gain. Refer to 

Section 4.1

 for descriptions of the user-defined parameters.

Address pointer of touch-wheel angle (

wheel_angle)

The angle value is updated when the touch-wheel is touched

Address pointer of touch-wheel amplitude (

wheel_amplitude[0]

)

The amplitude includes the touch-wheel position and the touch-wheel initial average value. 
Refer to 

Section 4.1

 for descriptions of the user-defined parameters.

Return

None

Output

Touch-wheel Status 

(wheel_amplitude[0])

00

H

 The touch-wheel is not touched

>00

H

 The touch-wheel is touched

Touch-wheel Position 

(wheel_angle)

This value is updated by the Touch-Wheel Library when the touch-wheel status is more than 
0x00 (i.e. a touch is detected on the touch-wheel). The HSL value is updated accordingly

Touch-wheel Average Value 

(wheel_amplitude[1])

This value is calculated and updated by the Touch-Wheel Library when the touch-wheel is not 
touched

Max Stack size

2

Resource used

XRAM address 0xF0F6 - 0xF0FF (10 bytes)

1)

1) These parameters are stored by the FINDTOUCHEDPAD function and are used to calculate the Average value for the 

touch-sense inputs.

COMPENSATION_WHEEL2

AVERAGEL/H of WHEEL3

(

)

AVERAGEL/H of WHEEL2

(

)

=

COMPENSATION_WHEEL1

AVERAGEL/H of WHEEL3

(

)

AVERAGEL/H of WHEEL1

(

)

=

All manuals and user guides at all-guides.com

Summary of Contents for XC800 AP08113

Page 1: ...XC800 Family AP08113 Capacitive Touch Color Wheel Implementation Microcontrollers Application Note V1 0 2010 08 All manuals and user guides at all guides com a l l g u i d e s c o m...

Page 2: ...LICATION NOTE Information For further information on technology delivery terms and conditions and prices please contact the nearest Infineon Technologies Office www infineon com Warnings Due to techni...

Page 3: ...last revision This is the first release We Listen to Your Comments Is there any information in this document that you feel is wrong unclear or missing Your feedback will help us to continuously improv...

Page 4: ...heel Function 9 3 2 2 Calc_Compensation Function 9 3 3 RGB LED 10 3 4 Overview Flow Chart of Color Wheel Software Code 11 4 Modifying Color Wheel Software Code 12 4 1 User Defined Parameters 12 4 2 DA...

Page 5: ...ary to create their own XC822T1 solution The source code provided can be modified and compiled with the free DAvE Bench tool chain The user can download the code into flash execute it and observe the...

Page 6: ...d the third selects Hue The respective LED above the touch wheel will indicate the current color mode selection The main LED is a 3 channel RGB LED D2 where the color is a combination of the three cha...

Page 7: ...PADERROR of the LEDTS ROM Library FINDTOUCHEDPAD function There are two touch detection methodologies used in the Color Wheel Application Kit LEDTS ROM Library touch detection methodology Touch Wheel...

Page 8: ...DC is used to keep track of how long the pad is touched PDC is initialized to be 0xFF at the start of a detected pad touch and is decremented once at each All Enabled Pads Accumulated Count Period AEP...

Page 9: ...0 The parameters include compensation for wheel2 and wheel1 amplitude threshold and filter gain Refer to Section 4 1 for descriptions of the user defined parameters Address pointer of touch wheel angl...

Page 10: ...converted to an RGB value via the HSL_TO_RGB function and the CCU6 registers are programmed where their respective pins are connected to the RGB LED Figure 3 HSL to RGB LED Block Diagram Table 2 Speci...

Page 11: ...color mode is enabled y Change colur mode and respective LED3 2 1 loop Centre button is touched n y Centre button is touched for long period n Enter Power Down Mode Disable interrupts Disable WDT if e...

Page 12: ...fy and compile the code Procedure to modify Color Wheel Application software code Download and install DAvE Bench www infineon com dave bench Define a workspace for DAvE Bench Click File Import XC800...

Page 13: ...respective folder To select the required configuration select Project Properties C C Build Settings Manage Configurations Activate this option To view the differences between the Debug and Release co...

Page 14: ...ch Color Wheel Implementation Modifying Color Wheel Software Code Application Note 14 V1 0 2010 08 Figure 5 DAvE Bench GUI for Compiling the Color Wheel Software Code 5 1 2 3 4 All manuals and user gu...

Page 15: ...e software updating Once the code is verified the user can re program the device to User Mode Productive Attention It is recommended to program BMI to UART BSL Mode before updating the software code T...

Page 16: ...al interrupt Control Register 0 SFR_PAGE _su3 noSST switch to page 3 without saving MODPISEL1 0x18 peripheral input select register 1 SFR_PAGE _su0 noSST switch to page 0 without saving End of functio...

Page 17: ...is therefore re entered and the latest SFR LTS_TSVAL value is re saved The cycle then repeats If the SFR LTS_TSVAL value is less than or equal to the saved_value it means that the centre button is be...

Page 18: ...lor Wheel Board Figure 6 shows the component layout of the Color Wheel board while Figure 7 Figure 8 and Figure 9 show the schematics of the XC822T device USB interface and power supply on the Color W...

Page 19: ...on Schematics and Layout of the Color Wheel Board Application Note 19 V1 0 2010 08 Figure 8 Schematic of USB Interface on the Color Wheel Board Figure 9 Schematic of power supply of the Color Wheel Bo...

Page 20: ...lor Wheel Board Application Note 20 V1 0 2010 08 Figure 10 and Figure 11 show the top and bottom layout of the Color Wheel board respectively Figure 10 Top Layout of the Color Wheel Board Figure 11 Bo...

Page 21: ...applications The Infineon touch sensing solution described in this document is a total solution on chip comprising optimized hardware and effective software functions running from ROM By taking the e...

Page 22: ...Published by Infineon Technologies AG w w w i n f i n e o n c o m All manuals and user guides at all guides com...

Reviews: