AnsweredAssumed Answered

TSS_Task does not update TSS internal data

Question asked by Francesco Prosperi on Aug 23, 2013
Latest reply on Nov 6, 2013 by Pavel Sadek

Hi there,

 

I'm using TSS on a PT32, 6 electrodes. My application aso uses timers and flash, so I have a bunch of activies running.

 

What's happening right now is that TSS_Task does not update TSS internal data, after the first flash write.

 

The main loop looks like the following:

 

void main(void)

{

 

  /*** Processor Expert internal initialization. DON'T REMOVE THIS CODE!!! ***/

  PE_low_level_init();

  /*** End of Processor Expert internal initialization.                    ***/

 

  /* Write your code here */

  /* For example: for(;;) { } */

 

  /* various inits */

 

  for(;;){

  

   ret = TSS_Task();

  

   if (flash_write_requested == 1) {

  

   Cpu_DisableInt();

   if (Report_Update_Flash_Data() == 0) {

   Debug_Print("Report written successfully.\n\0");

   } else {

   Debug_Print("Error writing flash report.\n\0");

   }

  

   flash_write_requested = 0;

   Cpu_EnableInt();

   }

}

 

So I do TSS_Task as often as I can optionally writing the flash whenever needed (don't mind lagging a bit though).

 

After the flash write (that completes just fine), the application continues to run but the TSS_Task seems to do nothing

(and its computation time is significantly shorter).

 

Is there any way to detect what's happening inside it?

 

P.S. Sorry but I don't know how to format code (input form behaviour on my browser is pretty crappy).

 

P.P.S I can't post all the project but I can give further info to clarify the situation.

 

Thanks for the (eventual) suggestions.

 

BR,

Francesco

Outcomes