Serial LTE Modem app in NCS main - glitch on TX before INDICATE

Hi, 

NCS main, nRF9160 DK

git log -n 1 --oneline
4f916da03 (HEAD -> main, origin/main, origin/HEAD) west.yml: rebase OSS trees

SLM prj.conf changes:
CONFIG_SLM_START_SLEEP=y
CONFIG_SLM_WAKEUP_PIN=6
CONFIG_SLM_INDICATE_PIN=2
CONFIG_NRF_MODEM_LIB_TRACE_ENABLED=y
There is unexpected glitch on TX just beforfe INDICATE is active:
Regards,
Michal
  • Hello Michal, 

    Michal Mühlpachr said:
    INDICATE was triggerd by this test scenario:

    I’m not sure if I fully understand this. I assume that the indicate pin was triggered here which causes the glitch, right? 

    52.70 <INDICATE transition> -> High 
    52.78 <INDICATE transition> -> Low 

    How was the pin triggered? It doesn’t seem to me that the SLM application did it itself? 

    Regards, 

    Markus 

  • Hi Markus,

    I’m not sure if I fully understand this. I assume that the indicate pin was triggered here which causes the glitch, right? 

    Fullscreen
    1
    2
    52.70 <INDICATE transition> -> High
    52.78 <INDICATE transition> -> Low
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    How was the pin triggered? It doesn’t seem to me that the SLM application did it itself? 

    Regards, 

    Markus 

    Yes, INDICATE transition marks where INDICATE pin was activated by SLM.

    Yes, SLM do it itself because of CONFIG_SLM_INDICATE_PIN=2 setting in prj.conf.

    Reason for SLM to raise INDICATE is "+CSCON: 0" URC during #XSLEEP=2.

    INDICATE pin is way for SLM how to make host know: hey, there are some bytes in AT UART TX buffer who can not be transmited because UART is in sleep. So host can then wakeup SLM by WAKEUP pin and let him to transmit data in UART TX buffer after "Ready" URC.

    Regards,
    Michal

  • Hello Michal, 

    Michal Mühlpachr said:

    Yes, INDICATE transition marks where INDICATE pin was activated by SLM.

    Yes, SLM do it itself because of CONFIG_SLM_INDICATE_PIN=2 setting in prj.conf.

    Reason for SLM to raise INDICATE is "+CSCON: 0" URC during #XSLEEP=2.

    INDICATE pin is way for SLM how to make host know: hey, there are some bytes in AT UART TX buffer who can not be transmited because UART is in sleep. So host can then wakeup SLM by WAKEUP pin and let him to transmit data in UART TX buffer after "Ready" URC.

    Ok, thanks a lot! In which way / situations does the glitch affect your use case / application? 

    Regards, 

    Markus 

  • Hello Markus,

    this glitch does not affect our use case (host UART is off before INDICATE because of low power operation), but it is bad practice to allow unintentional trasitions on any signal IO.

    It can cause UART framing error for use cases where host UART is on continuously (e.g. for automated testing).

    Regards,
    Michal

  • Hello again Michal, 

    I will forward this to our developers. 

    Thanks & regards, 

    Markus 

Related