Skip to content

Commit 04142c5

Browse files
author
smtc-bot
committed
Release v1.2.0
1 parent b705077 commit 04142c5

18 files changed

+894
-402
lines changed

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,30 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [v1.2.0] - 2025-03-15
9+
10+
### Added
11+
12+
- Encapsulate the software timer based on the system tick handler.
13+
- Add "make help" command.
14+
- Calculate the pathloss exponent value according to RTToF result. Print it in the JSON log and show it on the LCD display.
15+
16+
### Changed
17+
18+
- Use the software timer instead of the MCU timer which was not accurate expecially for small timing.
19+
- Use the software timer instead of the "app_ranging_timer()" which was used in ranging process.
20+
- Calculate "RANGING_ALL_SYMBOL" dynamically. So, now, the user can set the preamble length as they want. No longer limited 12 symbols. Simultaneously modify the README file.
21+
- Just handle the needed interrupts, in avoid of breaking the code logic.
22+
- Change the logic when the subordinate arose a "LR11XX_SYSTEM_IRQ_RTTOF_REQ_DISCARDED" interrupt.
23+
24+
### Fixed
25+
26+
- Since there is no "LR11XX_SYSTEM_IRQ_RTTOF_TIMEOUT" interrupt at subordinate side, add the "LR11XX_SYSTEM_IRQ_RTTOF_REQ_VALID" interrupt and a software timer to handle timeout logic.
27+
- Recalculate the ranging time once. Two additional time considerations, one is PA ramp time and the other is TCXO startup time.
28+
- Fix the issue the display would change the texts until the next ranging came after pushing the "Blue" button to go into relative mode.
29+
- Fix an issue the subsequent ranging will be affected if one channel fails in the hopping array.
30+
- Need to add two more symbols in the calculation of ranging symbols while using SF5 or SF6.
31+
832
## [v1.1.2] - 2024-12-26
933

1034
### Changed

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ The example specific configuration file can be found in [lr11xx/apps/ranging_dem
2727

2828
- Bandwidth shall be chosen among `LR11XX_RADIO_LORA_BW_125`, `LR11XX_RADIO_LORA_BW_250` and `LR11XX_RADIO_LORA_BW_500` for sub-GHz band for the LR1110 and for both the sub-GHz and 2.4GHz ISM bands for the LR1120.
2929

30-
- The preamble length, `LORA_PREAMBLE_LENGTH`, should be set as 12, because it is related to the timing of ranging process.
3130

3231
- Please set the IQ value - `LORA_IQ`, as the standard mode - `LR11XX_RADIO_LORA_IQ_STANDARD`. Because all the calibration values are based on the standard mode. It might reduce the ranging accuracy if used the inverted mode.
3332

@@ -119,3 +118,12 @@ This example can be compiled with the following toolchains:
119118
1. In order to print JSON format for ranging result, the application code needs to be defined the macro `PERF_TEST_ENABLED` (defined by default) to use the `HAL_PERF_TEST_TRACE_PRINTF()` as the print function. At the same time, functions such as `HAL_DBG_TRACE_INFO()`, `HAL_DBG_TRACE_WARNING()`, etc., are useless.
120119

121120
2. You can use a display to show some information when you test. You need to uncomment the macro - `RANGING_DISPLAY_FOR_TEST` in the file - `lr11xx/apps/ranging_demo/main_ranging_demo.h` if you want to. And by using display mode, you can also use the user (blue) button to go into relative range mode. You can get the relative distance based on the location where you push the user button. If you want to come back to normal mode, push the reset (black) button.
121+
122+
3. There is a calculation of pathloss exponent value, which parameter represents the line of sight of the testing environment. This value will be printed as "Gamma" parameter in the JSON file and displayed by using different color texts on the TFT LCD according to the table below. Note that the values with distances less than or equal to 1 meter are not calculated.
123+
124+
|Pathloss Exponent | Channel State | Text Color |
125+
| --- | --- | --- |
126+
| γ <= 2.5| Unobstructed | Green |
127+
| 2.5 < γ <= 4 | Obstructed | Orange |
128+
| γ > 4 | Heavy Obstruction | Red |
129+

common/inc/common_version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ extern "C" {
5050
* --- PUBLIC MACROS -----------------------------------------------------------
5151
*/
5252

53-
#define COMMON_SDK_VERSION "v1.1.0"
53+
#define COMMON_SDK_VERSION "v1.2.0"
5454

5555
/*
5656
* -----------------------------------------------------------------------------

common/inc/display_driver.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,12 @@ extern "C" {
6060
#define DISPLAY_BLACK 0x0000
6161
#define DISPLAY_BLUE 0x001F
6262
#define DISPLAY_RED 0xF800
63+
#define DISPLAY_MAGENTA 0xF81F
6364
#define DISPLAY_GREEN 0x07E0
6465
#define DISPLAY_YELLOW 0xFFE0
6566
#define DISPLAY_BROWN 0XBC40
6667
#define DISPLAY_GRAY 0X8430
68+
#define DISPLAY_ORANGE 0XFD20
6769

6870
#define DISPLAY_BACKGROUND DISPLAY_BLACK
6971

lr11xx/apps/ranging_demo/MDK-ARM/ranging_demo.uvprojx

Lines changed: 108 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1753,14 +1753,19 @@
17531753
<FilePath>..\ranging_hopping_frequency\app_ranging_result_output.c</FilePath>
17541754
</File>
17551755
<File>
1756-
<FileName>app_ranging_timer.c</FileName>
1756+
<FileName>app_ranging_lcd_display.c</FileName>
17571757
<FileType>1</FileType>
1758-
<FilePath>..\ranging_hopping_frequency\app_ranging_timer.c</FilePath>
1758+
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
17591759
</File>
17601760
<File>
1761-
<FileName>app_ranging_lcd_display.c</FileName>
1761+
<FileName>app_pathloss.c</FileName>
17621762
<FileType>1</FileType>
1763-
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
1763+
<FilePath>..\ranging_hopping_frequency\app_pathloss.c</FilePath>
1764+
</File>
1765+
<File>
1766+
<FileName>app_software_timer.c</FileName>
1767+
<FileType>1</FileType>
1768+
<FilePath>..\ranging_hopping_frequency\app_software_timer.c</FilePath>
17641769
</File>
17651770
</Files>
17661771
</Group>
@@ -3585,14 +3590,19 @@
35853590
<FilePath>..\ranging_hopping_frequency\app_ranging_result_output.c</FilePath>
35863591
</File>
35873592
<File>
3588-
<FileName>app_ranging_timer.c</FileName>
3593+
<FileName>app_ranging_lcd_display.c</FileName>
35893594
<FileType>1</FileType>
3590-
<FilePath>..\ranging_hopping_frequency\app_ranging_timer.c</FilePath>
3595+
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
35913596
</File>
35923597
<File>
3593-
<FileName>app_ranging_lcd_display.c</FileName>
3598+
<FileName>app_pathloss.c</FileName>
35943599
<FileType>1</FileType>
3595-
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
3600+
<FilePath>..\ranging_hopping_frequency\app_pathloss.c</FilePath>
3601+
</File>
3602+
<File>
3603+
<FileName>app_software_timer.c</FileName>
3604+
<FileType>1</FileType>
3605+
<FilePath>..\ranging_hopping_frequency\app_software_timer.c</FilePath>
35963606
</File>
35973607
</Files>
35983608
</Group>
@@ -5366,14 +5376,19 @@
53665376
<FilePath>..\ranging_hopping_frequency\app_ranging_result_output.c</FilePath>
53675377
</File>
53685378
<File>
5369-
<FileName>app_ranging_timer.c</FileName>
5379+
<FileName>app_ranging_lcd_display.c</FileName>
5380+
<FileType>1</FileType>
5381+
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
5382+
</File>
5383+
<File>
5384+
<FileName>app_pathloss.c</FileName>
53705385
<FileType>1</FileType>
5371-
<FilePath>..\ranging_hopping_frequency\app_ranging_timer.c</FilePath>
5386+
<FilePath>..\ranging_hopping_frequency\app_pathloss.c</FilePath>
53725387
</File>
53735388
<File>
5374-
<FileName>app_ranging_lcd_display.c</FileName>
5389+
<FileName>app_software_timer.c</FileName>
53755390
<FileType>1</FileType>
5376-
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
5391+
<FilePath>..\ranging_hopping_frequency\app_software_timer.c</FilePath>
53775392
</File>
53785393
</Files>
53795394
</Group>
@@ -7198,14 +7213,19 @@
71987213
<FilePath>..\ranging_hopping_frequency\app_ranging_result_output.c</FilePath>
71997214
</File>
72007215
<File>
7201-
<FileName>app_ranging_timer.c</FileName>
7216+
<FileName>app_ranging_lcd_display.c</FileName>
72027217
<FileType>1</FileType>
7203-
<FilePath>..\ranging_hopping_frequency\app_ranging_timer.c</FilePath>
7218+
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
72047219
</File>
72057220
<File>
7206-
<FileName>app_ranging_lcd_display.c</FileName>
7221+
<FileName>app_pathloss.c</FileName>
72077222
<FileType>1</FileType>
7208-
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
7223+
<FilePath>..\ranging_hopping_frequency\app_pathloss.c</FilePath>
7224+
</File>
7225+
<File>
7226+
<FileName>app_software_timer.c</FileName>
7227+
<FileType>1</FileType>
7228+
<FilePath>..\ranging_hopping_frequency\app_software_timer.c</FilePath>
72097229
</File>
72107230
</Files>
72117231
</Group>
@@ -8877,14 +8897,19 @@
88778897
<FilePath>..\ranging_hopping_frequency\app_ranging_result_output.c</FilePath>
88788898
</File>
88798899
<File>
8880-
<FileName>app_ranging_timer.c</FileName>
8900+
<FileName>app_ranging_lcd_display.c</FileName>
88818901
<FileType>1</FileType>
8882-
<FilePath>..\ranging_hopping_frequency\app_ranging_timer.c</FilePath>
8902+
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
88838903
</File>
88848904
<File>
8885-
<FileName>app_ranging_lcd_display.c</FileName>
8905+
<FileName>app_pathloss.c</FileName>
88868906
<FileType>1</FileType>
8887-
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
8907+
<FilePath>..\ranging_hopping_frequency\app_pathloss.c</FilePath>
8908+
</File>
8909+
<File>
8910+
<FileName>app_software_timer.c</FileName>
8911+
<FileType>1</FileType>
8912+
<FilePath>..\ranging_hopping_frequency\app_software_timer.c</FilePath>
88888913
</File>
88898914
</Files>
88908915
</Group>
@@ -10709,14 +10734,19 @@
1070910734
<FilePath>..\ranging_hopping_frequency\app_ranging_result_output.c</FilePath>
1071010735
</File>
1071110736
<File>
10712-
<FileName>app_ranging_timer.c</FileName>
10737+
<FileName>app_ranging_lcd_display.c</FileName>
10738+
<FileType>1</FileType>
10739+
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
10740+
</File>
10741+
<File>
10742+
<FileName>app_pathloss.c</FileName>
1071310743
<FileType>1</FileType>
10714-
<FilePath>..\ranging_hopping_frequency\app_ranging_timer.c</FilePath>
10744+
<FilePath>..\ranging_hopping_frequency\app_pathloss.c</FilePath>
1071510745
</File>
1071610746
<File>
10717-
<FileName>app_ranging_lcd_display.c</FileName>
10747+
<FileName>app_software_timer.c</FileName>
1071810748
<FileType>1</FileType>
10719-
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
10749+
<FilePath>..\ranging_hopping_frequency\app_software_timer.c</FilePath>
1072010750
</File>
1072110751
</Files>
1072210752
</Group>
@@ -12541,14 +12571,19 @@
1254112571
<FilePath>..\ranging_hopping_frequency\app_ranging_result_output.c</FilePath>
1254212572
</File>
1254312573
<File>
12544-
<FileName>app_ranging_timer.c</FileName>
12574+
<FileName>app_ranging_lcd_display.c</FileName>
1254512575
<FileType>1</FileType>
12546-
<FilePath>..\ranging_hopping_frequency\app_ranging_timer.c</FilePath>
12576+
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
1254712577
</File>
1254812578
<File>
12549-
<FileName>app_ranging_lcd_display.c</FileName>
12579+
<FileName>app_pathloss.c</FileName>
1255012580
<FileType>1</FileType>
12551-
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
12581+
<FilePath>..\ranging_hopping_frequency\app_pathloss.c</FilePath>
12582+
</File>
12583+
<File>
12584+
<FileName>app_software_timer.c</FileName>
12585+
<FileType>1</FileType>
12586+
<FilePath>..\ranging_hopping_frequency\app_software_timer.c</FilePath>
1255212587
</File>
1255312588
</Files>
1255412589
</Group>
@@ -14253,14 +14288,19 @@
1425314288
<FilePath>..\ranging_hopping_frequency\app_ranging_result_output.c</FilePath>
1425414289
</File>
1425514290
<File>
14256-
<FileName>app_ranging_timer.c</FileName>
14291+
<FileName>app_ranging_lcd_display.c</FileName>
1425714292
<FileType>1</FileType>
14258-
<FilePath>..\ranging_hopping_frequency\app_ranging_timer.c</FilePath>
14293+
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
1425914294
</File>
1426014295
<File>
14261-
<FileName>app_ranging_lcd_display.c</FileName>
14296+
<FileName>app_pathloss.c</FileName>
1426214297
<FileType>1</FileType>
14263-
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
14298+
<FilePath>..\ranging_hopping_frequency\app_pathloss.c</FilePath>
14299+
</File>
14300+
<File>
14301+
<FileName>app_software_timer.c</FileName>
14302+
<FileType>1</FileType>
14303+
<FilePath>..\ranging_hopping_frequency\app_software_timer.c</FilePath>
1426414304
</File>
1426514305
</Files>
1426614306
</Group>
@@ -16085,14 +16125,19 @@
1608516125
<FilePath>..\ranging_hopping_frequency\app_ranging_result_output.c</FilePath>
1608616126
</File>
1608716127
<File>
16088-
<FileName>app_ranging_timer.c</FileName>
16128+
<FileName>app_ranging_lcd_display.c</FileName>
16129+
<FileType>1</FileType>
16130+
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
16131+
</File>
16132+
<File>
16133+
<FileName>app_pathloss.c</FileName>
1608916134
<FileType>1</FileType>
16090-
<FilePath>..\ranging_hopping_frequency\app_ranging_timer.c</FilePath>
16135+
<FilePath>..\ranging_hopping_frequency\app_pathloss.c</FilePath>
1609116136
</File>
1609216137
<File>
16093-
<FileName>app_ranging_lcd_display.c</FileName>
16138+
<FileName>app_software_timer.c</FileName>
1609416139
<FileType>1</FileType>
16095-
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
16140+
<FilePath>..\ranging_hopping_frequency\app_software_timer.c</FilePath>
1609616141
</File>
1609716142
</Files>
1609816143
</Group>
@@ -17695,14 +17740,19 @@
1769517740
<FilePath>..\ranging_hopping_frequency\app_ranging_result_output.c</FilePath>
1769617741
</File>
1769717742
<File>
17698-
<FileName>app_ranging_timer.c</FileName>
17743+
<FileName>app_ranging_lcd_display.c</FileName>
1769917744
<FileType>1</FileType>
17700-
<FilePath>..\ranging_hopping_frequency\app_ranging_timer.c</FilePath>
17745+
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
1770117746
</File>
1770217747
<File>
17703-
<FileName>app_ranging_lcd_display.c</FileName>
17748+
<FileName>app_pathloss.c</FileName>
1770417749
<FileType>1</FileType>
17705-
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
17750+
<FilePath>..\ranging_hopping_frequency\app_pathloss.c</FilePath>
17751+
</File>
17752+
<File>
17753+
<FileName>app_software_timer.c</FileName>
17754+
<FileType>1</FileType>
17755+
<FilePath>..\ranging_hopping_frequency\app_software_timer.c</FilePath>
1770617756
</File>
1770717757
</Files>
1770817758
</Group>
@@ -19527,14 +19577,19 @@
1952719577
<FilePath>..\ranging_hopping_frequency\app_ranging_result_output.c</FilePath>
1952819578
</File>
1952919579
<File>
19530-
<FileName>app_ranging_timer.c</FileName>
19580+
<FileName>app_ranging_lcd_display.c</FileName>
1953119581
<FileType>1</FileType>
19532-
<FilePath>..\ranging_hopping_frequency\app_ranging_timer.c</FilePath>
19582+
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
1953319583
</File>
1953419584
<File>
19535-
<FileName>app_ranging_lcd_display.c</FileName>
19585+
<FileName>app_pathloss.c</FileName>
1953619586
<FileType>1</FileType>
19537-
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
19587+
<FilePath>..\ranging_hopping_frequency\app_pathloss.c</FilePath>
19588+
</File>
19589+
<File>
19590+
<FileName>app_software_timer.c</FileName>
19591+
<FileType>1</FileType>
19592+
<FilePath>..\ranging_hopping_frequency\app_software_timer.c</FilePath>
1953819593
</File>
1953919594
</Files>
1954019595
</Group>
@@ -21359,14 +21414,19 @@
2135921414
<FilePath>..\ranging_hopping_frequency\app_ranging_result_output.c</FilePath>
2136021415
</File>
2136121416
<File>
21362-
<FileName>app_ranging_timer.c</FileName>
21417+
<FileName>app_ranging_lcd_display.c</FileName>
21418+
<FileType>1</FileType>
21419+
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
21420+
</File>
21421+
<File>
21422+
<FileName>app_pathloss.c</FileName>
2136321423
<FileType>1</FileType>
21364-
<FilePath>..\ranging_hopping_frequency\app_ranging_timer.c</FilePath>
21424+
<FilePath>..\ranging_hopping_frequency\app_pathloss.c</FilePath>
2136521425
</File>
2136621426
<File>
21367-
<FileName>app_ranging_lcd_display.c</FileName>
21427+
<FileName>app_software_timer.c</FileName>
2136821428
<FileType>1</FileType>
21369-
<FilePath>..\ranging_hopping_frequency\app_ranging_lcd_display.c</FilePath>
21429+
<FilePath>..\ranging_hopping_frequency\app_software_timer.c</FilePath>
2137021430
</File>
2137121431
</Files>
2137221432
</Group>

0 commit comments

Comments
 (0)