This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RM44L920: TI_Fee_MainFunction() Call Periodicity

Part Number: RM44L920
Other Parts Discussed in Thread: HALCOGEN

All of my FEE reads and writes are working fine. I placed the periodic call to TI_Fee_MainFunction() in my watchdog handler since it is the slowest synchronous task I have running at 125 ms intervals.However, this maintenance function appears to be blocking and sometimes lasts upwards of 10-15 ms. I've mitigated one problem that caused, but if I can reduce the number of times it's called after a read or write to some finite value, that would be very helpful.

Does TI_Fee_MainFunction() have to be called all the time, or just for XX number of times after a read or write? My reads and writes to FEE are very rare, like once a year rare, if that.

I'm considering adding a counter so that if it does need to always be called, it's only called every 10th time the watchdog is serviced, or every 1.25 seconds. Is there a recommended minimum interval, especially after a read/write operation?

The FEE manual is pretty good, but "TI_Fee_MainFunction() function should be called at regular intervals to finish the Read operation." could use some clarification regarding the definition of regular intervals.

Thanks!

- Tom

  • Hi Tom,

    I started to work on this issue and i will provide you update soon.

    --
    Thanks & Regards,
    Jagadish.

  • Hi Tom,

    Does TI_Fee_MainFunction() have to be called all the time, or just for XX number of times after a read or write? My reads and writes to FEE are very rare, like once a year rare, if that.

    No need to call TI_Fee_MainFunction() function all the time, 

    You can follow the procedure mentioned in example code given in HALCoGen

    If you see the above highlighted code, after we are initiating asynchronous write operation using the function (TI_Fee_WriteAsync) we are calling the TI_Fee_MainFunction function till the status not equal to idle, once the status becomes the idle means the job was completed. And same thing for TI_Fee_Read function as well.

    You can also refer above flow diagram to find the same, there after initiating asynchronous transfers, the  TI_Fee_MainFunction function was calling till the status becomes idle, once the status becomes idle means no need to call TI_Fee_MainFunction again until a new operation is assigned.

    --

    Thanks & Regards,
    Jagadish.

  • Jagadish - Thank you for the clarification. I had the correct while-do-while code from the FEE example in my read and write functions, but thought perhaps there was some additional maintenance that went on. Wear-leveling or something. I was over-thinking it.

    In any case, this greatly simplifies things for me, which is great news.

    Thanks again!

    - Tom