AnsweredAssumed Answered


Question asked by pavlov.pavel on Aug 25, 2015
Latest reply on Aug 28, 2015 by pavlov.pavel
Hello, again,
I perform a simple loop at one device configured WITHOUT LDCR mode and WITHOUT Timeout Mode, permanently /but not PERSISTENT/ stay on RX. At regular intervals /5sec/ SPIRIT going to transmit a packet of 50 bytes /Basic Protocol/. The other device receive that packet and whole system working, but at iregular intervals /20-30 min to couple of hours/ system stops working. At Device who transmit, I make a Loop like that:
- Fill TX FIFO, then SABORT, then LOCKTX, then TX, and Set FlagTX on MCU. Then if FlagTX is 1, I poll IRQ[0] Reg at 0xfd at SPIRIT, and wait for TX sent Interrupt. If they appear, I'm going from Tx to RX /SABORT, then Lock RX, then RX/, of course I clear FlagTX on MCU, and stay waiting for next 5sec interval. When system stop working, I see that My FlagTX is "1", so I think, there is missed IRQ TXsent. Is that possible? And more generally, at the datasheet there is only a short description of IRQ's, but there is no description, when IRQ is Set, who is cleared... That we call "Detailed Description". Maybe it is time to appear something like REFERENCE MANUAL of SPIRIT1, is'n't it?

P. Pavlov, MSc, Sr Designer of Electron consortium JSC, Sofia, Bulgaria