Unable to find TSS_Library Component

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Unable to find TSS_Library Component

Jump to solution
2,016 Views
Vagni
Contributor IV

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?

Labels (1)
0 Kudos
Reply
1 Solution
1,413 Views
moravcik
Contributor III

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


View solution in original post

0 Kudos
Reply
5 Replies
1,414 Views
moravcik
Contributor III

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


0 Kudos
Reply
1,413 Views
Vagni
Contributor IV

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

0 Kudos
Reply
1,413 Views
moravcik
Contributor III

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


0 Kudos
Reply
1,413 Views
Vagni
Contributor IV

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.

  1. The Processor Expert code for TSS_Library Component is generated in the {MQX_3_8_1_ROOT}\mqx\build\cw10\bsp_myBoard\Generated_Code and {MQX_3_8_1_ROOT}\mqx\build\cw10\bsp_myBoard\Sources folders. In the last one the two new TSS and FreeMASTER subfolders are now present. All the MQX libraries and include files available for my application are to be stored in the {MQX_3_8_1_ROOT}\lib\myBoard.cw10 folder; for my BSP library I cloned the {MQX_3_8_1_ROOT}\mqx\build\bat\bsp_twrk20d72m.bat batch file in my {MQX_3_8_1_ROOT}\mqx\build\bat\bsp_myBoard.bat, but which TSS and FreeMASTER files are to be copied in {MQX_3_8_1_ROOT}\lib\myBoard.cw10\bsp and in which subfolder? Can you provide an example bsp_xxx.bat batch file for a BSP library with the integrated TSS_Library Component?
  2. From TSS User Guide I see the TSS is first to be initialized calling TSS_Init() and then TSS_Task() is to be called in my application main loop. In my case I use MQX; executing the following code: while( TSS_Task() == TSS_STATUS_PROCESSING ); in the main loop of one of my tasks is correct?
  3. When a touch key is pressed/released, a TSS_fCallBack0() event should be generated for my configured KEYPAD control, right? But I don't understand how can I get which key was pressed/released. Furthermore, is it possible to detect two or more keys pressed in the same time?
  4. I would like to use FreeMASTER tool for testing and tuning my capacitive touch system. SCI and FlexCAN are the only communication peripherals available for Kinetis MCUs to communicate with FreeMASTER tool, right? On my board I have only a RS485 communication port: is the serial FreeMASTER communication protocol full-duplex? In that case, I cannot use the RS485 port (it is half-duplex!).
  5. From TSS User Guide I see the FreeMASTER resources are first to be initialized calling FMSTR_Init() and then FMSTR_Poll() is to be called in my application main loop. Calling FMSTR_Poll()  in the main loop of one of my tasks is correct?

Can you provide an example MQX-based application with the integrated TSS_Library Component?

Best Regards

0 Kudos
Reply
1,413 Views
moravcik
Contributor III

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


0 Kudos
Reply