2017-05-05 12:34 AM
Hello.
I try to use I-CUBE-LRWAN example End Node for stm32L152. Base station is iC880A with raspberry pi 3. Also i use
https://community.st.com/discussion/thethingsnetwork.org
. I ported this example to iM880B (stm32L151CB-A + sx1272). And my end node device easy joined to base station and to cloud. But after first sending frame with data, LoRaMacState == LORAMAC_TX_RUNNING. And when time is gone for next send frame,LoRaMacState not cleared. So next frame is not sending while not reboot device. I found that after first send frame, in function OnRxWindow2TimerEvent():
if( RegionRxConfig( LoRaMacRegion, &rxConfig, ( int8_t* )&McpsIndication.RxDatarate ) == true )
{
RxWindowSetup( rxConfig.RxContinuous, LoRaMacParams.MaxRxWindow );
RxSlot = rxConfig.Window;
}
Condition not met, because
SX1272.Settings.State == RF_RX_RUNNING, but must be
SX1272.Settings.State == RF_IDLE.
All parameters in example is default. What is wrong? How can I fix that problem? Thanks.
#stm32l151 #i-cube-lrwanSolved! Go to Solution.
2017-07-05 06:04 AM
I managed to find the reason for my problem.
The root cause was that the DIO1 signal from SX1276 was not connected to the SMT32 MCU.
I asked same question here also (with more details):
2017-06-16 01:53 AM
Same problem here.
Does someone knows how to fix it?
2017-06-24 12:37 PM
Me too - same problem and similar setup (RPi GW + TTN back end). Except that I am building device on SX1276 and STM32F401 with FreeRTOS. First i thought my own implementation of timerServer based on CMSIS OS timers is buggy but now it seems something else. I also tried to remove frame counters and look for other settings from TTN console which might cause the device to stay in some intermittent state but nothing helped.
Have you guys found any solution meanwhile?
Edit:
I was using
I-CUBE-LRWAN version 1.1.0 but upgrading to
version 1.1.1 didn't help.
2017-06-28 07:54 AM
ruslan-maniak
: The data you are sending, is it confirmed data or unconfirmed?2017-07-05 05:50 AM
Hi All,
Could you please precise the following for each one reporting the issue:
Thanks.
-Amel
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2017-07-05 06:04 AM
I managed to find the reason for my problem.
The root cause was that the DIO1 signal from SX1276 was not connected to the SMT32 MCU.
I asked same question here also (with more details):
2017-07-05 12:51 PM
>The root cause was that the DIO1 signal from SX1276 was not connected to the SMT32 MCU.
Is this an oversight by ST? Got any images of the fix?
2017-07-05 03:11 PM
Don't get me wrong. The problem was with my own custom prototype.
2017-07-05 03:27 PM
After finding the issue i also once again read the 'UM2073
I-CUBE-LRWAN middleware description' and found that chapter '
3.4.4 Interrupt lines' writes:
The DIO1 is used to signal that the radio has failed to complete a requested task (RxTimeout).
That explains why having DIO1 is important.