Atmel QTouch Library User Guide

Atmel QTouch Library User Guide Atmel QTouch Library User Guide

prochild.co.kr
from prochild.co.kr More from this publisher
11.07.2015 Views

ApplicablereleaseQTouch libraries ver 4.4Rule No Rule Description Exceptions Reason1.1 Rule states that all codeshall conform to ISO 9899standard C, with noextensions permitted.10.1 Rule states that Illegalimplicit conversion fromUnderlying long to unsignedlong10.6 This Rule says that a 'U'suffix shall be applied to allconstants of 'unsigned' typeThis Rule is not supported as the libraryimplementation requires IAR extensions like__interrupt. These intrinsic functions relates todevice hardware functionality, and cannotpractically be avoidedThe library uses macros to combine symboldefinitions to form a unique expanded symbolname and in this, the usage of unsigned qualifiersfor numeric constants (e.g. 98u) causes namemangling. This is the only occurrence of this errorin the library.The library uses macros to combine symboldefinitions to form a unique expanded symbolname and in this, the usage of unsigned qualifiersfor numeric constants (e.g. 98u) causes namemangling. This is the only occurrence of this errorin the library.19.10Rule states that In thedefinition of a function-likemacro, each instance of aparameter shall be enclosedin parenthesisThere is one instance where the library breaks thisrule where two macro definitions are combined toform a different symbol name. Usage ofparenthesis cannot be used in this scenario.19.12 Rule states that there shallbe at most one occurrenceof the # or ## preprocessoroperator in a single macrodefinitionThere is one instance in the library where this ruleis violated where the library concatenates twomacro definitions to arrive at a different definition.Known IssuesIssue Cause Remedy / workaroundQMatrix Touch Sensing on XMEGA AVRsThe Pins PE6,PE7 and PF5 ofATxmegaA3 devices do not work fortouch sensing when tested along with STK600GCC compiler Optimization issue withQMatrix Libraries on ATtiny167In case of QMatrix GCC library for ATtiny167,few channels produces low signal and referencevalue compared to other channels, when testedwith STK600.GCC Compiler Issue for ATmega128RFA1deviceThe Latest GCC WinAVR-20090313 is havingproblems with ATmega128RFA1 device. Itplaces the .data section to the memory location0x800100 instead of 0x800200.Suggested to use combinations withother portsSuggested to use the defaultOptimization level of –O0 forATtiny167 in case of GCC.In the linker options for the GCCproject of ATmega128RFA1 device ,the following options have to beadded:-Wl,--sectionstart=.data=0x8002001128207K-AT42-09/11

The GCC example projects for QMatrix does notcompile the delay cycles(QT_DELAY_CYCLES) above a value of 5because of the preprocessor expansions.Compiling QT600 project files throwsunused variable warning.When using IAR workbench for ATSAM tointegrate the touch libraries, the linkerwould generate a warning indicating:Warning[Lp005]: placement includes a mixof sections with content (example "ro datasection .data_init in xfiles.o(dl7M_tl_if.a)")and sections without content (example "rwdata section .data in xfiles.o(dl7M_tl_if.a)")This is becausewe link thelibrary in RWdata section.Recommended to remove UL fromthe preprocessor constants and inthe chain of macros used forQT_DELAY_CYCLES. Valid forQT_DELAY_CYCLES = 5,10,25,50.These variables are available inthe debug protocol for future use.Warning[Lp006]: placement includes a mixof writable sections (example "rw datasection .data in xfiles.o(dl7M_tl_if.a)") andnon-writable sections (example "ro datasection .data_init in xfiles.o(dl7M_tl_if.a)")ChecklistThis section lists troubleshooting tips and common configuration tips.Symptom Cause ActionSensors do not go into detect orhave unknown resultsMultiplexing pinsused by QTouchlibraries in yourdesignCheck the Pins used for QTouch orQMatrix acquisition methods do notoverlap with the applications usageof the portsSignal values report arbitraryvaluesWaveforms of charging /discharging of channels do notshow up properly in oscilloscopesWhen using the exampleapplications, the debug values forsome of the channels does notdisplay appropriate valuesStray capacitanceJTAG ICE connectedto the boardJTAG Pins areenabled in the target.Check the sensor design andminimize stray capacitanceinterference in your designTry disconnecting the JTAG ICEcompletely from the kitJTAG Pins are explicitly needs tobe disabled in the main.c file/* disable JTAG pins */MCUCR |= (1u

Applicablerelease<strong>QTouch</strong> libraries ver 4.4Rule No Rule Description Exceptions Reason1.1 Rule states that all codeshall conform to ISO 9899standard C, with noextensions permitted.10.1 Rule states that Illegalimplicit conversion fromUnderlying long to unsignedlong10.6 This Rule says that a 'U'suffix shall be applied to allconstants of 'unsigned' typeThis Rule is not supported as the libraryimplementation requires IAR extensions like__interrupt. These intrinsic functions relates todevice hardware functionality, and cannotpractically be avoidedThe library uses macros to combine symboldefinitions to form a unique expanded symbolname and in this, the usage of unsigned qualifiersfor numeric constants (e.g. 98u) causes namemangling. This is the only occurrence of this errorin the library.The library uses macros to combine symboldefinitions to form a unique expanded symbolname and in this, the usage of unsigned qualifiersfor numeric constants (e.g. 98u) causes namemangling. This is the only occurrence of this errorin the library.19.10Rule states that In thedefinition of a function-likemacro, each instance of aparameter shall be enclosedin parenthesisThere is one instance where the library breaks thisrule where two macro definitions are combined toform a different symbol name. Usage ofparenthesis cannot be used in this scenario.19.12 Rule states that there shallbe at most one occurrenceof the # or ## preprocessoroperator in a single macrodefinitionThere is one instance in the library where this ruleis violated where the library concatenates twomacro definitions to arrive at a different definition.Known IssuesIssue Cause Remedy / workaroundQMatrix Touch Sensing on XMEGA AVRsThe Pins PE6,PE7 and PF5 ofATxmegaA3 devices do not work fortouch sensing when tested along with STK600GCC compiler Optimization issue withQMatrix Libraries on ATtiny167In case of QMatrix GCC library for ATtiny167,few channels produces low signal and referencevalue compared to other channels, when testedwith STK600.GCC Compiler Issue for ATmega128RFA1deviceThe Latest GCC WinAVR-20090313 is havingproblems with ATmega128RFA1 device. Itplaces the .data section to the memory location0x800100 instead of 0x800200.Suggested to use combinations withother portsSuggested to use the defaultOptimization level of –O0 forATtiny167 in case of GCC.In the linker options for the GCCproject of ATmega128RFA1 device ,the following options have to beadded:-Wl,--sectionstart=.data=0x8002001128207K-AT42-09/11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!