cancel
Showing results for 
Search instead for 
Did you mean: 

S2-LP getting into unknown state (MC_STATE0 is 0x29)

PNare
Associate III

Greetings, I'm configuring the S2-LP to act as a receiver and then strobing the reception. Sometimes the reception works and the S2-LP goes to the RX state as seen from the first 2 bytes of status on MISO . Sometime, randomly, it goes into an unknown state of 0x14 (MC_STATE0 value is 0x29). Why does this happen?

I don't know what other info is needed, please let me know and I'll answer.

Regards, Prithvi

7 REPLIES 7
Anders Dam Kofoed
Associate II

Hi,

I am having a similar issue, but just with MC_STATE0=0x74 instead.

Did you ever find out why or how to solve it?

My question is here:

https://community.st.com/s/question/0D53W000002eTkjSAE/my-s2lp-tranceiver-is-reporting-state-0x74

Kind rgds

Anders

Anders Dam Kofoed
Associate II

Hi again

I found out that I needed this in my mode-switch in order to re-calibrate the RCO:

    S2LPRefreshStatus(); // g_sStatus_MC_STATE
    // Recovery
    if (g_xStatus.MC_STATE != MC_STATE_READY && g_xStatus.MC_STATE != MC_STATE_TX && g_xStatus.MC_STATE != MC_STATE_RX && g_xStatus.MC_STATE != MC_STATE_STANDBY && g_xStatus.MC_STATE != MC_STATE_SLEEP)
    {
        printf("S2LP Recovery...\r\n");
        S2LPCmdStrobeSabort();
        HAL_Delay(1);
        S2LPCmdStrobeStandby();
        HAL_Delay(1);
        S2LPCmdStrobeReady();
        HAL_Delay(1);
    }

I actually force it using S2LPCmdStrobeLockTx(); in the init() followed by S2LPCmdStrobeSabort(); but I still get MC_STATE=0x74 or sometimes 0x14.

Someone mentioned that there is an ERRATA sheet where something about callibration word is mentioned and how to fix it. It is not it the S2-LP Errata sheet section but I would like to know where?

Kind regards

Anders Dam Kofoed

DataHamster.io

M F
Associate II

I have observed as well the LP-SP2 going to the STATE 0x14 (MC_STATE0 = 0x29) with the following differences:

1- It happens now and then at very low tempertares: -34°C and then also out of specified range, at -50°C

2- it happens when I send the SABORT strobe to bring the chip from RX to READY state.

Once the LP-S2 is in the STATE 0x14 (MC_STATE0 = 0x29), how can I bring the LP-SP2 from this undocumented state to the READY state?

I have tried sending SABORT and also the READY strobes. None of them did "the magic". :(

I have contacted STMicro. If I get some information I will post it.

Marcos

Anders Dam Kofoed
Associate II

Looking forward to your reply.

If we are to make production-ready code for the S2LP, then we must have ST to help with this - supplying us with a workaround!

AndyR1
Senior

hello, my s2lp goes to unknown state too, i couldnt reproduce the bug, do you know the difference between state LOCKON and LOCK_ST ?

M F
Associate II

After analysing, modifying and testing the fix I must correct my post written 7 days ago. In that post is to be read:

2- it happens when I send the SABORT strobe to bring the chip from RX to READY state.

It is the SABORT command that makes it actually possible to bring the LP-S2 from the undocumented state 0x14 (MC_STATE0 = 0x29) to the READY state.

Did you ever receive a reply from ST?