I started developing my first Touch Sensing application on my Kinetis K20-based custom board with CW 10.2, MQX 3.8.1 and TSS 3.0.
I updated CW 10.2 with all the current updates and service packs; Processor Expert version is 5.3.
Because I want to use MQX RTOS, I first started to make the PSP and BSP libraries needed by my application. I use Processor Expert LDDs to have the low-level drivers for my board.
From the TSS User Guide I see the TSS_Library Component is provided to be integrated into my CW project.
But in my Components Library I cannot find the TSS_Library, only the TSI_LDD is present.
The TSS User Guide, indeed, describes how to configure the TSS_Library Component in CW 10.3: maybe the TSS_Library Component will be only provided with the next CW 10.3?
But in the "Cannot use PE TSI component with S08PT60" thread ( Re: Cannot use PE TSI component with S08PT60 ) I see:
"However the TSS_Library component is not delivered within the product by default and it must be additionaly downloaded from web."
The reported link for downloading ( TSS Product Summary Page ) is the link to the TSS suite I just downloaded, and there are no other software packages to be downloaded.
Where is TSS_Library Component available?
Solved! Go to Solution.
Hello,
The TSS_Library component for TSS3.0 will be provided only with CW10.3. There is no external installation package for this TSS3.0 component.
You can use in CW10.2 only older version of TSS_Library component supporting TSS2.6. This component installation package is inside official TSS2.6 installer.
Best Regards
Peter Moravcik
TSS SW Team
Hello,
The TSS_Library component for TSS3.0 will be provided only with CW10.3. There is no external installation package for this TSS3.0 component.
You can use in CW10.2 only older version of TSS_Library component supporting TSS2.6. This component installation package is inside official TSS2.6 installer.
Best Regards
Peter Moravcik
TSS SW Team
Thank you, Peter.
Could you please give me a link to download the official TSS2.6 installer?
I cannot find it on the TSS download site TSS Product Summary Page .
Best Regards
Hello,
Thank you for the information. The TSS2.6 installer was really not available for download. We restored the file immediately. You can find it now on the following link:
www.freescale.com/files/sensors/software_tools/FSLTSSLIB_2_6_0.exe
Best Regards
Peter Moravcik
TSS SW Team
Hello Peter,
Now I have my own BSP compiled with the integrated TSS_Library Component v2.6.
But I am confused on how use it.
Can you provide an example MQX-based application with the integrated TSS_Library Component?
Best Regards
Hello Alessandro,
Here are my answers:
1. If you want to use TSS not only in bsp, but also in the application following files are needed: TSS_API.h, TSS_DataTypes.h, TSS_StatusCodes.h, TSS_DataTypes.h. For the FreeMASTER are needed at least files: freemaster.h, freemaster_tsa.h.
The following lines should be added to the bsp_twrk20d72m.bat:
copy /Y ..\..\..\mqx\build\cw10\bsp_twrk20d72m\Sources\TSS\TSS_API.h .\Generated_Code
copy /Y ..\..\..\mqx\build\cw10\bsp_twrk20d72m\Sources\TSS\TSS_DataTypes.h .\Generated_Code
copy /Y ..\..\..\mqx\build\cw10\bsp_twrk20d72m\Sources\TSS\TSS_StatusCodes.h .\Generated_Code
copy /Y ..\..\..\mqx\build\cw10\bsp_twrk20d72m\Sources\TSS\TSS_Sensor.h .\Generated_Code
copy /Y ..\..\..\mqx\build\cw10\bsp_twrk20d72m\Sources\FreeMASTER\freemaster.h .\Generated_Code
copy /Y ..\..\..\mqx\build\cw10\bsp_twrk20d72m\Sources\FreeMASTER\freemaster_tsa.h .\Generated_Code
2. Yes, the while( TSS_Task() == TSS_STATUS_PROCESSING ) is correct. You can also call only TSS_Task(), but the while( TSS_Task() == TSS_STATUS_PROCESSING ) is better for fast measurement of capacitive signal.
3. Yes, the TSS_fCallBack0() callback is generated if any touch/release is detected on at least one electrode assigned to the control. The event which cause the callback is defined in the Keypad Event register. The Keypad provides touch/release state of the electrode by the buffer. The macros TSS_KEYPAD_BUFFER_READ(destvar,kpcsStruct) and TSS_KEYPAD_BUFFER_EMPTY(kpcsStruct) should be used for the buffer control. Of course, TSS offers to detect simultaneous touches, but with the keypad buffer we can get only the simultaneous touches during the one TSS_Task() cycle. The better option is to use tss_au8ElectrodeStatus[] array where each bit indicates current electrode state.
4. Yes, SCI, FlexCAN and programming ports like OSJTAG, OSBDM, BDM are possible connection with the FreeMASTER. I'm not sure if RS485 will work. Please, ask to FreeMASTER developer.
5. Right, the FMSTR_Poll() needs to be called periodically for the polling and short interrupt variant of FreeMASTER communication. FMSTR_Poll() is not needed if long interrupt variant is used. The communication options can be set in freemaster_cfg.h file.
The example in the attachment presents MQX 3.8.1 + TSS 2.6. Component + FreeMASTER communication in CW10.2 on twrk20d72m board.
Best Regards
Peter Moravcik
TSS SW Team