Compare commits

..

3 Commits
v1.3.1 ... main

10 changed files with 44 additions and 5 deletions

@ -1 +1 @@
Subproject commit 8188d40505f5f77cb6ff9cea404b661d445acbd2 Subproject commit a496d1eebd7394fb880ebfdd56fdcb5f2cce687b

View File

@ -485,6 +485,7 @@ sfx_u8 RF_API_wait_for_clear_channel(sfx_u8 cs_min, sfx_s8 cs_threshold, sfx_rx_
{ {
sfx_u8 status = SFX_ERR_NONE; sfx_u8 status = SFX_ERR_NONE;
sfx_rx_state_enum_t cs_state = DL_TIMEOUT; sfx_rx_state_enum_t cs_state = DL_TIMEOUT;
sfx_s8 lbt_threshold_cal;
/* Starts Rx Windows to sense if channel is occupied or clear* /* Starts Rx Windows to sense if channel is occupied or clear*
* If the channel is clear during the minimum carrier sense * If the channel is clear during the minimum carrier sense
* value (cs_min), under the limit of the cs_threshold, * value (cs_min), under the limit of the cs_threshold,
@ -502,6 +503,8 @@ sfx_u8 RF_API_wait_for_clear_channel(sfx_u8 cs_min, sfx_s8 cs_threshold, sfx_rx_
HAL_Delay(Radio.GetWakeupTime()); HAL_Delay(Radio.GetWakeupTime());
lbt_threshold_cal = E2P_Read_RssiCal();
cs_threshold += lbt_threshold_cal;
APP_LOG(TS_ON, VLEVEL_M, "CS start cs_min=%dms, cs_threshold=%dBm\n\r", cs_min, cs_threshold); APP_LOG(TS_ON, VLEVEL_M, "CS start cs_min=%dms, cs_threshold=%dBm\n\r", cs_min, cs_threshold);
while (RxCarrierSenseGetStatus() == 0) while (RxCarrierSenseGetStatus() == 0)

View File

@ -485,6 +485,7 @@ sfx_u8 RF_API_wait_for_clear_channel(sfx_u8 cs_min, sfx_s8 cs_threshold, sfx_rx_
{ {
sfx_u8 status = SFX_ERR_NONE; sfx_u8 status = SFX_ERR_NONE;
sfx_rx_state_enum_t cs_state = DL_TIMEOUT; sfx_rx_state_enum_t cs_state = DL_TIMEOUT;
sfx_s8 lbt_threshold_cal;
/* Starts Rx Windows to sense if channel is occupied or clear* /* Starts Rx Windows to sense if channel is occupied or clear*
* If the channel is clear during the minimum carrier sense * If the channel is clear during the minimum carrier sense
* value (cs_min), under the limit of the cs_threshold, * value (cs_min), under the limit of the cs_threshold,
@ -502,6 +503,8 @@ sfx_u8 RF_API_wait_for_clear_channel(sfx_u8 cs_min, sfx_s8 cs_threshold, sfx_rx_
HAL_Delay(Radio.GetWakeupTime()); HAL_Delay(Radio.GetWakeupTime());
lbt_threshold_cal = E2P_Read_RssiCal();
cs_threshold += lbt_threshold_cal;
APP_LOG(TS_ON, VLEVEL_M, "CS start cs_min=%dms, cs_threshold=%dBm\n\r", cs_min, cs_threshold); APP_LOG(TS_ON, VLEVEL_M, "CS start cs_min=%dms, cs_threshold=%dBm\n\r", cs_min, cs_threshold);
while (RxCarrierSenseGetStatus() == 0) while (RxCarrierSenseGetStatus() == 0)

View File

@ -485,6 +485,7 @@ sfx_u8 RF_API_wait_for_clear_channel(sfx_u8 cs_min, sfx_s8 cs_threshold, sfx_rx_
{ {
sfx_u8 status = SFX_ERR_NONE; sfx_u8 status = SFX_ERR_NONE;
sfx_rx_state_enum_t cs_state = DL_TIMEOUT; sfx_rx_state_enum_t cs_state = DL_TIMEOUT;
sfx_s8 lbt_threshold_cal;
/* Starts Rx Windows to sense if channel is occupied or clear* /* Starts Rx Windows to sense if channel is occupied or clear*
* If the channel is clear during the minimum carrier sense * If the channel is clear during the minimum carrier sense
* value (cs_min), under the limit of the cs_threshold, * value (cs_min), under the limit of the cs_threshold,
@ -502,6 +503,8 @@ sfx_u8 RF_API_wait_for_clear_channel(sfx_u8 cs_min, sfx_s8 cs_threshold, sfx_rx_
HAL_Delay(Radio.GetWakeupTime()); HAL_Delay(Radio.GetWakeupTime());
lbt_threshold_cal = E2P_Read_RssiCal();
cs_threshold += lbt_threshold_cal;
APP_LOG(TS_ON, VLEVEL_M, "CS start cs_min=%dms, cs_threshold=%dBm\n\r", cs_min, cs_threshold); APP_LOG(TS_ON, VLEVEL_M, "CS start cs_min=%dms, cs_threshold=%dBm\n\r", cs_min, cs_threshold);
while (RxCarrierSenseGetStatus() == 0) while (RxCarrierSenseGetStatus() == 0)

View File

@ -485,6 +485,7 @@ sfx_u8 RF_API_wait_for_clear_channel(sfx_u8 cs_min, sfx_s8 cs_threshold, sfx_rx_
{ {
sfx_u8 status = SFX_ERR_NONE; sfx_u8 status = SFX_ERR_NONE;
sfx_rx_state_enum_t cs_state = DL_TIMEOUT; sfx_rx_state_enum_t cs_state = DL_TIMEOUT;
sfx_s8 lbt_threshold_cal;
/* Starts Rx Windows to sense if channel is occupied or clear* /* Starts Rx Windows to sense if channel is occupied or clear*
* If the channel is clear during the minimum carrier sense * If the channel is clear during the minimum carrier sense
* value (cs_min), under the limit of the cs_threshold, * value (cs_min), under the limit of the cs_threshold,
@ -502,6 +503,8 @@ sfx_u8 RF_API_wait_for_clear_channel(sfx_u8 cs_min, sfx_s8 cs_threshold, sfx_rx_
HAL_Delay(Radio.GetWakeupTime()); HAL_Delay(Radio.GetWakeupTime());
lbt_threshold_cal = E2P_Read_RssiCal();
cs_threshold += lbt_threshold_cal;
APP_LOG(TS_ON, VLEVEL_M, "CS start cs_min=%dms, cs_threshold=%dBm\n\r", cs_min, cs_threshold); APP_LOG(TS_ON, VLEVEL_M, "CS start cs_min=%dms, cs_threshold=%dBm\n\r", cs_min, cs_threshold);
while (RxCarrierSenseGetStatus() == 0) while (RxCarrierSenseGetStatus() == 0)

View File

@ -485,6 +485,7 @@ sfx_u8 RF_API_wait_for_clear_channel(sfx_u8 cs_min, sfx_s8 cs_threshold, sfx_rx_
{ {
sfx_u8 status = SFX_ERR_NONE; sfx_u8 status = SFX_ERR_NONE;
sfx_rx_state_enum_t cs_state = DL_TIMEOUT; sfx_rx_state_enum_t cs_state = DL_TIMEOUT;
sfx_s8 lbt_threshold_cal;
/* Starts Rx Windows to sense if channel is occupied or clear* /* Starts Rx Windows to sense if channel is occupied or clear*
* If the channel is clear during the minimum carrier sense * If the channel is clear during the minimum carrier sense
* value (cs_min), under the limit of the cs_threshold, * value (cs_min), under the limit of the cs_threshold,
@ -502,6 +503,8 @@ sfx_u8 RF_API_wait_for_clear_channel(sfx_u8 cs_min, sfx_s8 cs_threshold, sfx_rx_
HAL_Delay(Radio.GetWakeupTime()); HAL_Delay(Radio.GetWakeupTime());
lbt_threshold_cal = E2P_Read_RssiCal();
cs_threshold += lbt_threshold_cal;
APP_LOG(TS_ON, VLEVEL_M, "CS start cs_min=%dms, cs_threshold=%dBm\n\r", cs_min, cs_threshold); APP_LOG(TS_ON, VLEVEL_M, "CS start cs_min=%dms, cs_threshold=%dBm\n\r", cs_min, cs_threshold);
while (RxCarrierSenseGetStatus() == 0) while (RxCarrierSenseGetStatus() == 0)

View File

@ -485,6 +485,7 @@ sfx_u8 RF_API_wait_for_clear_channel(sfx_u8 cs_min, sfx_s8 cs_threshold, sfx_rx_
{ {
sfx_u8 status = SFX_ERR_NONE; sfx_u8 status = SFX_ERR_NONE;
sfx_rx_state_enum_t cs_state = DL_TIMEOUT; sfx_rx_state_enum_t cs_state = DL_TIMEOUT;
sfx_s8 lbt_threshold_cal;
/* Starts Rx Windows to sense if channel is occupied or clear* /* Starts Rx Windows to sense if channel is occupied or clear*
* If the channel is clear during the minimum carrier sense * If the channel is clear during the minimum carrier sense
* value (cs_min), under the limit of the cs_threshold, * value (cs_min), under the limit of the cs_threshold,
@ -502,6 +503,8 @@ sfx_u8 RF_API_wait_for_clear_channel(sfx_u8 cs_min, sfx_s8 cs_threshold, sfx_rx_
HAL_Delay(Radio.GetWakeupTime()); HAL_Delay(Radio.GetWakeupTime());
lbt_threshold_cal = E2P_Read_RssiCal();
cs_threshold += lbt_threshold_cal;
APP_LOG(TS_ON, VLEVEL_M, "CS start cs_min=%dms, cs_threshold=%dBm\n\r", cs_min, cs_threshold); APP_LOG(TS_ON, VLEVEL_M, "CS start cs_min=%dms, cs_threshold=%dBm\n\r", cs_min, cs_threshold);
while (RxCarrierSenseGetStatus() == 0) while (RxCarrierSenseGetStatus() == 0)

View File

@ -485,6 +485,7 @@ sfx_u8 RF_API_wait_for_clear_channel(sfx_u8 cs_min, sfx_s8 cs_threshold, sfx_rx_
{ {
sfx_u8 status = SFX_ERR_NONE; sfx_u8 status = SFX_ERR_NONE;
sfx_rx_state_enum_t cs_state = DL_TIMEOUT; sfx_rx_state_enum_t cs_state = DL_TIMEOUT;
sfx_s8 lbt_threshold_cal;
/* Starts Rx Windows to sense if channel is occupied or clear* /* Starts Rx Windows to sense if channel is occupied or clear*
* If the channel is clear during the minimum carrier sense * If the channel is clear during the minimum carrier sense
* value (cs_min), under the limit of the cs_threshold, * value (cs_min), under the limit of the cs_threshold,
@ -502,6 +503,8 @@ sfx_u8 RF_API_wait_for_clear_channel(sfx_u8 cs_min, sfx_s8 cs_threshold, sfx_rx_
HAL_Delay(Radio.GetWakeupTime()); HAL_Delay(Radio.GetWakeupTime());
lbt_threshold_cal = E2P_Read_RssiCal();
cs_threshold += lbt_threshold_cal;
APP_LOG(TS_ON, VLEVEL_M, "CS start cs_min=%dms, cs_threshold=%dBm\n\r", cs_min, cs_threshold); APP_LOG(TS_ON, VLEVEL_M, "CS start cs_min=%dms, cs_threshold=%dBm\n\r", cs_min, cs_threshold);
while (RxCarrierSenseGetStatus() == 0) while (RxCarrierSenseGetStatus() == 0)

View File

@ -78,7 +78,7 @@ series</li>
<div class="collapse"> <div class="collapse">
<input type="checkbox" id="collapse-section5" checked aria-hidden="true"> <input type="checkbox" id="collapse-section5" checked aria-hidden="true">
<label for="collapse-section5" aria-hidden="true"><strong>V1.3.1 / <label for="collapse-section5" aria-hidden="true"><strong>V1.3.1 /
29-November-2024</strong></label> 20-December-2024</strong></label>
<div> <div>
<h2 id="main-changes">Main Changes</h2> <h2 id="main-changes">Main Changes</h2>
<h3 id="patch-release">Patch Release</h3> <h3 id="patch-release">Patch Release</h3>
@ -124,7 +124,8 @@ class="icon-st-update"></span></td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">NUCLEO-WL55JC</td> <td style="text-align: left;">NUCLEO-WL55JC</td>
<td style="text-align: left;">Demonstrations</td> <td style="text-align: left;">Demonstrations <span
class="icon-st-update"></span></td>
<td style="text-align: left;">Projects\NUCLEO-WL55JC\Demonstrations</td> <td style="text-align: left;">Projects\NUCLEO-WL55JC\Demonstrations</td>
</tr> </tr>
<tr> <tr>
@ -186,6 +187,14 @@ RTC</li>
<li>Set the ulExpectedIdleTime flag before entering in low power mode in <li>Set the ulExpectedIdleTime flag before entering in low power mode in
PreSleepProcessing</li> PreSleepProcessing</li>
</ul></li> </ul></li>
<li><strong>Applications/LoRaWAN/LoRaWAN_AT_Slave</strong>
<ul>
<li>Update CubeMonitor RF test panel</li>
</ul></li>
<li><strong>Applications/LoRaWAN/LoRaWAN_AT_Slave_DualCore</strong>
<ul>
<li>Update CubeMonitor RF test panel</li>
</ul></li>
<li><strong>Applications/LoRaWAN_FUOTA_DualCore</strong> <li><strong>Applications/LoRaWAN_FUOTA_DualCore</strong>
<ul> <ul>
<li>Fix compilation on Linux host due to lower case letters used in file <li>Fix compilation on Linux host due to lower case letters used in file
@ -201,6 +210,10 @@ names</li>
<li>Fix compilation on Linux host due to lower case letters used in file <li>Fix compilation on Linux host due to lower case letters used in file
names</li> names</li>
</ul></li> </ul></li>
<li><strong>Demonstrations/LocalNetwork/LocalNetwork_Concentrator/</strong>
<ul>
<li>Update CubeMonitor RF demo panel</li>
</ul></li>
<li><strong>Examples/PWR/PWR_STOP2_RTC</strong> <li><strong>Examples/PWR/PWR_STOP2_RTC</strong>
<ul> <ul>
<li>Fix PWR_STOP2_RTC test due to uninitialized RCC_OscInitStruct <li>Fix PWR_STOP2_RTC test due to uninitialized RCC_OscInitStruct
@ -223,11 +236,16 @@ struct</li>
<li><strong>Applications/LoRaWAN_FUOTA_DualCore_ExtFlash</strong> <li><strong>Applications/LoRaWAN_FUOTA_DualCore_ExtFlash</strong>
<ul> <ul>
<li>Fix compilation on Linux host due to lower case letters used in file <li>Fix compilation on Linux host due to lower case letters used in file
names<br /> names</li>
</li> </ul></li>
<li><strong>Applications/LoRaWAN/LoRaWAN_AT_Slave</strong>
<ul>
<li>Update CubeMonitor RF test panel</li>
</ul></li> </ul></li>
</ul></li> </ul></li>
</ul> </ul>
<p><br />
</p>
<h2 id="known-limitations">Known Limitations</h2> <h2 id="known-limitations">Known Limitations</h2>
<ul> <ul>
<li><strong>LL/HAL</strong> <li><strong>LL/HAL</strong>