AnsweredAssumed Answered

Proper sequence to exit LDCR mode for the SPIRIT1?

Question asked by gardner.david on May 10, 2017
Latest reply on May 15, 2017 by gardner.david

Hello,

 

What is the recommended procedure to exit (or disable) LDCR mode for the Spirit1?

 

The documentation has the start up procedure for RX, but no mention of start up for TX or the disable procedure for both.

http://www.st.com/content/ccc/resource/technical/document/application_note/47/50/91/3a/f5/fd/4d/c1/DM00068699.pdf/files/… 

 

I have tried several variations of the following code however the Spirit1 occasionally (but not always) reports MC_STATE = 0x20 or 0x53 or 0x29 during the status refreshes.

 

    SpiritCmdStrobeFlushTxFifo();
    SpiritTimerLdcrMode(S_DISABLE);
    SpiritTimerLdcrAutoReload(S_DISABLE);
    SpiritCmdStrobeSabort(); //In case the Spirit1 is in TX or RX

 

    do
    {
    SpiritRefreshStatus();
    }while(g_xStatus.MC_STATE==MC_STATE_RX || g_xStatus.MC_STATE==MC_STATE_TX);
    
    SpiritCmdStrobeReady(); //In case the device is sleeping
    
    do
    {
    SpiritRefreshStatus();
     }while(g_xStatus.MC_STATE!=MC_STATE_READY);

Outcomes