SPIRIT1. Entering and Exiting LDCR mode on the receiver RF module.
Hello,
What is the best way to utilize the sleep state/low power feature of the SPIRIT1 device? I am using two SPIRIT1 modules (one as a transmitter and one as a receiver). The receiver will be powered by a small battery and I would like the receiver to be in its sleep state when a signal is not sent by the transmitter.
The most applicable scenario to the project is in section 1.1.1 RX Timeout Using Sync Detection of AN4193 (https://www.st.com/content/ccc/resource/technical/document/application_note/47/50/91/3a/f5/fd/4d/c1/DM00068699.pdf/files/DM00068699.pdf/jcr:content/translations/en.DM00068699.pdf).
I have attempted programming the receiver as suggested in section 2 Programming Tips of AN4193. I configured the LDC cycle time by writing to the LDC_PRESCALER field (register 0x55) and LDC_COUNTER field (register 0x56) within the TIMER registers, configured the RX timeout value by writing to the RX_TIMEOUT_COUNTER (register 0x54) and RX_TIMEOUT_PRESCALER (register 0x53) fields within the TIMER registers.
I also configured the LDCR cycle by writing to the LDC_RELOAD_COUNTER and LDC_RELOAD_PRESCALER registers but the receiver does not wake up from its sleep cycle after the first data was transmitted from the transmitter.
I was also reading the SPIRIT1 Datasheet (https://www.st.com/resource/en/datasheet/spirit1.pdf) and there is a brief procedure on page 37 regarding operating the receiver in sleep mode but I do not understand how the device wakes up from sleep mode on the RX_DATA_READY interrupt.
Are there also any prerequisites on the transmitter side so that the receiver can operate in low power mode effectively? (I also modified the interrupt so that the RX data ready condition, Sync word detected condition, and Wake-up timeout in LDCR mode condition would generate interrupts by writing to the IRQ_MASK registers (0x92 and 0x93) )
-------------------------
Regarding the code that I am using, I based it off the P2P example project provided by ST. It was found under <User>/STM32Cube/Repository/STM32Cube_FW_L4_V1.15.1/Projects/B-L475E-IOT01A/Applications/SubGhz. The current project is ran on a custom PCB carrying an STM32F303K8Tx connected to the Spirit1. However, prior to this, I was using the B-L475E-IOT01A as it already has an integrated RF module.
-------------------------
Any help would be greatly appreciated. Thank you in advance!
