Skip to content

Commit 7863744

Browse files
author
bboulet
committed
v1.3.0
1 parent 8ea2eda commit 7863744

File tree

158 files changed

+78402
-58921
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

158 files changed

+78402
-58921
lines changed

CHANGELOG.md

Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
# LR1110 modem application example changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6+
7+
8+
### [v1.3.0] 2021-09-06 ###
9+
10+
### Added
11+
12+
* Modem-E V1.1.7 support
13+
* Support all LoRa Basics Modem-E region
14+
* Define ADR custom list for regions using duty cycle (EU868 and RU864)
15+
* Stream data only if Modem-E has enough time to send it
16+
* Add new atomic examples
17+
* Send all sensors values only if scan results are not good enough or when send keep alive frame otherwise send only the accelerometer move history
18+
* Replace TLV Wi-Fi (0x08) by a new one (0x0E) with timestamp
19+
* Add algorithm prioritizing the GNSS and Wi-Fi scan and send only one scan result
20+
* Add scan priority
21+
* Check validity of NAV message before send it
22+
* Add read/write tracker parameters over LoRaWAN
23+
* Add Host and Modem reset counter
24+
* Add auto diagnosis support
25+
* Add CHANGELOG.md
26+
27+
### Changed
28+
29+
* Update LR1110 Modem-E drivers
30+
* Improve stream usage
31+
* Add more documentation
32+
* Improve BLE connectivity stability
33+
* Change the GNSS result mask to only pseudo range
34+
* Improve LNA supply management during GNSS scan
35+
* Power consumption improvement in airplane mode
36+
* Refactor sensor TLV
37+
* Refactor GNSS and Wi-Fi threads
38+
* Replace temperature from accelerometer to MCU
39+
* Internal log improvement, add tracker settings, Wi-Fi channels, type and timings and GNSS timings
40+
* Battery low detection method improved
41+
* Reduce the number of executed scan once the tracker static to one.
42+
* Send only one NAV message even both antenna are selected
43+
44+
### Fixed
45+
46+
* minor bug fixes
47+
48+
### [v1.2.0] 2020-11-12 ###
49+
50+
### Added
51+
52+
* Add Get date BLE command
53+
* Add Get/Flush Accumulated charge BLE command
54+
* Add Internal Log memory space remaining BLE command
55+
* Add empty GNSS scan in internal log
56+
57+
### Changed
58+
59+
* Merge LoRaWAN commissioning files for tracker and lorawan app
60+
* Update LR1110 Modem-E driver
61+
62+
### Fixed
63+
64+
* Fix the SNR reading which was wrong
65+
* Fix RNG module
66+
67+
### [v1.1.1] 2020-10-23 ###
68+
69+
### Added
70+
71+
* Add STM32WB SMPS (switched-mode power supply) configuration in application and bootloader
72+
73+
### [v1.1.1] 2020-10-02 ###
74+
75+
### Fixed
76+
77+
* Remove infinite loop in HardFault Handler / Error Handler / Hal mcu panic and replaced by hal_mcu_reset
78+
79+
### [v1.1.0] 2020-09-30 ###
80+
81+
### Added
82+
83+
* Test with LoRa Basics Modem 1.0.7 firmware version
84+
* Add Get modem status BLE command
85+
* Add Get Chip EUI BLE command
86+
* Disable hall effect sensor when BLE is active preventing crash
87+
* Add assistance position update by downlink
88+
89+
### Changed
90+
91+
* Pin code is regenerated each time that Dev or Join EUI is changed
92+
* Code refactoring
93+
* Code format
94+
* Watchdog management improvement when BLE is connected
95+
96+
### Fixed
97+
98+
* Fix a flash read overflow in secure memory region during init
99+
* Wi-Fi results were sent even if Wi-Fi feature was disable if the last scan was successful
100+
* Fix negative GNSS assistance position
101+
102+
### [v1.0.0] 2020-08-27 ###
103+
104+
### Added
105+
106+
* Add internal log capability
107+
* Added enable/disable internal log over BLE
108+
* Added read internal log over BLE
109+
110+
### Changed
111+
112+
* General code cleaning
113+
* Update General documentation
114+
115+
### Fixed
116+
117+
* Watchdog bug fix when scan_internal was smaller than 15s
118+
119+
### [v0.1.3] 2020-08-18 ###
120+
121+
### Added
122+
123+
* Operation on LR1110 modem 1.0.4 firmware version
124+
* Added temperature reading from accelerometer
125+
* Added LR1110 modem update over BLE
126+
* Added accelerometer IRQ operation in static mode to retart quicker when tracker is static
127+
* Added set ADR profile configurable over BLE
128+
* Added get chip EUI over BLE
129+
* Added get board voltage over BLE
130+
* Added MCU Vref internal reading
131+
* Added TX power offset to +2dB on EU868 band
132+
* Tracker switches in airplane mode is VRef is below the defined voltage threshold
133+
* Added make file
134+
* Added README.md
135+
136+
### Changed
137+
138+
* GNSS assistance position managed more properly
139+
* General code cleaning
140+
* General documentation
141+
142+
### Fixed
143+
144+
* GNSS set constellation fix in BLE thread
145+
146+
### Known limitations:
147+
148+
* Behavior not perfect on US band without 64 channels gateway. If 8 channels gateway used, Frquency plan shall be received with the join accept
149+
* Not working on TTN: TTN v2 US non functional (requires stack 1.0.2, modem uses 1.0.3). running on TTNv3, but TTNv3 not officialy released.
150+
151+
### [v0.1.2] 2020-08-18 2020-08-01 ###
152+
153+
### Added
154+
155+
* Add airplane mode
156+
* Add mobile and low range ADR in tracker app instead of network controlled ADR
157+
* Set/Get Set Do/Don’t perform GNSS When Wi-Fi result is enough BLE command supported in the firmware and compliant with smartphone app V1.7
158+
159+
### Changed
160+
161+
* Power consumption optimization
162+
* General code improvement
163+
* Semtech licenses updated
164+
* Update get modem version command
165+
* Update set/get wi-fi channels ble command
166+
* LR1110 modem driver update and upper layers according to it
167+
168+
### Fixed
169+
170+
* fix watchdog when : Join process interval increase / scan interval larger than 6min
171+
172+
### Known limitations:
173+
174+
* unstable behavior on V2B hardware
175+
* not working on TTN: TTN v2 US non functional (requires stack 1.0.2, modem uses 1.0.3). running on TTNv3, but TTNv3 not released. Not corrected by R&D. Not confirmed: different
176+
177+
### [v0.1.1] 2020-07-18 ###
178+
179+
### Added
180+
181+
* Set/Get Region BLE command supported in the firmware and compliant with smartphone app V1.6
182+
* Set/Get Use Semtech Join Sever usage (default = use Semtech Join Server) BLE command supported in the firmware but not implemented in the smartphone app V1.6
183+
* Get Pin BLE command supported in the firmware but not implemented in the smartphone app V1.6
184+
185+
### Changed
186+
187+
* Low app duty cycle formatted in minutes instead of second for smartphone app V1.6
188+
189+
### Fixed
190+
191+
* Fix app duty cycle which was using the fixed value instead of the one set though the smartphone app
192+
193+
### [v0.1.1] 2020-06-17 ###
194+
195+
* Initiale release

Drivers/BSP/Components/Leds/leds.c

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*!
2-
* \file leds.c
2+
* @file leds.c
33
*
4-
* \brief leds driver implementation.
4+
* @brief leds driver implementation.
55
*
66
* Revised BSD License
77
* Copyright Semtech Corporation 2020. All rights reserved.
@@ -67,67 +67,69 @@
6767
* --- PUBLIC FUNCTIONS DEFINITION ---------------------------------------------
6868
*/
6969

70-
void leds_init( void ){
70+
void leds_init( void )
71+
{
7172
hal_gpio_init_out( LED_TX, 1 );
7273
hal_gpio_init_out( LED_RX, 1 );
7374
}
7475

75-
void leds_deinit( void ){
76+
void leds_deinit( void )
77+
{
7678
hal_gpio_deinit( LED_TX );
7779
hal_gpio_deinit( LED_RX );
7880
}
7981

80-
void leds_on( uint8_t leds ){
81-
82+
void leds_on( uint8_t leds )
83+
{
8284
if( leds & LED_TX_MASK )
8385
{
84-
// LED1
86+
/* LED1 */
8587
hal_gpio_set_value( LED_TX, GPIO_PIN_RESET );
8688
}
8789
if( leds & LED_RX_MASK )
8890
{
89-
// LED2
91+
/* LED2 */
9092
hal_gpio_set_value( LED_RX, GPIO_PIN_RESET );
9193
}
9294
}
9395

94-
void leds_off( uint8_t leds ){
95-
96+
void leds_off( uint8_t leds )
97+
{
9698
if( leds & LED_TX_MASK )
9799
{
98-
// LED1
100+
/* LED1 */
99101
hal_gpio_set_value( LED_TX, GPIO_PIN_SET );
100102
}
101103
if( leds & LED_RX_MASK )
102104
{
103-
// LED2
105+
/* LED2 */
104106
hal_gpio_set_value( LED_RX, GPIO_PIN_SET );
105107
}
106108
}
107109

108-
void leds_toggle( uint8_t leds ){
109-
110+
void leds_toggle( uint8_t leds )
111+
{
110112
if( leds & LED_TX_MASK )
111113
{
112-
// LED1
114+
/* LED1 */
113115
hal_gpio_toggle( LED_TX );
114116
}
115117
if( leds & LED_RX_MASK )
116118
{
117-
// LED2
119+
/* LED2 */
118120
hal_gpio_toggle( LED_RX );
119121
}
120122
}
121123

122124
void leds_blink( uint8_t leds, uint32_t delay, uint8_t nb_blink, bool reset_leds )
123-
{
124-
uint8_t i=0;
125-
126-
if(reset_leds == true)
125+
{
126+
uint8_t i = 0;
127+
128+
if( reset_leds == true )
127129
{
128130
leds_off( LED_ALL_MASK );
129131
}
130-
132+
131133
while( i < nb_blink )
132134
{
133135
i++;

Drivers/BSP/Components/Leds/leds.h

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -54,20 +54,27 @@ extern "C" {
5454
* --- PUBLIC CONSTANTS --------------------------------------------------------
5555
*/
5656

57+
typedef enum
58+
{
59+
LR1110_TRACKER_LED_TX,
60+
LR1110_TRACKER_LED_RX,
61+
LR1110_TRACKER_LED_COUNT
62+
} lr1110_tracker_led_t;
63+
5764
/*!
58-
* \brief LED TX MASK
65+
* @brief LED TX MASK
5966
*/
60-
#define LED_TX_MASK 0x01
67+
#define LED_TX_MASK ( 1 << LR1110_TRACKER_LED_TX )
6168

6269
/*!
63-
* \brief LED RX MASK
70+
* @brief LED RX MASK
6471
*/
65-
#define LED_RX_MASK 0x02
72+
#define LED_RX_MASK ( 1 << LR1110_TRACKER_LED_RX )
6673

6774
/*!
68-
* \brief LED ALL MASK
75+
* @brief LED ALL MASK
6976
*/
70-
#define LED_ALL_MASK 0x03
77+
#define LED_ALL_MASK ( LED_TX_MASK | LED_RX_MASK )
7178

7279
/*
7380
* -----------------------------------------------------------------------------
@@ -80,47 +87,47 @@ extern "C" {
8087
*/
8188

8289
/*!
83-
* \brief Init Leds
90+
* @brief Init Leds
8491
*/
8592
void leds_init( void );
8693

8794
/*!
88-
* \brief Deinit Leds
95+
* @brief Deinit Leds
8996
*/
9097
void leds_deinit( void );
9198
/*!
92-
* \brief Select and turn on Leds
99+
* @brief Select and turn on Leds
93100
*
94-
* \param [in] leds Leds MASK to turn on leds
101+
* @param [in] leds Leds MASK to turn on leds
95102
*/
96103
void leds_on( uint8_t leds );
97104

98105
/*!
99-
* \brief Select and turn off Leds
106+
* @brief Select and turn off Leds
100107
*
101-
* \param [in] leds Leds MASK to turn off leds
108+
* @param [in] leds Leds MASK to turn off leds
102109
*/
103110
void leds_off( uint8_t leds );
104111

105112
/*!
106-
* \brief Select and toggle Leds
113+
* @brief Select and toggle Leds
107114
*
108-
* \param [in] leds Leds MASK to turn off leds
115+
* @param [in] leds Leds MASK to turn off leds
109116
*/
110117
void leds_toggle( uint8_t leds );
111118

112119
/*!
113-
* \brief Select and toggle Leds
120+
* @brief Select and toggle Leds
114121
*
115-
* \param [in] leds Leds MASK to turn off leds
116-
* \param [in] delay Blink delay
117-
* \param [in] nb_blink Number of blink
118-
* \param [in] reset_leds Reset leds at the beginning
122+
* @param [in] leds Leds MASK to turn off leds
123+
* @param [in] delay Blink delay
124+
* @param [in] nb_blink Number of blink
125+
* @param [in] reset_leds Reset leds at the beginning
119126
*/
120127
void leds_blink( uint8_t leds, uint32_t delay, uint8_t nb_blink, bool reset_leds );
121128

122129
#ifdef __cplusplus
123130
}
124131
#endif
125132

126-
#endif //__LEDS_H__
133+
#endif //__LEDS_H__

0 commit comments

Comments
 (0)