summaryrefslogtreecommitdiff
path: root/nrfdemo
diff options
context:
space:
mode:
authorMichal Hanus <hanus.michal@divelit.cz>2025-05-21 20:58:52 +0200
committerMichal Hanus <hanus.michal@divelit.cz>2025-05-21 20:58:52 +0200
commita407db2d45286f37eff10710c9a8e43755cedfc6 (patch)
treeb2451cf76bad9d2ee8f80df9f9df32f176c1e5eb /nrfdemo
parent85f4aadd7382eec843a02f513f6933abba6e5d02 (diff)
bck
Diffstat (limited to 'nrfdemo')
-rw-r--r--nrfdemo/conexio_stratus_ns.overlay17
-rw-r--r--nrfdemo/conexio_stratus_pro_nrf9151_ns.overlay17
-rw-r--r--nrfdemo/conexio_stratus_pro_nrf9161_ns.overlay17
-rw-r--r--nrfdemo/dectvypocet20
-rw-r--r--nrfdemo/log1041
-rw-r--r--nrfdemo/nrf9161dk_nrf9161_ns.overlay20
-rw-r--r--nrfdemo/prj.conf7
-rw-r--r--nrfdemo/src/main.c105
-rw-r--r--nrfdemo/src/mqtt_connection.c30
-rw-r--r--nrfdemo/src/mqtt_connection.h2
10 files changed, 1260 insertions, 16 deletions
diff --git a/nrfdemo/conexio_stratus_ns.overlay b/nrfdemo/conexio_stratus_ns.overlay
new file mode 100644
index 0000000..5933559
--- /dev/null
+++ b/nrfdemo/conexio_stratus_ns.overlay
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2024 Conexio Technologies, Inc
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/*
+ * Stratus nRF9160 device overlay configuration for BME688 sensor connected to I2C port
+ *
+ */
+&i2c2 {
+ bme688@76 {
+ compatible = "bosch,bme680";
+ reg = <0x77>;
+ status = "okay";
+ };
+};
diff --git a/nrfdemo/conexio_stratus_pro_nrf9151_ns.overlay b/nrfdemo/conexio_stratus_pro_nrf9151_ns.overlay
new file mode 100644
index 0000000..5e6f921
--- /dev/null
+++ b/nrfdemo/conexio_stratus_pro_nrf9151_ns.overlay
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2024 Conexio Technologies, Inc
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/*
+ * Stratus Pro nRF9151 device overlay configuration for BME688 sensor connected to QWIIC port
+ *
+ */
+&i2c2 {
+ bme688@76 {
+ compatible = "bosch,bme680";
+ reg = <0x77>;
+ status = "okay";
+ };
+};
diff --git a/nrfdemo/conexio_stratus_pro_nrf9161_ns.overlay b/nrfdemo/conexio_stratus_pro_nrf9161_ns.overlay
new file mode 100644
index 0000000..aafb6c9
--- /dev/null
+++ b/nrfdemo/conexio_stratus_pro_nrf9161_ns.overlay
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2024 Conexio Technologies, Inc
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/*
+ * Stratus Pro nRF9161 device overlay configuration for BME688 sensor connected to QWIIC port
+ *
+ */
+&i2c2 {
+ bme688@76 {
+ compatible = "bosch,bme680";
+ reg = <0x77>;
+ status = "okay";
+ };
+};
diff --git a/nrfdemo/dectvypocet b/nrfdemo/dectvypocet
new file mode 100644
index 0000000..28b5132
--- /dev/null
+++ b/nrfdemo/dectvypocet
@@ -0,0 +1,20 @@
+T_u_symb = 41.667 us / u
+
+N_symb = 10 * u
+N_subslot = 2 * u
+
+// Npacket = PackLen * N_symb / N_subslot
+Npacket = PackLen * N_symb
+
+T = Npacket * T_u_symb
+
+// type 1
+T = PackLen * 10u * 41.667 us / u
+T = packLen * 416.67 us
+
+// type 0
+T = PackLen * N_symb / N_subslot * T_u_symb
+
+T = PackLen * 10u / 2u * 41.667 us / u
+
+T = PackLen * 333 us / u \ No newline at end of file
diff --git a/nrfdemo/log b/nrfdemo/log
new file mode 100644
index 0000000..17daa0c
--- /dev/null
+++ b/nrfdemo/log
@@ -0,0 +1,1041 @@
+01:25:01.300,323] <inf> GNSS_sample: sv: 23, cn0: 66
+[01:25:01.300,323] <inf> GNSS_sample: sv: 16, cn0: 181
+[01:25:01.300,354] <inf> GNSS_sample: sv: 8, cn0: 5
+[01:25:01.300,354] <inf> GNSS_sample: sv: 2, cn0: 262
+[01:25:01.300,384] <inf> GNSS_sample: sv: 32, cn0: 275
+[01:25:01.300,384] <inf> GNSS_sample: sv: 27, cn0: 251
+[01:25:01.300,384] <inf> GNSS_sample: sv: 10, cn0: 367
+[01:25:01.300,384] <inf> GNSS_sample: Number of current satellites: 12
+[01:25:02.297,088] <inf> GNSS_sample: Searching...
+[01:25:02.297,119] <inf> GNSS_sample: Number of current satellites: 0
+[01:25:03.297,332] <inf> GNSS_sample: Searching...
+[01:25:03.297,332] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:25:03.297,332] <inf> GNSS_sample: sv: 27, cn0: 250
+[01:25:03.297,332] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:25:03.297,363] <inf> GNSS_sample: Number of current satellites: 3
+[01:25:04.295,654] <inf> GNSS_sample: Searching...
+[01:25:04.295,684] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:25:04.295,684] <inf> GNSS_sample: sv: 10, cn0: 390
+[01:25:04.295,684] <inf> GNSS_sample: Number of current satellites: 2
+[01:25:05.295,928] <inf> GNSS_sample: Searching...
+[01:25:05.295,959] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:25:05.295,959] <inf> GNSS_sample: sv: 10, cn0: 390
+[01:25:05.295,959] <inf> GNSS_sample: Number of current satellites: 2
+[01:25:06.318,084] <inf> GNSS_sample: Searching...
+[01:25:06.318,115] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:25:06.318,145] <inf> GNSS_sample: sv: 10, cn0: 390
+[01:25:06.318,145] <inf> GNSS_sample: Number of current satellites: 2
+[01:25:07.285,247] <inf> GNSS_sample: Searching...
+[01:25:07.285,247] <inf> GNSS_sample: sv: 28, cn0: 150
+[01:25:07.285,247] <inf> GNSS_sample: sv: 20, cn0: 210
+[01:25:07.285,278] <inf> GNSS_sample: sv: 4, cn0: 200
+[01:25:07.285,278] <inf> GNSS_sample: sv: 18, cn0: 220
+[01:25:07.285,278] <inf> GNSS_sample: sv: 9, cn0: 220
+[01:25:07.285,308] <inf> GNSS_sample: sv: 23, cn0: 120
+[01:25:07.285,308] <inf> GNSS_sample: sv: 16, cn0: 120
+[01:25:07.285,308] <inf> GNSS_sample: sv: 8, cn0: 120
+[01:25:07.285,339] <inf> GNSS_sample: sv: 2, cn0: 120
+[01:25:07.285,339] <inf> GNSS_sample: sv: 32, cn0: 230
+[01:25:07.285,339] <inf> GNSS_sample: sv: 27, cn0: 220
+[01:25:07.285,339] <inf> GNSS_sample: sv: 10, cn0: 370
+[01:25:07.285,369] <inf> GNSS_sample: Number of current satellites: 12
+[01:25:08.325,683] <inf> GNSS_sample: Searching...
+[01:25:08.325,714] <inf> GNSS_sample: sv: 28, cn0: 237
+[01:25:08.325,714] <inf> GNSS_sample: sv: 20, cn0: 240
+[01:25:08.325,714] <inf> GNSS_sample: sv: 4, cn0: 238
+[01:25:08.325,714] <inf> GNSS_sample: sv: 18, cn0: 243
+[01:25:08.325,744] <inf> GNSS_sample: sv: 9, cn0: 237
+[01:25:08.325,744] <inf> GNSS_sample: sv: 23, cn0: 135
+[01:25:08.325,744] <inf> GNSS_sample: sv: 16, cn0: 120
+[01:25:08.325,744] <inf> GNSS_sample: sv: 8, cn0: 120
+[01:25:08.325,775] <inf> GNSS_sample: sv: 2, cn0: 120
+[01:25:08.325,775] <inf> GNSS_sample: sv: 32, cn0: 253
+[01:25:08.325,775] <inf> GNSS_sample: sv: 27, cn0: 235
+[01:25:08.325,805] <inf> GNSS_sample: sv: 10, cn0: 366
+[01:25:08.325,805] <inf> GNSS_sample: Number of current satellites: 12
+[01:25:09.323,333] <inf> GNSS_sample: Searching...
+[01:25:09.323,364] <inf> GNSS_sample: sv: 28, cn0: 249
+[01:25:09.323,364] <inf> GNSS_sample: sv: 20, cn0: 242
+[01:25:09.323,394] <inf> GNSS_sample: sv: 4, cn0: 246
+[01:25:09.323,394] <inf> GNSS_sample: sv: 18, cn0: 248
+[01:25:09.323,394] <inf> GNSS_sample: sv: 9, cn0: 241
+[01:25:09.323,394] <inf> GNSS_sample: sv: 23, cn0: 135
+[01:25:09.323,425] <inf> GNSS_sample: sv: 16, cn0: 46
+[01:25:09.323,425] <inf> GNSS_sample: sv: 8, cn0: 158
+[01:25:09.323,425] <inf> GNSS_sample: sv: 2, cn0: 290
+[01:25:09.323,455] <inf> GNSS_sample: sv: 32, cn0: 264
+[01:25:09.323,455] <inf> GNSS_sample: sv: 27, cn0: 245
+[01:25:09.323,455] <inf> GNSS_sample: sv: 10, cn0: 364
+[01:25:09.323,486] <inf> GNSS_sample: Number of current satellites: 12
+[01:25:09.323,516] <inf> GNSS_sample: Latitude: 49.543974
+[01:25:09.323,547] <inf> GNSS_sample: Longitude: 18.272400
+[01:25:09.323,547] <inf> GNSS_sample: Altitude: 520.2 m
+[01:25:09.323,577] <inf> GNSS_sample: Time (UTC): 12:12:07.213
+[01:25:09.325,164] <inf> GNSS_sample: GNSS enter sleep after fix
+[01:26:01.284,149] <inf> GNSS_sample: GNSS has woken up
+[01:26:01.303,253] <inf> GNSS_sample: Searching...
+[01:26:01.303,253] <inf> GNSS_sample: sv: 28, cn0: 245
+[01:26:01.303,253] <inf> GNSS_sample: sv: 20, cn0: 248
+[01:26:01.303,283] <inf> GNSS_sample: sv: 4, cn0: 247
+[01:26:01.303,283] <inf> GNSS_sample: sv: 18, cn0: 245
+[01:26:01.303,283] <inf> GNSS_sample: sv: 9, cn0: 248
+[01:26:01.303,283] <inf> GNSS_sample: sv: 23, cn0: 68
+[01:26:01.303,314] <inf> GNSS_sample: sv: 16, cn0: 0
+[01:26:01.303,314] <inf> GNSS_sample: sv: 8, cn0: 182
+[01:26:01.303,314] <inf> GNSS_sample: sv: 2, cn0: 290
+[01:26:01.303,344] <inf> GNSS_sample: sv: 32, cn0: 264
+[01:26:01.303,344] <inf> GNSS_sample: sv: 27, cn0: 245
+[01:26:01.303,344] <inf> GNSS_sample: sv: 10, cn0: 364
+[01:26:01.303,344] <inf> GNSS_sample: Number of current satellites: 12
+[01:26:02.312,316] <inf> GNSS_sample: Searching...
+[01:26:02.312,347] <inf> GNSS_sample: Number of current satellites: 0
+[01:26:03.032,257] <inf> GNSS_sample: Searching...
+[01:26:03.032,257] <inf> GNSS_sample: sv: 32, cn0: 290
+[01:26:03.032,257] <inf> GNSS_sample: sv: 27, cn0: 230
+[01:26:03.032,287] <inf> GNSS_sample: sv: 23, cn0: 120
+[01:26:03.032,287] <inf> GNSS_sample: sv: 16, cn0: 120
+[01:26:03.032,287] <inf> GNSS_sample: sv: 8, cn0: 120
+[01:26:03.032,287] <inf> GNSS_sample: sv: 2, cn0: 220
+[01:26:03.032,318] <inf> GNSS_sample: sv: 10, cn0: 390
+[01:26:03.032,318] <inf> GNSS_sample: Number of current satellites: 7
+[01:26:04.026,214] <inf> GNSS_sample: Searching...
+[01:26:04.026,245] <inf> GNSS_sample: sv: 32, cn0: 290
+[01:26:04.026,275] <inf> GNSS_sample: sv: 27, cn0: 232
+[01:26:04.026,275] <inf> GNSS_sample: sv: 23, cn0: 120
+[01:26:04.026,275] <inf> GNSS_sample: sv: 16, cn0: 79
+[01:26:04.026,275] <inf> GNSS_sample: sv: 8, cn0: 72
+[01:26:04.026,306] <inf> GNSS_sample: sv: 2, cn0: 233
+[01:26:04.026,306] <inf> GNSS_sample: sv: 10, cn0: 377
+[01:26:04.026,306] <inf> GNSS_sample: Number of current satellites: 7
+[01:26:05.036,285] <inf> GNSS_sample: Searching...
+[01:26:05.036,285] <inf> GNSS_sample: sv: 32, cn0: 286
+[01:26:05.036,285] <inf> GNSS_sample: sv: 27, cn0: 232
+[01:26:05.036,315] <inf> GNSS_sample: sv: 23, cn0: 102
+[01:26:05.036,315] <inf> GNSS_sample: sv: 16, cn0: 0
+[01:26:05.036,315] <inf> GNSS_sample: sv: 8, cn0: 94
+[01:26:05.036,346] <inf> GNSS_sample: sv: 2, cn0: 242
+[01:26:05.036,346] <inf> GNSS_sample: sv: 10, cn0: 371
+[01:26:05.036,346] <inf> GNSS_sample: Number of current satellites: 7
+[01:26:05.036,407] <inf> GNSS_sample: Latitude: 49.543990
+[01:26:05.036,407] <inf> GNSS_sample: Longitude: 18.272364
+[01:26:05.036,437] <inf> GNSS_sample: Altitude: 504.6 m
+[01:26:05.036,437] <inf> GNSS_sample: Time (UTC): 12:13:02.964
+[01:26:05.038,116] <inf> GNSS_sample: GNSS enter sleep after fix
+[01:27:01.286,285] <inf> GNSS_sample: GNSS has woken up
+[01:27:01.304,565] <inf> GNSS_sample: Searching...
+[01:27:01.304,595] <inf> GNSS_sample: sv: 32, cn0: 288
+[01:27:01.304,595] <inf> GNSS_sample: sv: 27, cn0: 240
+[01:27:01.304,595] <inf> GNSS_sample: sv: 23, cn0: 71
+[01:27:01.304,595] <inf> GNSS_sample: sv: 16, cn0: 88
+[01:27:01.304,626] <inf> GNSS_sample: sv: 8, cn0: 31
+[01:27:01.304,626] <inf> GNSS_sample: sv: 2, cn0: 242
+[01:27:01.304,626] <inf> GNSS_sample: sv: 10, cn0: 371
+[01:27:01.304,626] <inf> GNSS_sample: Number of current satellites: 7
+[01:27:02.299,316] <inf> GNSS_sample: Searching...
+[01:27:02.299,346] <inf> GNSS_sample: Number of current satellites: 0
+[01:27:03.299,011] <inf> GNSS_sample: Searching...
+[01:27:03.299,011] <inf> GNSS_sample: sv: 32, cn0: 270
+[01:27:03.299,011] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:27:03.299,041] <inf> GNSS_sample: Number of current satellites: 2
+[01:27:04.299,621] <inf> GNSS_sample: Searching...
+[01:27:04.299,652] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:27:04.299,652] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:27:04.299,652] <inf> GNSS_sample: Number of current satellites: 2
+[01:27:05.300,628] <inf> GNSS_sample: Searching...
+[01:27:05.300,659] <inf> GNSS_sample: sv: 32, cn0: 300
+[01:27:05.300,659] <inf> GNSS_sample: sv: 10, cn0: 350
+[01:27:05.300,659] <inf> GNSS_sample: Number of current satellites: 2
+[01:27:06.301,086] <inf> GNSS_sample: Searching...
+[01:27:06.301,116] <inf> GNSS_sample: sv: 32, cn0: 300
+[01:27:06.301,116] <inf> GNSS_sample: sv: 10, cn0: 350
+[01:27:06.301,147] <inf> GNSS_sample: Number of current satellites: 2
+[01:27:07.301,574] <inf> GNSS_sample: Searching...
+[01:27:07.301,574] <inf> GNSS_sample: sv: 32, cn0: 300
+[01:27:07.301,574] <inf> GNSS_sample: sv: 10, cn0: 350
+[01:27:07.301,574] <inf> GNSS_sample: Number of current satellites: 2
+[01:27:08.301,940] <inf> GNSS_sample: Searching...
+[01:27:08.301,971] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:27:08.302,001] <inf> GNSS_sample: sv: 10, cn0: 370
+[01:27:08.302,001] <inf> GNSS_sample: Number of current satellites: 2
+[01:27:09.302,032] <inf> GNSS_sample: Searching...
+[01:27:09.302,032] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:27:09.302,032] <inf> GNSS_sample: sv: 10, cn0: 370
+[01:27:09.302,062] <inf> GNSS_sample: Number of current satellites: 2
+[01:27:10.302,337] <inf> GNSS_sample: Searching...
+[01:27:10.302,337] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:27:10.302,368] <inf> GNSS_sample: sv: 10, cn0: 370
+[01:27:10.302,368] <inf> GNSS_sample: Number of current satellites: 2
+[01:27:11.302,734] <inf> GNSS_sample: Searching...
+[01:27:11.302,764] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:27:11.302,764] <inf> GNSS_sample: sv: 10, cn0: 350
+[01:27:11.302,764] <inf> GNSS_sample: Number of current satellites: 2
+[01:27:12.303,985] <inf> GNSS_sample: Searching...
+[01:27:12.304,016] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:27:12.304,016] <inf> GNSS_sample: sv: 10, cn0: 350
+[01:27:12.304,016] <inf> GNSS_sample: Number of current satellites: 2
+[01:27:13.304,199] <inf> GNSS_sample: Searching...
+[01:27:13.304,199] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:27:13.304,229] <inf> GNSS_sample: sv: 10, cn0: 350
+[01:27:13.304,229] <inf> GNSS_sample: Number of current satellites: 2
+[01:27:14.304,565] <inf> GNSS_sample: Searching...
+[01:27:14.304,595] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:27:14.304,595] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:14.304,595] <inf> GNSS_sample: sv: 10, cn0: 360
+[01:27:14.304,626] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:15.305,084] <inf> GNSS_sample: Searching...
+[01:27:15.305,084] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:27:15.305,084] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:15.305,084] <inf> GNSS_sample: sv: 10, cn0: 360
+[01:27:15.305,114] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:16.305,664] <inf> GNSS_sample: Searching...
+[01:27:16.305,694] <inf> GNSS_sample: sv: 32, cn0: 270
+[01:27:16.305,694] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:16.305,694] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:27:16.305,694] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:17.305,999] <inf> GNSS_sample: Searching...
+[01:27:17.305,999] <inf> GNSS_sample: sv: 32, cn0: 270
+[01:27:17.306,030] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:17.306,030] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:27:17.306,030] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:18.305,694] <inf> GNSS_sample: Searching...
+[01:27:18.305,725] <inf> GNSS_sample: sv: 32, cn0: 270
+[01:27:18.305,725] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:18.305,725] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:27:18.305,725] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:19.306,060] <inf> GNSS_sample: Searching...
+[01:27:19.306,060] <inf> GNSS_sample: sv: 32, cn0: 230
+[01:27:19.306,060] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:19.306,091] <inf> GNSS_sample: sv: 10, cn0: 360
+[01:27:19.306,091] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:20.307,525] <inf> GNSS_sample: Searching...
+[01:27:20.307,556] <inf> GNSS_sample: sv: 32, cn0: 230
+[01:27:20.307,556] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:20.307,556] <inf> GNSS_sample: sv: 10, cn0: 360
+[01:27:20.307,556] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:21.307,922] <inf> GNSS_sample: Searching...
+[01:27:21.307,922] <inf> GNSS_sample: sv: 32, cn0: 230
+[01:27:21.307,952] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:21.307,952] <inf> GNSS_sample: sv: 10, cn0: 360
+[01:27:21.307,952] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:22.308,502] <inf> GNSS_sample: Searching...
+[01:27:22.308,532] <inf> GNSS_sample: sv: 32, cn0: 230
+[01:27:22.308,563] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:22.308,563] <inf> GNSS_sample: sv: 10, cn0: 360
+[01:27:22.308,563] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:23.309,631] <inf> GNSS_sample: Searching...
+[01:27:23.309,631] <inf> GNSS_sample: sv: 32, cn0: 230
+[01:27:23.309,631] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:23.309,661] <inf> GNSS_sample: sv: 10, cn0: 360
+[01:27:23.309,661] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:24.310,272] <inf> GNSS_sample: Searching...
+[01:27:24.310,302] <inf> GNSS_sample: sv: 32, cn0: 230
+[01:27:24.310,302] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:24.310,302] <inf> GNSS_sample: sv: 10, cn0: 340
+[01:27:24.310,302] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:25.310,394] <inf> GNSS_sample: Searching...
+[01:27:25.310,394] <inf> GNSS_sample: sv: 32, cn0: 230
+[01:27:25.310,394] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:25.310,394] <inf> GNSS_sample: sv: 10, cn0: 340
+[01:27:25.310,424] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:26.310,791] <inf> GNSS_sample: Searching...
+[01:27:26.310,821] <inf> GNSS_sample: sv: 32, cn0: 230
+[01:27:26.310,821] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:26.310,821] <inf> GNSS_sample: sv: 10, cn0: 340
+[01:27:26.310,821] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:27.311,279] <inf> GNSS_sample: Searching...
+[01:27:27.311,279] <inf> GNSS_sample: sv: 32, cn0: 230
+[01:27:27.311,279] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:27.311,309] <inf> GNSS_sample: sv: 10, cn0: 350
+[01:27:27.311,309] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:28.311,279] <inf> GNSS_sample: Searching...
+[01:27:28.311,309] <inf> GNSS_sample: sv: 32, cn0: 230
+[01:27:28.311,340] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:28.311,340] <inf> GNSS_sample: sv: 10, cn0: 350
+[01:27:28.311,340] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:29.312,103] <inf> GNSS_sample: Searching...
+[01:27:29.312,103] <inf> GNSS_sample: sv: 32, cn0: 230
+[01:27:29.312,103] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:29.312,133] <inf> GNSS_sample: sv: 10, cn0: 350
+[01:27:29.312,133] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:30.312,103] <inf> GNSS_sample: Searching...
+[01:27:30.312,133] <inf> GNSS_sample: sv: 32, cn0: 290
+[01:27:30.312,133] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:30.312,164] <inf> GNSS_sample: sv: 10, cn0: 360
+[01:27:30.312,164] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:31.312,713] <inf> GNSS_sample: Searching...
+[01:27:31.312,744] <inf> GNSS_sample: sv: 32, cn0: 290
+[01:27:31.312,744] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:31.312,744] <inf> GNSS_sample: sv: 10, cn0: 360
+[01:27:31.312,744] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:32.313,140] <inf> GNSS_sample: Searching...
+[01:27:32.313,171] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:27:32.313,201] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:32.313,201] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:27:32.313,201] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:33.313,232] <inf> GNSS_sample: Searching...
+[01:27:33.313,232] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:27:33.313,232] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:33.313,262] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:27:33.313,262] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:34.313,751] <inf> GNSS_sample: Searching...
+[01:27:34.313,781] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:27:34.313,781] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:34.313,781] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:27:34.313,812] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:35.313,568] <inf> GNSS_sample: Searching...
+[01:27:35.313,568] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:27:35.313,568] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:35.313,568] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:27:35.313,598] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:36.315,155] <inf> GNSS_sample: Searching...
+[01:27:36.315,185] <inf> GNSS_sample: sv: 32, cn0: 270
+[01:27:36.315,185] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:36.315,216] <inf> GNSS_sample: sv: 10, cn0: 370
+[01:27:36.315,216] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:37.315,185] <inf> GNSS_sample: Searching...
+[01:27:37.315,185] <inf> GNSS_sample: sv: 32, cn0: 270
+[01:27:37.315,216] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:37.315,216] <inf> GNSS_sample: sv: 10, cn0: 370
+[01:27:37.315,216] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:38.315,277] <inf> GNSS_sample: Searching...
+[01:27:38.315,307] <inf> GNSS_sample: sv: 32, cn0: 270
+[01:27:38.315,307] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:38.315,338] <inf> GNSS_sample: sv: 10, cn0: 370
+[01:27:38.315,338] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:39.316,314] <inf> GNSS_sample: Searching...
+[01:27:39.316,314] <inf> GNSS_sample: sv: 32, cn0: 290
+[01:27:39.316,345] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:39.316,345] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:27:39.316,345] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:40.316,772] <inf> GNSS_sample: Searching...
+[01:27:40.316,802] <inf> GNSS_sample: sv: 32, cn0: 290
+[01:27:40.316,802] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:40.316,833] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:27:40.316,833] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:41.316,894] <inf> GNSS_sample: Searching...
+[01:27:41.316,894] <inf> GNSS_sample: sv: 32, cn0: 290
+[01:27:41.316,894] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:41.316,894] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:27:41.316,925] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:42.317,443] <inf> GNSS_sample: Searching...
+[01:27:42.317,474] <inf> GNSS_sample: sv: 32, cn0: 290
+[01:27:42.317,474] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:42.317,504] <inf> GNSS_sample: sv: 10, cn0: 370
+[01:27:42.317,504] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:43.317,504] <inf> GNSS_sample: Searching...
+[01:27:43.317,504] <inf> GNSS_sample: sv: 32, cn0: 290
+[01:27:43.317,504] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:43.317,535] <inf> GNSS_sample: sv: 10, cn0: 370
+[01:27:43.317,535] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:44.317,932] <inf> GNSS_sample: Searching...
+[01:27:44.317,962] <inf> GNSS_sample: sv: 32, cn0: 290
+[01:27:44.317,962] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:44.317,962] <inf> GNSS_sample: sv: 10, cn0: 370
+[01:27:44.317,993] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:45.318,267] <inf> GNSS_sample: Searching...
+[01:27:45.318,267] <inf> GNSS_sample: sv: 32, cn0: 290
+[01:27:45.318,267] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:45.318,267] <inf> GNSS_sample: sv: 10, cn0: 370
+[01:27:45.318,298] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:46.318,756] <inf> GNSS_sample: Searching...
+[01:27:46.318,786] <inf> GNSS_sample: sv: 32, cn0: 290
+[01:27:46.318,786] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:46.318,786] <inf> GNSS_sample: sv: 10, cn0: 360
+[01:27:46.318,786] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:47.318,817] <inf> GNSS_sample: Searching...
+[01:27:47.318,817] <inf> GNSS_sample: sv: 32, cn0: 290
+[01:27:47.318,817] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:47.318,847] <inf> GNSS_sample: sv: 10, cn0: 360
+[01:27:47.318,847] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:48.318,939] <inf> GNSS_sample: Searching...
+[01:27:48.318,969] <inf> GNSS_sample: sv: 32, cn0: 290
+[01:27:48.318,969] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:48.318,969] <inf> GNSS_sample: sv: 10, cn0: 360
+[01:27:48.318,969] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:49.319,366] <inf> GNSS_sample: Searching...
+[01:27:49.319,366] <inf> GNSS_sample: sv: 32, cn0: 270
+[01:27:49.319,366] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:49.319,396] <inf> GNSS_sample: sv: 10, cn0: 370
+[01:27:49.319,396] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:50.319,763] <inf> GNSS_sample: Searching...
+[01:27:50.319,763] <inf> GNSS_sample: sv: 32, cn0: 270
+[01:27:50.319,793] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:50.319,793] <inf> GNSS_sample: sv: 10, cn0: 370
+[01:27:50.319,793] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:51.326,995] <inf> GNSS_sample: Searching...
+[01:27:51.327,026] <inf> GNSS_sample: sv: 32, cn0: 270
+[01:27:51.327,026] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:51.327,026] <inf> GNSS_sample: sv: 10, cn0: 370
+[01:27:51.327,026] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:52.345,123] <inf> GNSS_sample: Searching...
+[01:27:52.345,153] <inf> GNSS_sample: sv: 32, cn0: 270
+[01:27:52.345,153] <inf> GNSS_sample: sv: 8, cn0: 0
+[01:27:52.345,184] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:27:52.345,184] <inf> GNSS_sample: Number of current satellites: 3
+[01:27:53.043,548] <inf> GNSS_sample: Searching...
+[01:27:53.043,579] <inf> GNSS_sample: sv: 17, cn0: 232
+[01:27:53.043,579] <inf> GNSS_sample: sv: 19, cn0: 179
+[01:27:53.043,579] <inf> GNSS_sample: sv: 28, cn0: 248
+[01:27:53.043,579] <inf> GNSS_sample: sv: 31, cn0: 187
+[01:27:53.043,609] <inf> GNSS_sample: sv: 18, cn0: 183
+[01:27:53.043,609] <inf> GNSS_sample: sv: 32, cn0: 268
+[01:27:53.043,640] <inf> GNSS_sample: sv: 27, cn0: 181
+[01:27:53.043,640] <inf> GNSS_sample: sv: 23, cn0: 186
+[01:27:53.043,640] <inf> GNSS_sample: sv: 16, cn0: 182
+[01:27:53.043,640] <inf> GNSS_sample: sv: 8, cn0: 183
+[01:27:53.043,670] <inf> GNSS_sample: sv: 2, cn0: 183
+[01:27:53.043,670] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:27:53.043,670] <inf> GNSS_sample: Number of current satellites: 12
+[01:27:54.047,241] <inf> GNSS_sample: Searching...
+[01:27:54.047,271] <inf> GNSS_sample: sv: 17, cn0: 242
+[01:27:54.047,271] <inf> GNSS_sample: sv: 19, cn0: 230
+[01:27:54.047,271] <inf> GNSS_sample: sv: 28, cn0: 242
+[01:27:54.047,271] <inf> GNSS_sample: sv: 31, cn0: 233
+[01:27:54.047,302] <inf> GNSS_sample: sv: 18, cn0: 227
+[01:27:54.047,302] <inf> GNSS_sample: sv: 32, cn0: 252
+[01:27:54.047,302] <inf> GNSS_sample: sv: 27, cn0: 230
+[01:27:54.047,302] <inf> GNSS_sample: sv: 23, cn0: 229
+[01:27:54.047,332] <inf> GNSS_sample: sv: 16, cn0: 227
+[01:27:54.047,332] <inf> GNSS_sample: sv: 8, cn0: 230
+[01:27:54.047,363] <inf> GNSS_sample: sv: 2, cn0: 228
+[01:27:54.047,363] <inf> GNSS_sample: sv: 10, cn0: 380
+[01:27:54.047,363] <inf> GNSS_sample: Number of current satellites: 12
+[01:27:55.047,302] <inf> GNSS_sample: Searching...
+[01:27:55.047,302] <inf> GNSS_sample: sv: 17, cn0: 243
+[01:27:55.047,332] <inf> GNSS_sample: sv: 19, cn0: 249
+[01:27:55.047,332] <inf> GNSS_sample: sv: 28, cn0: 244
+[01:27:55.047,332] <inf> GNSS_sample: sv: 31, cn0: 241
+[01:27:55.047,332] <inf> GNSS_sample: sv: 18, cn0: 246
+[01:27:55.047,363] <inf> GNSS_sample: sv: 32, cn0: 252
+[01:27:55.047,363] <inf> GNSS_sample: sv: 27, cn0: 246
+[01:27:55.047,363] <inf> GNSS_sample: sv: 23, cn0: 245
+[01:27:55.047,363] <inf> GNSS_sample: sv: 16, cn0: 238
+[01:27:55.047,393] <inf> GNSS_sample: sv: 8, cn0: 247
+[01:27:55.047,393] <inf> GNSS_sample: sv: 2, cn0: 247
+[01:27:55.047,424] <inf> GNSS_sample: sv: 10, cn0: 363
+[01:27:55.047,424] <inf> GNSS_sample: Number of current satellites: 12
+[01:27:56.047,180] <inf> GNSS_sample: Searching...
+[01:27:56.047,210] <inf> GNSS_sample: sv: 17, cn0: 245
+[01:27:56.047,241] <inf> GNSS_sample: sv: 19, cn0: 245
+[01:27:56.047,241] <inf> GNSS_sample: sv: 28, cn0: 244
+[01:27:56.047,241] <inf> GNSS_sample: sv: 31, cn0: 241
+[01:27:56.047,241] <inf> GNSS_sample: sv: 18, cn0: 243
+[01:27:56.047,271] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:27:56.047,271] <inf> GNSS_sample: sv: 27, cn0: 243
+[01:27:56.047,271] <inf> GNSS_sample: sv: 23, cn0: 247
+[01:27:56.047,271] <inf> GNSS_sample: sv: 16, cn0: 244
+[01:27:56.047,302] <inf> GNSS_sample: sv: 8, cn0: 241
+[01:27:56.047,302] <inf> GNSS_sample: sv: 2, cn0: 247
+[01:27:56.047,332] <inf> GNSS_sample: sv: 10, cn0: 355
+[01:27:56.047,332] <inf> GNSS_sample: Number of current satellites: 12
+[01:27:57.047,454] <inf> GNSS_sample: Searching...
+[01:27:57.047,485] <inf> GNSS_sample: sv: 17, cn0: 248
+[01:27:57.047,485] <inf> GNSS_sample: sv: 19, cn0: 243
+[01:27:57.047,515] <inf> GNSS_sample: sv: 28, cn0: 244
+[01:27:57.047,515] <inf> GNSS_sample: sv: 31, cn0: 247
+[01:27:57.047,515] <inf> GNSS_sample: sv: 18, cn0: 246
+[01:27:57.047,515] <inf> GNSS_sample: sv: 32, cn0: 263
+[01:27:57.047,546] <inf> GNSS_sample: sv: 27, cn0: 245
+[01:27:57.047,546] <inf> GNSS_sample: sv: 23, cn0: 243
+[01:27:57.047,546] <inf> GNSS_sample: sv: 16, cn0: 245
+[01:27:57.047,576] <inf> GNSS_sample: sv: 8, cn0: 240
+[01:27:57.047,576] <inf> GNSS_sample: sv: 2, cn0: 244
+[01:27:57.047,576] <inf> GNSS_sample: sv: 10, cn0: 350
+[01:27:57.047,576] <inf> GNSS_sample: Number of current satellites: 12
+[01:27:58.047,546] <inf> GNSS_sample: Searching...
+[01:27:58.047,546] <inf> GNSS_sample: sv: 17, cn0: 249
+[01:27:58.047,576] <inf> GNSS_sample: sv: 19, cn0: 246
+[01:27:58.047,576] <inf> GNSS_sample: sv: 28, cn0: 245
+[01:27:58.047,576] <inf> GNSS_sample: sv: 31, cn0: 246
+[01:27:58.047,576] <inf> GNSS_sample: sv: 18, cn0: 250
+[01:27:58.047,607] <inf> GNSS_sample: sv: 32, cn0: 260
+[01:27:58.047,607] <inf> GNSS_sample: sv: 27, cn0: 242
+[01:27:58.047,607] <inf> GNSS_sample: sv: 23, cn0: 243
+[01:27:58.047,607] <inf> GNSS_sample: sv: 16, cn0: 243
+[01:27:58.047,637] <inf> GNSS_sample: sv: 8, cn0: 246
+[01:27:58.047,637] <inf> GNSS_sample: sv: 2, cn0: 244
+[01:27:58.047,668] <inf> GNSS_sample: sv: 10, cn0: 347
+[01:27:58.047,668] <inf> GNSS_sample: Number of current satellites: 12
+[01:27:59.051,452] <inf> GNSS_sample: Searching...
+[01:27:59.051,483] <inf> GNSS_sample: sv: 17, cn0: 248
+[01:27:59.051,483] <inf> GNSS_sample: sv: 19, cn0: 243
+[01:27:59.051,483] <inf> GNSS_sample: sv: 28, cn0: 249
+[01:27:59.051,483] <inf> GNSS_sample: sv: 31, cn0: 243
+[01:27:59.051,513] <inf> GNSS_sample: sv: 18, cn0: 245
+[01:27:59.051,513] <inf> GNSS_sample: sv: 32, cn0: 264
+[01:27:59.051,513] <inf> GNSS_sample: sv: 27, cn0: 242
+[01:27:59.051,513] <inf> GNSS_sample: sv: 23, cn0: 242
+[01:27:59.051,544] <inf> GNSS_sample: sv: 16, cn0: 242
+[01:27:59.051,544] <inf> GNSS_sample: sv: 8, cn0: 246
+[01:27:59.051,544] <inf> GNSS_sample: sv: 2, cn0: 246
+[01:27:59.051,574] <inf> GNSS_sample: sv: 10, cn0: 341
+[01:27:59.051,574] <inf> GNSS_sample: Number of current satellites: 12
+[01:28:00.015,350] <inf> GNSS_sample: Searching...
+[01:28:00.015,380] <inf> GNSS_sample: sv: 17, cn0: 246
+[01:28:00.015,380] <inf> GNSS_sample: sv: 19, cn0: 162
+[01:28:00.015,411] <inf> GNSS_sample: sv: 28, cn0: 248
+[01:28:00.015,411] <inf> GNSS_sample: sv: 31, cn0: 243
+[01:28:00.015,411] <inf> GNSS_sample: sv: 18, cn0: 245
+[01:28:00.015,411] <inf> GNSS_sample: sv: 32, cn0: 263
+[01:28:00.015,441] <inf> GNSS_sample: sv: 27, cn0: 248
+[01:28:00.015,441] <inf> GNSS_sample: sv: 23, cn0: 245
+[01:28:00.015,441] <inf> GNSS_sample: sv: 16, cn0: 243
+[01:28:00.015,472] <inf> GNSS_sample: sv: 8, cn0: 246
+[01:28:00.015,472] <inf> GNSS_sample: sv: 2, cn0: 247
+[01:28:00.015,472] <inf> GNSS_sample: sv: 10, cn0: 342
+[01:28:00.015,502] <inf> GNSS_sample: Number of current satellites: 12
+[01:28:01.022,430] <inf> GNSS_sample: Searching...
+[01:28:01.022,460] <inf> GNSS_sample: sv: 19, cn0: 291
+[01:28:01.022,491] <inf> GNSS_sample: sv: 32, cn0: 259
+[01:28:01.022,491] <inf> GNSS_sample: sv: 10, cn0: 345
+[01:28:01.022,491] <inf> GNSS_sample: Number of current satellites: 3
+[01:28:02.019,104] <inf> GNSS_sample: Searching...
+[01:28:02.019,104] <inf> GNSS_sample: sv: 2, cn0: 279
+[01:28:02.019,134] <inf> GNSS_sample: sv: 19, cn0: 253
+[01:28:02.019,134] <inf> GNSS_sample: sv: 32, cn0: 257
+[01:28:02.019,134] <inf> GNSS_sample: sv: 10, cn0: 346
+[01:28:02.019,165] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:03.026,855] <inf> GNSS_sample: Searching...
+[01:28:03.026,885] <inf> GNSS_sample: sv: 2, cn0: 269
+[01:28:03.026,885] <inf> GNSS_sample: sv: 19, cn0: 244
+[01:28:03.026,885] <inf> GNSS_sample: sv: 32, cn0: 255
+[01:28:03.026,916] <inf> GNSS_sample: sv: 10, cn0: 348
+[01:28:03.026,916] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:04.027,679] <inf> GNSS_sample: Searching...
+[01:28:04.027,709] <inf> GNSS_sample: sv: 2, cn0: 262
+[01:28:04.027,709] <inf> GNSS_sample: sv: 16, cn0: 291
+[01:28:04.027,709] <inf> GNSS_sample: sv: 32, cn0: 250
+[01:28:04.027,709] <inf> GNSS_sample: sv: 10, cn0: 347
+[01:28:04.027,740] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:05.030,731] <inf> GNSS_sample: Searching...
+[01:28:05.030,761] <inf> GNSS_sample: sv: 2, cn0: 259
+[01:28:05.030,792] <inf> GNSS_sample: sv: 16, cn0: 259
+[01:28:05.030,792] <inf> GNSS_sample: sv: 32, cn0: 252
+[01:28:05.030,792] <inf> GNSS_sample: sv: 10, cn0: 348
+[01:28:05.030,792] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:06.023,925] <inf> GNSS_sample: Searching...
+[01:28:06.023,925] <inf> GNSS_sample: sv: 2, cn0: 259
+[01:28:06.023,925] <inf> GNSS_sample: sv: 16, cn0: 243
+[01:28:06.023,956] <inf> GNSS_sample: sv: 32, cn0: 248
+[01:28:06.023,956] <inf> GNSS_sample: sv: 10, cn0: 347
+[01:28:06.023,986] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:07.017,395] <inf> GNSS_sample: Searching...
+[01:28:07.017,425] <inf> GNSS_sample: sv: 2, cn0: 258
+[01:28:07.017,425] <inf> GNSS_sample: sv: 16, cn0: 245
+[01:28:07.017,425] <inf> GNSS_sample: sv: 32, cn0: 247
+[01:28:07.017,425] <inf> GNSS_sample: sv: 10, cn0: 350
+[01:28:07.017,456] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:08.022,705] <inf> GNSS_sample: Searching...
+[01:28:08.022,705] <inf> GNSS_sample: sv: 2, cn0: 260
+[01:28:08.022,705] <inf> GNSS_sample: sv: 16, cn0: 79
+[01:28:08.022,735] <inf> GNSS_sample: sv: 32, cn0: 247
+[01:28:08.022,735] <inf> GNSS_sample: sv: 10, cn0: 350
+[01:28:08.022,735] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:09.020,141] <inf> GNSS_sample: Searching...
+[01:28:09.020,172] <inf> GNSS_sample: sv: 2, cn0: 263
+[01:28:09.020,172] <inf> GNSS_sample: sv: 16, cn0: 50
+[01:28:09.020,202] <inf> GNSS_sample: sv: 32, cn0: 247
+[01:28:09.020,202] <inf> GNSS_sample: sv: 10, cn0: 348
+[01:28:09.020,202] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:10.017,456] <inf> GNSS_sample: Searching...
+[01:28:10.017,486] <inf> GNSS_sample: sv: 2, cn0: 266
+[01:28:10.017,486] <inf> GNSS_sample: sv: 16, cn0: 23
+[01:28:10.017,486] <inf> GNSS_sample: sv: 32, cn0: 245
+[01:28:10.017,517] <inf> GNSS_sample: sv: 10, cn0: 348
+[01:28:10.017,517] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:11.017,791] <inf> GNSS_sample: Searching...
+[01:28:11.017,822] <inf> GNSS_sample: sv: 2, cn0: 272
+[01:28:11.017,822] <inf> GNSS_sample: sv: 16, cn0: 90
+[01:28:11.017,822] <inf> GNSS_sample: sv: 32, cn0: 251
+[01:28:11.017,822] <inf> GNSS_sample: sv: 10, cn0: 351
+[01:28:11.017,852] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:12.018,829] <inf> GNSS_sample: Searching...
+[01:28:12.018,829] <inf> GNSS_sample: sv: 2, cn0: 272
+[01:28:12.018,829] <inf> GNSS_sample: sv: 16, cn0: 6
+[01:28:12.018,859] <inf> GNSS_sample: sv: 32, cn0: 252
+[01:28:12.018,859] <inf> GNSS_sample: sv: 10, cn0: 351
+[01:28:12.018,859] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:13.017,089] <inf> GNSS_sample: Searching...
+[01:28:13.017,120] <inf> GNSS_sample: sv: 2, cn0: 272
+[01:28:13.017,120] <inf> GNSS_sample: sv: 16, cn0: 61
+[01:28:13.017,120] <inf> GNSS_sample: sv: 32, cn0: 248
+[01:28:13.017,120] <inf> GNSS_sample: sv: 10, cn0: 352
+[01:28:13.017,150] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:14.017,547] <inf> GNSS_sample: Searching...
+[01:28:14.017,547] <inf> GNSS_sample: sv: 2, cn0: 278
+[01:28:14.017,547] <inf> GNSS_sample: sv: 16, cn0: 111
+[01:28:14.017,578] <inf> GNSS_sample: sv: 32, cn0: 249
+[01:28:14.017,578] <inf> GNSS_sample: sv: 10, cn0: 350
+[01:28:14.017,578] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:15.018,798] <inf> GNSS_sample: Searching...
+[01:28:15.018,829] <inf> GNSS_sample: sv: 2, cn0: 278
+[01:28:15.018,829] <inf> GNSS_sample: sv: 16, cn0: 43
+[01:28:15.018,859] <inf> GNSS_sample: sv: 32, cn0: 250
+[01:28:15.018,859] <inf> GNSS_sample: sv: 10, cn0: 353
+[01:28:15.018,859] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:16.019,805] <inf> GNSS_sample: Searching...
+[01:28:16.019,805] <inf> GNSS_sample: sv: 2, cn0: 275
+[01:28:16.019,836] <inf> GNSS_sample: sv: 1, cn0: 287
+[01:28:16.019,836] <inf> GNSS_sample: sv: 16, cn0: 73
+[01:28:16.019,836] <inf> GNSS_sample: sv: 32, cn0: 246
+[01:28:16.019,866] <inf> GNSS_sample: sv: 10, cn0: 349
+[01:28:16.019,866] <inf> GNSS_sample: Number of current satellites: 5
+[01:28:17.020,202] <inf> GNSS_sample: Searching...
+[01:28:17.020,233] <inf> GNSS_sample: sv: 2, cn0: 275
+[01:28:17.020,233] <inf> GNSS_sample: sv: 1, cn0: 250
+[01:28:17.020,263] <inf> GNSS_sample: sv: 16, cn0: 44
+[01:28:17.020,263] <inf> GNSS_sample: sv: 32, cn0: 246
+[01:28:17.020,263] <inf> GNSS_sample: sv: 10, cn0: 346
+[01:28:17.020,263] <inf> GNSS_sample: Number of current satellites: 5
+[01:28:18.020,843] <inf> GNSS_sample: Searching...
+[01:28:18.020,843] <inf> GNSS_sample: sv: 2, cn0: 276
+[01:28:18.020,843] <inf> GNSS_sample: sv: 1, cn0: 242
+[01:28:18.020,843] <inf> GNSS_sample: sv: 16, cn0: 66
+[01:28:18.020,874] <inf> GNSS_sample: sv: 32, cn0: 249
+[01:28:18.020,874] <inf> GNSS_sample: sv: 10, cn0: 345
+[01:28:18.020,874] <inf> GNSS_sample: Number of current satellites: 5
+[01:28:19.021,331] <inf> GNSS_sample: Searching...
+[01:28:19.021,362] <inf> GNSS_sample: sv: 2, cn0: 277
+[01:28:19.021,362] <inf> GNSS_sample: sv: 1, cn0: 245
+[01:28:19.021,362] <inf> GNSS_sample: sv: 16, cn0: 81
+[01:28:19.021,362] <inf> GNSS_sample: sv: 32, cn0: 250
+[01:28:19.021,392] <inf> GNSS_sample: sv: 10, cn0: 344
+[01:28:19.021,392] <inf> GNSS_sample: Number of current satellites: 5
+[01:28:20.018,890] <inf> GNSS_sample: Searching...
+[01:28:20.018,890] <inf> GNSS_sample: sv: 2, cn0: 278
+[01:28:20.018,890] <inf> GNSS_sample: sv: 16, cn0: 0
+[01:28:20.018,920] <inf> GNSS_sample: sv: 32, cn0: 253
+[01:28:20.018,920] <inf> GNSS_sample: sv: 10, cn0: 345
+[01:28:20.018,951] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:21.027,557] <inf> GNSS_sample: Searching...
+[01:28:21.027,587] <inf> GNSS_sample: sv: 2, cn0: 282
+[01:28:21.027,587] <inf> GNSS_sample: sv: 16, cn0: 84
+[01:28:21.027,587] <inf> GNSS_sample: sv: 32, cn0: 254
+[01:28:21.027,587] <inf> GNSS_sample: sv: 10, cn0: 346
+[01:28:21.027,618] <inf> GNSS_sample: Number of current satellites: 4
+[01:28:22.027,343] <inf> GNSS_sample: Searching...
+[01:28:22.027,343] <inf> GNSS_sample: sv: 2, cn0: 281
+[01:28:22.027,343] <inf> GNSS_sample: sv: 27, cn0: 181
+[01:28:22.027,343] <inf> GNSS_sample: sv: 16, cn0: 74
+[01:28:22.027,374] <inf> GNSS_sample: sv: 32, cn0: 250
+[01:28:22.027,374] <inf> GNSS_sample: sv: 10, cn0: 345
+[01:28:22.027,404] <inf> GNSS_sample: Number of current satellites: 5
+[01:28:23.032,226] <inf> GNSS_sample: Searching...
+[01:28:23.032,257] <inf> GNSS_sample: sv: 2, cn0: 284
+[01:28:23.032,257] <inf> GNSS_sample: sv: 27, cn0: 173
+[01:28:23.032,257] <inf> GNSS_sample: sv: 16, cn0: 50
+[01:28:23.032,257] <inf> GNSS_sample: sv: 32, cn0: 250
+[01:28:23.032,287] <inf> GNSS_sample: sv: 10, cn0: 344
+[01:28:23.032,287] <inf> GNSS_sample: Number of current satellites: 5
+[01:28:24.042,205] <inf> GNSS_sample: Searching...
+[01:28:24.042,236] <inf> GNSS_sample: sv: 2, cn0: 287
+[01:28:24.042,236] <inf> GNSS_sample: sv: 27, cn0: 181
+[01:28:24.042,236] <inf> GNSS_sample: sv: 16, cn0: 20
+[01:28:24.042,236] <inf> GNSS_sample: sv: 32, cn0: 249
+[01:28:24.042,266] <inf> GNSS_sample: sv: 10, cn0: 342
+[01:28:24.042,266] <inf> GNSS_sample: Number of current satellites: 5
+[01:28:25.045,288] <inf> GNSS_sample: Searching...
+[01:28:25.045,318] <inf> GNSS_sample: sv: 2, cn0: 290
+[01:28:25.045,318] <inf> GNSS_sample: sv: 16, cn0: 0
+[01:28:25.045,349] <inf> GNSS_sample: sv: 32, cn0: 250
+[01:28:25.045,349] <inf> GNSS_sample: sv: 27, cn0: 186
+[01:28:25.045,349] <inf> GNSS_sample: sv: 10, cn0: 345
+[01:28:25.045,379] <inf> GNSS_sample: Number of current satellites: 5
+[01:28:26.044,708] <inf> GNSS_sample: Searching...
+[01:28:26.044,708] <inf> GNSS_sample: sv: 2, cn0: 286
+[01:28:26.044,708] <inf> GNSS_sample: sv: 16, cn0: 39
+[01:28:26.044,738] <inf> GNSS_sample: sv: 32, cn0: 253
+[01:28:26.044,738] <inf> GNSS_sample: sv: 27, cn0: 178
+[01:28:26.044,738] <inf> GNSS_sample: sv: 10, cn0: 341
+[01:28:26.044,769] <inf> GNSS_sample: Number of current satellites: 5
+[01:28:26.044,799] <inf> GNSS_sample: Latitude: 49.544186
+[01:28:26.044,830] <inf> GNSS_sample: Longitude: 18.272482
+[01:28:26.044,830] <inf> GNSS_sample: Altitude: 487.9 m
+[01:28:26.044,860] <inf> GNSS_sample: Time (UTC): 12:15:23.964
+[01:28:26.046,508] <inf> GNSS_sample: GNSS enter sleep after fix
+[01:29:01.290,863] <inf> GNSS_sample: GNSS has woken up
+[01:29:01.309,387] <inf> GNSS_sample: Searching...
+[01:29:01.309,417] <inf> GNSS_sample: sv: 2, cn0: 283
+[01:29:01.309,417] <inf> GNSS_sample: sv: 16, cn0: 70
+[01:29:01.309,417] <inf> GNSS_sample: sv: 32, cn0: 255
+[01:29:01.309,448] <inf> GNSS_sample: sv: 27, cn0: 178
+[01:29:01.309,448] <inf> GNSS_sample: sv: 10, cn0: 341
+[01:29:01.309,448] <inf> GNSS_sample: Number of current satellites: 5
+[01:29:02.305,786] <inf> GNSS_sample: Searching...
+[01:29:02.305,786] <inf> GNSS_sample: Number of current satellites: 0
+[01:29:03.306,579] <inf> GNSS_sample: Searching...
+[01:29:03.306,610] <inf> GNSS_sample: sv: 10, cn0: 340
+[01:29:03.306,640] <inf> GNSS_sample: sv: 2, cn0: 250
+[01:29:03.306,640] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:04.305,236] <inf> GNSS_sample: Searching...
+[01:29:04.305,236] <inf> GNSS_sample: sv: 10, cn0: 350
+[01:29:04.305,236] <inf> GNSS_sample: sv: 2, cn0: 240
+[01:29:04.305,236] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:05.305,145] <inf> GNSS_sample: Searching...
+[01:29:05.305,175] <inf> GNSS_sample: sv: 10, cn0: 330
+[01:29:05.305,175] <inf> GNSS_sample: sv: 2, cn0: 0
+[01:29:05.305,206] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:06.305,664] <inf> GNSS_sample: Searching...
+[01:29:06.305,694] <inf> GNSS_sample: sv: 10, cn0: 330
+[01:29:06.305,694] <inf> GNSS_sample: sv: 2, cn0: 0
+[01:29:06.305,694] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:07.306,091] <inf> GNSS_sample: Searching...
+[01:29:07.306,121] <inf> GNSS_sample: sv: 10, cn0: 330
+[01:29:07.306,121] <inf> GNSS_sample: sv: 2, cn0: 0
+[01:29:07.306,152] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:08.306,427] <inf> GNSS_sample: Searching...
+[01:29:08.306,427] <inf> GNSS_sample: sv: 10, cn0: 340
+[01:29:08.306,457] <inf> GNSS_sample: sv: 2, cn0: 0
+[01:29:08.306,457] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:09.307,098] <inf> GNSS_sample: Searching...
+[01:29:09.307,128] <inf> GNSS_sample: sv: 10, cn0: 340
+[01:29:09.307,128] <inf> GNSS_sample: sv: 2, cn0: 0
+[01:29:09.307,159] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:10.307,434] <inf> GNSS_sample: Searching...
+[01:29:10.307,434] <inf> GNSS_sample: sv: 10, cn0: 330
+[01:29:10.307,464] <inf> GNSS_sample: sv: 2, cn0: 230
+[01:29:10.307,464] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:11.307,861] <inf> GNSS_sample: Searching...
+[01:29:11.307,891] <inf> GNSS_sample: sv: 10, cn0: 330
+[01:29:11.307,891] <inf> GNSS_sample: sv: 2, cn0: 230
+[01:29:11.307,922] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:12.308,044] <inf> GNSS_sample: Searching...
+[01:29:12.308,044] <inf> GNSS_sample: sv: 10, cn0: 330
+[01:29:12.308,044] <inf> GNSS_sample: sv: 2, cn0: 230
+[01:29:12.308,074] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:13.308,105] <inf> GNSS_sample: Searching...
+[01:29:13.308,135] <inf> GNSS_sample: sv: 10, cn0: 340
+[01:29:13.308,166] <inf> GNSS_sample: sv: 2, cn0: 240
+[01:29:13.308,166] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:14.307,983] <inf> GNSS_sample: Searching...
+[01:29:14.307,983] <inf> GNSS_sample: sv: 10, cn0: 340
+[01:29:14.307,983] <inf> GNSS_sample: sv: 2, cn0: 240
+[01:29:14.308,013] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:15.308,502] <inf> GNSS_sample: Searching...
+[01:29:15.308,532] <inf> GNSS_sample: sv: 10, cn0: 340
+[01:29:15.308,532] <inf> GNSS_sample: sv: 2, cn0: 240
+[01:29:15.308,532] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:16.308,929] <inf> GNSS_sample: Searching...
+[01:29:16.308,929] <inf> GNSS_sample: sv: 10, cn0: 320
+[01:29:16.308,929] <inf> GNSS_sample: sv: 2, cn0: 240
+[01:29:16.308,959] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:17.309,082] <inf> GNSS_sample: Searching...
+[01:29:17.309,112] <inf> GNSS_sample: sv: 10, cn0: 320
+[01:29:17.309,112] <inf> GNSS_sample: sv: 2, cn0: 240
+[01:29:17.309,112] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:18.309,234] <inf> GNSS_sample: Searching...
+[01:29:18.309,234] <inf> GNSS_sample: sv: 10, cn0: 300
+[01:29:18.309,234] <inf> GNSS_sample: sv: 2, cn0: 270
+[01:29:18.309,265] <inf> GNSS_sample: Number of current satellites: 2
+[01:29:19.310,546] <inf> GNSS_sample: Searching...
+[01:29:19.310,577] <inf> GNSS_sample: sv: 16, cn0: 0
+[01:29:19.310,577] <inf> GNSS_sample: sv: 10, cn0: 320
+[01:29:19.310,607] <inf> GNSS_sample: sv: 2, cn0: 220
+[01:29:19.310,607] <inf> GNSS_sample: Number of current satellites: 3
+[01:29:20.311,248] <inf> GNSS_sample: Searching...
+[01:29:20.311,248] <inf> GNSS_sample: sv: 16, cn0: 0
+[01:29:20.311,279] <inf> GNSS_sample: sv: 10, cn0: 320
+[01:29:20.311,279] <inf> GNSS_sample: sv: 2, cn0: 220
+[01:29:20.311,279] <inf> GNSS_sample: Number of current satellites: 3
+[01:29:21.311,279] <inf> GNSS_sample: Searching...
+[01:29:21.311,309] <inf> GNSS_sample: sv: 16, cn0: 0
+[01:29:21.311,309] <inf> GNSS_sample: sv: 10, cn0: 320
+[01:29:21.311,309] <inf> GNSS_sample: sv: 2, cn0: 220
+[01:29:21.311,340] <inf> GNSS_sample: Number of current satellites: 3
+[01:29:22.312,194] <inf> GNSS_sample: Searching...
+[01:29:22.312,225] <inf> GNSS_sample: sv: 16, cn0: 0
+[01:29:22.312,225] <inf> GNSS_sample: sv: 10, cn0: 320
+[01:29:22.312,225] <inf> GNSS_sample: sv: 2, cn0: 220
+[01:29:22.312,255] <inf> GNSS_sample: Number of current satellites: 3
+[01:29:23.312,591] <inf> GNSS_sample: Searching...
+[01:29:23.312,622] <inf> GNSS_sample: sv: 16, cn0: 0
+[01:29:23.312,652] <inf> GNSS_sample: sv: 10, cn0: 320
+[01:29:23.312,652] <inf> GNSS_sample: sv: 2, cn0: 0
+[01:29:23.312,652] <inf> GNSS_sample: Number of current satellites: 3
+[01:29:24.312,866] <inf> GNSS_sample: Searching...
+[01:29:24.312,866] <inf> GNSS_sample: sv: 16, cn0: 0
+[01:29:24.312,896] <inf> GNSS_sample: sv: 10, cn0: 320
+[01:29:24.312,896] <inf> GNSS_sample: sv: 2, cn0: 0
+[01:29:24.312,896] <inf> GNSS_sample: Number of current satellites: 3
+[01:29:25.340,850] <inf> GNSS_sample: Searching...
+[01:29:25.340,881] <inf> GNSS_sample: sv: 16, cn0: 0
+[01:29:25.340,881] <inf> GNSS_sample: sv: 10, cn0: 320
+[01:29:25.340,911] <inf> GNSS_sample: sv: 2, cn0: 0
+[01:29:25.340,911] <inf> GNSS_sample: Number of current satellites: 3
+[01:29:26.330,932] <inf> GNSS_sample: Searching...
+[01:29:26.330,932] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:29:26.330,932] <inf> GNSS_sample: sv: 19, cn0: 232
+[01:29:26.330,932] <inf> GNSS_sample: sv: 12, cn0: 179
+[01:29:26.330,963] <inf> GNSS_sample: sv: 24, cn0: 183
+[01:29:26.330,963] <inf> GNSS_sample: sv: 18, cn0: 234
+[01:29:26.330,963] <inf> GNSS_sample: sv: 14, cn0: 181
+[01:29:26.330,993] <inf> GNSS_sample: sv: 27, cn0: 120
+[01:29:26.330,993] <inf> GNSS_sample: sv: 23, cn0: 120
+[01:29:26.330,993] <inf> GNSS_sample: sv: 16, cn0: 120
+[01:29:26.330,993] <inf> GNSS_sample: sv: 8, cn0: 120
+[01:29:26.331,024] <inf> GNSS_sample: sv: 10, cn0: 320
+[01:29:26.331,024] <inf> GNSS_sample: sv: 2, cn0: 230
+[01:29:26.331,024] <inf> GNSS_sample: Number of current satellites: 12
+[01:29:27.343,811] <inf> GNSS_sample: Searching...
+[01:29:27.343,841] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:29:27.343,872] <inf> GNSS_sample: sv: 19, cn0: 239
+[01:29:27.343,872] <inf> GNSS_sample: sv: 12, cn0: 235
+[01:29:27.343,872] <inf> GNSS_sample: sv: 24, cn0: 238
+[01:29:27.343,872] <inf> GNSS_sample: sv: 10, cn0: 293
+[01:29:27.343,902] <inf> GNSS_sample: sv: 14, cn0: 237
+[01:29:27.343,902] <inf> GNSS_sample: sv: 27, cn0: 120
+[01:29:27.343,902] <inf> GNSS_sample: sv: 23, cn0: 110
+[01:29:27.343,902] <inf> GNSS_sample: sv: 16, cn0: 82
+[01:29:27.343,933] <inf> GNSS_sample: sv: 8, cn0: 120
+[01:29:27.343,933] <inf> GNSS_sample: sv: 2, cn0: 230
+[01:29:27.343,963] <inf> GNSS_sample: Number of current satellites: 11
+[01:29:28.344,940] <inf> GNSS_sample: Searching...
+[01:29:28.344,940] <inf> GNSS_sample: sv: 32, cn0: 244
+[01:29:28.344,970] <inf> GNSS_sample: sv: 19, cn0: 243
+[01:29:28.344,970] <inf> GNSS_sample: sv: 12, cn0: 244
+[01:29:28.344,970] <inf> GNSS_sample: sv: 24, cn0: 247
+[01:29:28.344,970] <inf> GNSS_sample: sv: 10, cn0: 273
+[01:29:28.345,001] <inf> GNSS_sample: sv: 14, cn0: 245
+[01:29:28.345,001] <inf> GNSS_sample: sv: 27, cn0: 46
+[01:29:28.345,001] <inf> GNSS_sample: sv: 23, cn0: 33
+[01:29:28.345,001] <inf> GNSS_sample: sv: 16, cn0: 0
+[01:29:28.345,031] <inf> GNSS_sample: sv: 8, cn0: 46
+[01:29:28.345,031] <inf> GNSS_sample: sv: 2, cn0: 244
+[01:29:28.345,062] <inf> GNSS_sample: Number of current satellites: 11
+[01:29:29.372,009] <inf> GNSS_sample: Searching...
+[01:29:29.372,039] <inf> GNSS_sample: sv: 32, cn0: 251
+[01:29:29.372,039] <inf> GNSS_sample: sv: 19, cn0: 246
+[01:29:29.372,039] <inf> GNSS_sample: sv: 12, cn0: 242
+[01:29:29.372,070] <inf> GNSS_sample: sv: 24, cn0: 248
+[01:29:29.372,070] <inf> GNSS_sample: sv: 10, cn0: 295
+[01:29:29.372,070] <inf> GNSS_sample: sv: 14, cn0: 242
+[01:29:29.372,070] <inf> GNSS_sample: sv: 27, cn0: 212
+[01:29:29.372,100] <inf> GNSS_sample: sv: 23, cn0: 34
+[01:29:29.372,100] <inf> GNSS_sample: sv: 16, cn0: 42
+[01:29:29.372,100] <inf> GNSS_sample: sv: 8, cn0: 80
+[01:29:29.372,131] <inf> GNSS_sample: sv: 2, cn0: 251
+[01:29:29.372,131] <inf> GNSS_sample: Number of current satellites: 11
+[01:29:30.367,156] <inf> GNSS_sample: Searching...
+[01:29:30.367,187] <inf> GNSS_sample: sv: 32, cn0: 251
+[01:29:30.367,187] <inf> GNSS_sample: sv: 19, cn0: 248
+[01:29:30.367,187] <inf> GNSS_sample: sv: 12, cn0: 242
+[01:29:30.367,187] <inf> GNSS_sample: sv: 24, cn0: 244
+[01:29:30.367,218] <inf> GNSS_sample: sv: 10, cn0: 304
+[01:29:30.367,218] <inf> GNSS_sample: sv: 14, cn0: 244
+[01:29:30.367,218] <inf> GNSS_sample: sv: 23, cn0: 96
+[01:29:30.367,218] <inf> GNSS_sample: sv: 16, cn0: 90
+[01:29:30.367,248] <inf> GNSS_sample: sv: 8, cn0: 24
+[01:29:30.367,248] <inf> GNSS_sample: sv: 27, cn0: 212
+[01:29:30.367,279] <inf> GNSS_sample: sv: 2, cn0: 252
+[01:29:30.367,279] <inf> GNSS_sample: Number of current satellites: 11
+[01:29:30.367,309] <inf> GNSS_sample: Latitude: 49.544332
+[01:29:30.367,340] <inf> GNSS_sample: Longitude: 18.272583
+[01:29:30.367,340] <inf> GNSS_sample: Altitude: 458.9 m
+[01:29:30.367,370] <inf> GNSS_sample: Time (UTC): 12:16:28.264
+[01:29:30.368,988] <inf> GNSS_sample: GNSS enter sleep after fix
+[01:30:01.293,182] <inf> GNSS_sample: GNSS has woken up
+[01:30:01.311,553] <inf> GNSS_sample: Searching...
+[01:30:01.311,553] <inf> GNSS_sample: sv: 32, cn0: 246
+[01:30:01.311,584] <inf> GNSS_sample: sv: 19, cn0: 244
+[01:30:01.311,584] <inf> GNSS_sample: sv: 12, cn0: 238
+[01:30:01.311,584] <inf> GNSS_sample: sv: 24, cn0: 242
+[01:30:01.311,584] <inf> GNSS_sample: sv: 10, cn0: 304
+[01:30:01.311,614] <inf> GNSS_sample: sv: 14, cn0: 244
+[01:30:01.311,614] <inf> GNSS_sample: sv: 23, cn0: 88
+[01:30:01.311,614] <inf> GNSS_sample: sv: 16, cn0: 73
+[01:30:01.311,645] <inf> GNSS_sample: sv: 8, cn0: 70
+[01:30:01.311,645] <inf> GNSS_sample: sv: 27, cn0: 215
+[01:30:01.311,645] <inf> GNSS_sample: sv: 2, cn0: 257
+[01:30:01.311,676] <inf> GNSS_sample: Number of current satellites: 11
+[01:30:02.309,265] <inf> GNSS_sample: Searching...
+[01:30:02.309,295] <inf> GNSS_sample: Number of current satellites: 0
+[01:30:03.316,162] <inf> GNSS_sample: Searching...
+[01:30:03.316,192] <inf> GNSS_sample: sv: 32, cn0: 230
+[01:30:03.316,192] <inf> GNSS_sample: sv: 2, cn0: 0
+[01:30:03.316,223] <inf> GNSS_sample: sv: 10, cn0: 330
+[01:30:03.316,223] <inf> GNSS_sample: Number of current satellites: 3
+[01:30:04.326,202] <inf> GNSS_sample: Searching...
+[01:30:04.326,232] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:30:04.326,232] <inf> GNSS_sample: sv: 2, cn0: 0
+[01:30:04.326,232] <inf> GNSS_sample: sv: 10, cn0: 330
+[01:30:04.326,263] <inf> GNSS_sample: Number of current satellites: 3
+[01:30:05.359,466] <inf> GNSS_sample: Searching...
+[01:30:05.359,497] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:30:05.359,497] <inf> GNSS_sample: sv: 27, cn0: 120
+[01:30:05.359,497] <inf> GNSS_sample: sv: 23, cn0: 120
+[01:30:05.359,497] <inf> GNSS_sample: sv: 16, cn0: 120
+[01:30:05.359,527] <inf> GNSS_sample: sv: 8, cn0: 120
+[01:30:05.359,527] <inf> GNSS_sample: sv: 2, cn0: 220
+[01:30:05.359,527] <inf> GNSS_sample: sv: 10, cn0: 310
+[01:30:05.359,527] <inf> GNSS_sample: Number of current satellites: 7
+[01:30:05.359,588] <inf> GNSS_sample: Latitude: 49.544259
+[01:30:05.359,619] <inf> GNSS_sample: Longitude: 18.272453
+[01:30:05.359,619] <inf> GNSS_sample: Altitude: 473.1 m
+[01:30:05.359,649] <inf> GNSS_sample: Time (UTC): 12:17:03.256
+[01:30:05.361,267] <inf> GNSS_sample: GNSS enter sleep after fix
+[01:31:01.295,410] <inf> GNSS_sample: GNSS has woken up
+[01:31:01.314,544] <inf> GNSS_sample: Searching...
+[01:31:01.314,544] <inf> GNSS_sample: sv: 32, cn0: 251
+[01:31:01.314,575] <inf> GNSS_sample: sv: 27, cn0: 183
+[01:31:01.314,575] <inf> GNSS_sample: sv: 23, cn0: 90
+[01:31:01.314,575] <inf> GNSS_sample: sv: 16, cn0: 130
+[01:31:01.314,575] <inf> GNSS_sample: sv: 8, cn0: 153
+[01:31:01.314,605] <inf> GNSS_sample: sv: 2, cn0: 242
+[01:31:01.314,605] <inf> GNSS_sample: sv: 10, cn0: 314
+[01:31:01.314,605] <inf> GNSS_sample: Number of current satellites: 7
+[01:31:02.309,265] <inf> GNSS_sample: Searching...
+[01:31:02.309,295] <inf> GNSS_sample: Number of current satellites: 0
+[01:31:03.318,267] <inf> GNSS_sample: Searching...
+[01:31:03.318,298] <inf> GNSS_sample: sv: 27, cn0: 180
+[01:31:03.318,298] <inf> GNSS_sample: sv: 10, cn0: 0
+[01:31:03.318,298] <inf> GNSS_sample: sv: 2, cn0: 260
+[01:31:03.318,328] <inf> GNSS_sample: Number of current satellites: 3
+[01:31:04.336,547] <inf> GNSS_sample: Searching...
+[01:31:04.336,547] <inf> GNSS_sample: sv: 27, cn0: 250
+[01:31:04.336,578] <inf> GNSS_sample: sv: 23, cn0: 120
+[01:31:04.336,578] <inf> GNSS_sample: sv: 16, cn0: 120
+[01:31:04.336,578] <inf> GNSS_sample: sv: 10, cn0: 210
+[01:31:04.336,608] <inf> GNSS_sample: sv: 8, cn0: 120
+[01:31:04.336,608] <inf> GNSS_sample: sv: 2, cn0: 300
+[01:31:04.336,608] <inf> GNSS_sample: Number of current satellites: 6
+[01:31:05.336,425] <inf> GNSS_sample: Searching...
+[01:31:05.336,425] <inf> GNSS_sample: sv: 27, cn0: 250
+[01:31:05.336,456] <inf> GNSS_sample: sv: 23, cn0: 120
+[01:31:05.336,456] <inf> GNSS_sample: sv: 16, cn0: 120
+[01:31:05.336,456] <inf> GNSS_sample: sv: 10, cn0: 210
+[01:31:05.336,456] <inf> GNSS_sample: sv: 8, cn0: 120
+[01:31:05.336,486] <inf> GNSS_sample: sv: 2, cn0: 291
+[01:31:05.336,486] <inf> GNSS_sample: sv: 32, cn0: 252
+[01:31:05.336,486] <inf> GNSS_sample: Number of current satellites: 7
+[01:31:05.336,547] <inf> GNSS_sample: Latitude: 49.544162
+[01:31:05.336,547] <inf> GNSS_sample: Longitude: 18.272584
+[01:31:05.336,578] <inf> GNSS_sample: Altitude: 466.7 m
+[01:31:05.336,578] <inf> GNSS_sample: Time (UTC): 12:18:03.255
+[01:31:05.338,226] <inf> GNSS_sample: GNSS enter sleep after fix
+[01:32:01.297,363] <inf> GNSS_sample: GNSS has woken up
+[01:32:01.316,406] <inf> GNSS_sample: Searching...
+[01:32:01.316,406] <inf> GNSS_sample: sv: 27, cn0: 253
+[01:32:01.316,406] <inf> GNSS_sample: sv: 23, cn0: 46
+[01:32:01.316,436] <inf> GNSS_sample: sv: 16, cn0: 46
+[01:32:01.316,436] <inf> GNSS_sample: sv: 10, cn0: 238
+[01:32:01.316,436] <inf> GNSS_sample: sv: 8, cn0: 174
+[01:32:01.316,436] <inf> GNSS_sample: sv: 2, cn0: 291
+[01:32:01.316,467] <inf> GNSS_sample: sv: 32, cn0: 239
+[01:32:01.316,467] <inf> GNSS_sample: Number of current satellites: 7
+[01:32:02.311,492] <inf> GNSS_sample: Searching...
+[01:32:02.311,523] <inf> GNSS_sample: Number of current satellites: 0
+[01:32:03.311,248] <inf> GNSS_sample: Searching...
+[01:32:03.311,248] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:32:03.311,279] <inf> GNSS_sample: sv: 2, cn0: 280
+[01:32:03.311,279] <inf> GNSS_sample: Number of current satellites: 2
+[01:32:04.311,859] <inf> GNSS_sample: Searching...
+[01:32:04.311,859] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:32:04.311,889] <inf> GNSS_sample: sv: 27, cn0: 0
+[01:32:04.311,889] <inf> GNSS_sample: sv: 2, cn0: 250
+[01:32:04.311,889] <inf> GNSS_sample: Number of current satellites: 3
+[01:32:05.313,568] <inf> GNSS_sample: Searching...
+[01:32:05.313,598] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:32:05.313,598] <inf> GNSS_sample: sv: 27, cn0: 0
+[01:32:05.313,598] <inf> GNSS_sample: sv: 2, cn0: 230
+[01:32:05.313,629] <inf> GNSS_sample: Number of current satellites: 3
+[01:32:06.313,903] <inf> GNSS_sample: Searching...
+[01:32:06.313,934] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:32:06.313,934] <inf> GNSS_sample: sv: 27, cn0: 0
+[01:32:06.313,964] <inf> GNSS_sample: sv: 2, cn0: 230
+[01:32:06.313,964] <inf> GNSS_sample: Number of current satellites: 3
+[01:32:07.313,018] <inf> GNSS_sample: Searching...
+[01:32:07.313,018] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:32:07.313,049] <inf> GNSS_sample: sv: 27, cn0: 0
+[01:32:07.313,049] <inf> GNSS_sample: sv: 2, cn0: 230
+[01:32:07.313,049] <inf> GNSS_sample: Number of current satellites: 3
+[01:32:08.314,117] <inf> GNSS_sample: Searching...
+[01:32:08.314,147] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:32:08.314,147] <inf> GNSS_sample: sv: 27, cn0: 0
+[01:32:08.314,147] <inf> GNSS_sample: sv: 2, cn0: 230
+[01:32:08.314,178] <inf> GNSS_sample: Number of current satellites: 3
+[01:32:09.314,636] <inf> GNSS_sample: Searching...
+[01:32:09.314,666] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:32:09.314,666] <inf> GNSS_sample: sv: 27, cn0: 0
+[01:32:09.314,666] <inf> GNSS_sample: sv: 2, cn0: 230
+[01:32:09.314,697] <inf> GNSS_sample: Number of current satellites: 3
+[01:32:10.315,002] <inf> GNSS_sample: Searching...
+[01:32:10.315,032] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:32:10.315,032] <inf> GNSS_sample: sv: 27, cn0: 0
+[01:32:10.315,032] <inf> GNSS_sample: sv: 2, cn0: 230
+[01:32:10.315,032] <inf> GNSS_sample: Number of current satellites: 3
+[01:32:11.315,338] <inf> GNSS_sample: Searching...
+[01:32:11.315,338] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:32:11.315,368] <inf> GNSS_sample: sv: 27, cn0: 0
+[01:32:11.315,368] <inf> GNSS_sample: sv: 2, cn0: 190
+[01:32:11.315,368] <inf> GNSS_sample: Number of current satellites: 3
+[01:32:12.315,673] <inf> GNSS_sample: Searching...
+[01:32:12.315,704] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:32:12.315,704] <inf> GNSS_sample: sv: 27, cn0: 0
+[01:32:12.315,704] <inf> GNSS_sample: sv: 2, cn0: 190
+[01:32:12.315,704] <inf> GNSS_sample: Number of current satellites: 3
+[01:32:13.316,650] <inf> GNSS_sample: Searching...
+[01:32:13.316,650] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:32:13.316,680] <inf> GNSS_sample: sv: 27, cn0: 0
+[01:32:13.316,680] <inf> GNSS_sample: sv: 2, cn0: 190
+[01:32:13.316,680] <inf> GNSS_sample: Number of current satellites: 3
+[01:32:14.317,230] <inf> GNSS_sample: Searching...
+[01:32:14.317,260] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:32:14.317,260] <inf> GNSS_sample: sv: 27, cn0: 0
+[01:32:14.317,260] <inf> GNSS_sample: sv: 2, cn0: 0
+[01:32:14.317,291] <inf> GNSS_sample: Number of current satellites: 3
+[01:32:15.317,047] <inf> GNSS_sample: Searching...
+[01:32:15.317,077] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:32:15.317,077] <inf> GNSS_sample: sv: 27, cn0: 0
+[01:32:15.317,077] <inf> GNSS_sample: sv: 2, cn0: 0
+[01:32:15.317,108] <inf> GNSS_sample: Number of current satellites: 3
+[01:32:16.347,290] <inf> GNSS_sample: Searching...
+[01:32:16.347,320] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:32:16.347,351] <inf> GNSS_sample: sv: 27, cn0: 0
+[01:32:16.347,351] <inf> GNSS_sample: sv: 10, cn0: 0
+[01:32:16.347,351] <inf> GNSS_sample: sv: 2, cn0: 0
+[01:32:16.347,351] <inf> GNSS_sample: Number of current satellites: 4
+[01:32:17.333,099] <inf> GNSS_sample: Searching...
+[01:32:17.333,099] <inf> GNSS_sample: sv: 24, cn0: 232
+[01:32:17.333,129] <inf> GNSS_sample: sv: 28, cn0: 236
+[01:32:17.333,129] <inf> GNSS_sample: sv: 1, cn0: 237
+[01:32:17.333,160] <inf> GNSS_sample: sv: 17, cn0: 214
+[01:32:17.333,160] <inf> GNSS_sample: sv: 21, cn0: 247
+[01:32:17.333,160] <inf> GNSS_sample: sv: 32, cn0: 240
+[01:32:17.333,160] <inf> GNSS_sample: sv: 27, cn0: 120
+[01:32:17.333,190] <inf> GNSS_sample: sv: 23, cn0: 120
+[01:32:17.333,190] <inf> GNSS_sample: sv: 16, cn0: 120
+[01:32:17.333,190] <inf> GNSS_sample: sv: 10, cn0: 120
+[01:32:17.333,190] <inf> GNSS_sample: sv: 8, cn0: 120
+[01:32:17.333,221] <inf> GNSS_sample: sv: 2, cn0: 120
+[01:32:17.333,221] <inf> GNSS_sample: Number of current satellites: 12
+[01:32:18.371,398] <inf> GNSS_sample: Searching...
+[01:32:18.371,429] <inf> GNSS_sample: sv: 2, cn0: 263
+[01:32:18.371,429] <inf> GNSS_sample: sv: 28, cn0: 244
+[01:32:18.371,459] <inf> GNSS_sample: sv: 1, cn0: 246
+[01:32:18.371,459] <inf> GNSS_sample: sv: 17, cn0: 245
+[01:32:18.371,459] <inf> GNSS_sample: sv: 21, cn0: 244
+[01:32:18.371,459] <inf> GNSS_sample: sv: 32, cn0: 228
+[01:32:18.371,490] <inf> GNSS_sample: sv: 27, cn0: 171
+[01:32:18.371,490] <inf> GNSS_sample: sv: 23, cn0: 97
+[01:32:18.371,490] <inf> GNSS_sample: sv: 16, cn0: 46
+[01:32:18.371,520] <inf> GNSS_sample: sv: 10, cn0: 168
+[01:32:18.371,520] <inf> GNSS_sample: sv: 8, cn0: 120
+[01:32:18.371,520] <inf> GNSS_sample: Number of current satellites: 11
+[01:32:19.381,500] <inf> GNSS_sample: Searching...
+[01:32:19.381,530] <inf> GNSS_sample: sv: 2, cn0: 263
+[01:32:19.381,530] <inf> GNSS_sample: sv: 28, cn0: 241
+[01:32:19.381,530] <inf> GNSS_sample: sv: 1, cn0: 245
+[01:32:19.381,561] <inf> GNSS_sample: sv: 17, cn0: 246
+[01:32:19.381,561] <inf> GNSS_sample: sv: 21, cn0: 242
+[01:32:19.381,561] <inf> GNSS_sample: sv: 32, cn0: 227
+[01:32:19.381,561] <inf> GNSS_sample: sv: 27, cn0: 206
+[01:32:19.381,591] <inf> GNSS_sample: sv: 23, cn0: 15
+[01:32:19.381,591] <inf> GNSS_sample: sv: 16, cn0: 0
+[01:32:19.381,591] <inf> GNSS_sample: sv: 10, cn0: 195
+[01:32:19.381,622] <inf> GNSS_sample: sv: 8, cn0: 46
+[01:32:19.381,622] <inf> GNSS_sample: Number of current satellites: 11
+[01:32:19.381,683] <inf> GNSS_sample: Latitude: 49.543938
+[01:32:19.381,683] <inf> GNSS_sample: Longitude: 18.272318
+[01:32:19.381,713] <inf> GNSS_sample: Altitude: 487.2 m
+[01:32:19.381,713] <inf> GNSS_sample: Time (UTC): 12:19:17.262
+[01:32:19.383,331] <inf> GNSS_sample: GNSS enter sleep after fix
diff --git a/nrfdemo/nrf9161dk_nrf9161_ns.overlay b/nrfdemo/nrf9161dk_nrf9161_ns.overlay
new file mode 100644
index 0000000..4a07480
--- /dev/null
+++ b/nrfdemo/nrf9161dk_nrf9161_ns.overlay
@@ -0,0 +1,20 @@
+// To get started, press Ctrl+Space to bring up the completion menu and view the available nodes.
+
+// You can also use the buttons in the sidebar to perform actions on nodes.
+// Actions currently available include:
+
+// * Enabling / disabling the node
+// * Adding the bus to a bus
+// * Removing the node
+// * Connecting ADC channels
+
+// For more help, browse the DeviceTree documentation at https://docs.zephyrproject.org/latest/guides/dts/index.html
+// You can also visit the nRF DeviceTree extension documentation at https://docs.nordicsemi.com/bundle/nrf-connect-vscode/page/guides/ncs_configure_app.html#devicetree-support-in-the-extension
+
+&i2c2 {
+ bme688@76 {
+ compatible = "bosch,bme680";
+ reg = <0x77>;
+ status = "okay";
+ };
+};
diff --git a/nrfdemo/prj.conf b/nrfdemo/prj.conf
index 3c59a2a..203a46e 100644
--- a/nrfdemo/prj.conf
+++ b/nrfdemo/prj.conf
@@ -58,3 +58,10 @@ CONFIG_MQTT_BROKER_PORT=1883
# Must enable Stratus application to be booted by MCUboot
CONFIG_BOOTLOADER_MCUBOOT=y
+
+CONFIG_I2C=y
+CONFIG_SENSOR=y
+
+# Enable printing of floating-points
+CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y
+CONFIG_FPU=y
diff --git a/nrfdemo/src/main.c b/nrfdemo/src/main.c
index 770b178..e998d45 100644
--- a/nrfdemo/src/main.c
+++ b/nrfdemo/src/main.c
@@ -9,6 +9,8 @@
#include <ncs_version.h>
#include <zephyr/kernel.h>
#include <zephyr/net/socket.h>
+#include <zephyr/device.h>
+#include <zephyr/drivers/sensor.h>
#include <zephyr/logging/log.h>
#include <dk_buttons_and_leds.h>
@@ -19,7 +21,6 @@
#include <nrf_modem_gnss.h>
#include "mqtt_connection.h"
-#include "bme680/bme680.h"
/* The mqtt client struct */
static struct mqtt_client client;
@@ -33,10 +34,15 @@ static struct nrf_modem_gnss_pvt_data_frame pvt_data;
static int64_t gnss_start_time;
static bool first_fix = false;
+const struct device *const bme = DEVICE_DT_GET_ONE(bosch_bme680);
+struct sensor_value temp, press, humidity, gas_res;
+
+
static void gnss_event_handler(int event);
static void print_fix_data(struct nrf_modem_gnss_pvt_data_frame *pvt_data);
static K_SEM_DEFINE(lte_connected, 0, 1);
+static K_SEM_DEFINE(gnss_fixed, 0, 1);
LOG_MODULE_REGISTER(mqtt_app, LOG_LEVEL_INF);
@@ -66,7 +72,6 @@ static int modem_configure(void)
{
int err;
- LOG_INF("Initializing modem library");
err = nrf_modem_lib_init();
if (err) {
LOG_ERR("Failed to initialize the modem library, error: %d", err);
@@ -98,17 +103,50 @@ static void button_handler(uint32_t button_state, uint32_t has_changed)
case DK_BTN1_MSK:
/* When button 1/Mode is pressed, call data_publish() to publish a message */
if (button_state & DK_BTN1_MSK){
- int err = data_publish(&client, MQTT_QOS_1_AT_LEAST_ONCE,
- CONFIG_BUTTON_EVENT_PUBLISH_MSG, sizeof(CONFIG_BUTTON_EVENT_PUBLISH_MSG)-1);
+ int err = data_publish(&client, MQTT_QOS_1_AT_LEAST_ONCE, CONFIG_BUTTON_EVENT_PUBLISH_MSG, sizeof(CONFIG_BUTTON_EVENT_PUBLISH_MSG)-1);
+
+ err |= publish_all();
+
if (err) {
LOG_INF("Failed to send message, %d", err);
return;
}
- }
- break;
+
+ }
}
}
+uint16_t mqtt_cylcle = 0;
+
+int publish_all()
+{
+ int err;
+ err = data_publish(&client, MQTT_QOS_1_AT_LEAST_ONCE, CONFIG_BUTTON_EVENT_PUBLISH_MSG, sizeof(CONFIG_BUTTON_EVENT_PUBLISH_MSG)-1);
+ if (err) {
+ LOG_INF("Failed to send message, %d", err);
+ return;
+ }
+
+ sensor_sample_fetch(bme);
+ sensor_channel_get(bme, SENSOR_CHAN_AMBIENT_TEMP, &temp);
+ sensor_channel_get(bme, SENSOR_CHAN_PRESS, &press);
+ sensor_channel_get(bme, SENSOR_CHAN_HUMIDITY, &humidity);
+ sensor_channel_get(bme, SENSOR_CHAN_GAS_RES, &gas_res);
+
+ err |= publish_sensor(&client, "nrf/dk/temp", temp.val1, temp.val2);
+ err |= publish_sensor(&client, "nrf/dk/pres", press.val1, press.val2);
+ err |= publish_sensor(&client, "nrf/dk/humi", humidity.val1, humidity.val2);
+ err |= publish_sensor(&client, "nrf/dk/gas", gas_res.val1, gas_res.val2);
+
+
+ printf("Temp: %d.%02d degC; Press: %d.%02d kPa; RH: %d.%02d %%; G: %d.%02d Ohm\n",
+ temp.val1, temp.val2,
+ press.val1, press.val2,
+ humidity.val1, humidity.val2,
+ gas_res.val1, gas_res.val2);
+ return err;
+}
+
#if 1
/* Define a function to log fix data in a readable format */
static void print_fix_data(struct nrf_modem_gnss_pvt_data_frame *pvt_data)
@@ -131,16 +169,14 @@ static void gnss_event_handler(int event)
switch (event) {
/* On a PVT event, confirm if PVT data is a valid fix */
case NRF_MODEM_GNSS_EVT_PVT:
- LOG_INF("Searching...");
/* Print satellite information */
int num_satellites = 0;
for (int i = 0; i < 12 ; i++) {
if (pvt_data.sv[i].signal != 0) {
- LOG_INF("sv: %d, cn0: %d", pvt_data.sv[i].sv, pvt_data.sv[i].cn0);
num_satellites++;
}
}
- LOG_INF("Number of current satellites: %d", num_satellites);
+ LOG_INF("%d", num_satellites);
err = nrf_modem_gnss_read(&pvt_data, sizeof(pvt_data), NRF_MODEM_GNSS_DATA_PVT);
if (err) {
LOG_ERR("nrf_modem_gnss_read failed, err %d", err);
@@ -150,6 +186,7 @@ static void gnss_event_handler(int event)
dk_set_led_on(DK_LED1);
print_fix_data(&pvt_data);
/* Print the time to first fix */
+ k_sem_give(&gnss_fixed);
if (!first_fix) {
LOG_INF("Time to first fix: %2.1lld s", (k_uptime_get() - gnss_start_time)/1000);
first_fix = true;
@@ -177,21 +214,24 @@ int main(void)
LOG_INF("Starting MQTT sample on %s\n", CONFIG_BOARD);
+ if (!device_is_ready(bme)) {
+ LOG_ERR("sensor: device not ready.\n");
+ return 0;
+ }
+ LOG_INF("BME680 %p name is %s\n", bme, bme->name);
+
if (dk_leds_init() != 0) {
LOG_ERR("Failed to initialize the LED library");
}
+ LOG_INF("Initializing modem library");
err = modem_configure();
+
if (err) {
LOG_ERR("Failed to configure the modem");
return 0;
}
- if (dk_buttons_init(button_handler) != 0) {
- LOG_ERR("Failed to initialize the buttons library");
- }
-
-
/* Activate only the GNSS stack */
if (lte_lc_func_mode_set(LTE_LC_FUNC_MODE_ACTIVATE_GNSS) != 0) {
LOG_ERR("Failed to activate GNSS functional mode");
@@ -210,11 +250,14 @@ int main(void)
return 0;
}
- if (nrf_modem_gnss_fix_retry_set(60) != 0) {
+ if (nrf_modem_gnss_fix_retry_set(900) != 0) {
LOG_ERR("Failed to set GNSS fix retry");
return 0;
}
+ nrf_modem_gnss_power_mode_set(NRF_MODEM_GNSS_PSM_DISABLED);
+ nrf_modem_gnss_prio_mode_disable();
+
/* Start the GNSS receiver */
LOG_INF("Starting GNSS");
if (nrf_modem_gnss_start() != 0) {
@@ -222,6 +265,14 @@ int main(void)
return 0;
}
+
+
+
+ if (dk_buttons_init(button_handler) != 0) {
+ LOG_ERR("Failed to initialize the buttons library");
+ }
+
+
err = client_init(&client);
if (err) {
LOG_ERR("Failed to initialize MQTT client: %d", err);
@@ -251,7 +302,28 @@ do_connect:
return 0;
}
- while (1) {
+ while (1)
+ {
+ err = lte_lc_func_mode_set(LTE_LC_FUNC_MODE_DEACTIVATE_LTE);
+ if (err != 0){
+ LOG_ERR("Failed to decativate LTE and enable GNSS functional mode");
+ break;
+ }
+
+ k_sem_take(&gnss_fixed, K_FOREVER);
+
+ err = lte_lc_func_mode_set(LTE_LC_FUNC_MODE_ACTIVATE_LTE);
+ if (err != 0){
+ LOG_ERR("Failed to activate LTE");
+ break;
+ }
+
+ k_sem_take(&lte_connected, K_FOREVER);
+
+ for (int i = 0; i < 1000; i++)
+ {
+ k_msleep(10);
+
err = poll(&fds, 1, mqtt_keepalive_time_left(&client));
if (err < 0) {
LOG_ERR("Error in poll(): %d", errno);
@@ -281,6 +353,7 @@ do_connect:
LOG_ERR("POLLNVAL");
break;
}
+ }
}
LOG_INF("Disconnecting MQTT client");
diff --git a/nrfdemo/src/mqtt_connection.c b/nrfdemo/src/mqtt_connection.c
index ef4e69f..1d884b7 100644
--- a/nrfdemo/src/mqtt_connection.c
+++ b/nrfdemo/src/mqtt_connection.c
@@ -98,6 +98,36 @@ static void data_print(uint8_t *prefix, uint8_t *data, size_t len)
LOG_INF("%s%s", (char *)prefix, (char *)buf);
}
+int publish_sensor(struct mqtt_client *c, uint8_t* topic, int32_t val1, int32_t val2)
+{
+ uint8_t buf[20], sgn = (val1 < 0 && val2 < 0) ? '-' : '+';
+ snprintf(buf, 20, "%c%i.%03i", labs(val1), labs(val2)/1000);
+ publish_wrap(c, topic, buf, strlen(buf));
+}
+
+uint16_t mqtt_cycle = 0;
+
+int publish_wrap(struct mqtt_client *c, uint8_t* topic, uint8_t *data, size_t len)
+{
+ struct mqtt_publish_param param;
+
+ param.message.topic.qos = MQTT_QOS_1_AT_LEAST_ONCE;
+ param.message.topic.topic.utf8 = topic;
+ param.message.topic.topic.size = strlen(topic);
+ param.message.payload.data = data;
+ param.message.payload.len = len;
+ param.message_id = mqtt_cycle++;
+ param.dup_flag = 0;
+ param.retain_flag = 0;
+
+ data_print("Publishing: ", data, len);
+ LOG_INF("to topic: %s len: %u",
+ topic,
+ (unsigned int)strlen(topic));
+
+ return mqtt_publish(c, &param);
+}
+
/**@brief Function to publish data on the configured topic
*/
/* Define the function data_publish() to publish data */
diff --git a/nrfdemo/src/mqtt_connection.h b/nrfdemo/src/mqtt_connection.h
index 51765e8..8fa3b45 100644
--- a/nrfdemo/src/mqtt_connection.h
+++ b/nrfdemo/src/mqtt_connection.h
@@ -18,4 +18,6 @@ int fds_init(struct mqtt_client *c, struct pollfd *fds);
int data_publish(struct mqtt_client *c, enum mqtt_qos qos,
uint8_t *data, size_t len);
+int publish_wrap(struct mqtt_client *c, uint8_t* topic, uint8_t *data, size_t len);
+
#endif /* _CONNECTION_H_ */