summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2025-04-13 22:37:32 +0200
committerxengineering <me@xengineering.eu>2025-04-13 22:37:32 +0200
commitcbd50c9ec7ad85f57874b28a4ba1d2b4cce5a33f (patch)
tree5c7d4c3af009910744a2f649aeaa06e14cdb719a
parentc8b683bd3c33aeac8b803c6196062b13157fc790 (diff)
downloadiot-contact-settings.tar
iot-contact-settings.tar.zst
iot-contact-settings.zip
fw: app: Enable settings with NVS backendsettings
-rw-r--r--fw/app/CMakeLists.txt1
-rw-r--r--fw/app/prj.conf8
-rw-r--r--fw/app/src/boot-count.c26
3 files changed, 35 insertions, 0 deletions
diff --git a/fw/app/CMakeLists.txt b/fw/app/CMakeLists.txt
index 1a63b77..b090c47 100644
--- a/fw/app/CMakeLists.txt
+++ b/fw/app/CMakeLists.txt
@@ -19,6 +19,7 @@ target_sources(app
"${CMAKE_CURRENT_SOURCE_DIR}/src/http.c"
"${CMAKE_CURRENT_SOURCE_DIR}/src/ws.c"
"${CMAKE_CURRENT_SOURCE_DIR}/src/heart.c"
+ "${CMAKE_CURRENT_SOURCE_DIR}/src/boot-count.c"
)
target_sources_ifdef(
diff --git a/fw/app/prj.conf b/fw/app/prj.conf
index eeb97a8..67c99bc 100644
--- a/fw/app/prj.conf
+++ b/fw/app/prj.conf
@@ -44,5 +44,13 @@ CONFIG_ZBUS=y
CONFIG_ZBUS_MSG_SUBSCRIBER=y
CONFIG_HEAP_MEM_POOL_SIZE=2048
+CONFIG_FLASH=y
+CONFIG_FLASH_MAP=y
+
+CONFIG_MPU_ALLOW_FLASH_WRITE=y
+
+CONFIG_NVS=y
+
CONFIG_SETTINGS=y
+CONFIG_SETTINGS_NVS=y
CONFIG_SETTINGS_SHELL=y
diff --git a/fw/app/src/boot-count.c b/fw/app/src/boot-count.c
new file mode 100644
index 0000000..0b944e2
--- /dev/null
+++ b/fw/app/src/boot-count.c
@@ -0,0 +1,26 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public License,
+ * v. 2.0. If a copy of the MPL was not distributed with this file, You can
+ * obtain one at https://mozilla.org/MPL/2.0/.
+ */
+
+
+#include <zephyr/init.h>
+#include <zephyr/logging/log.h>
+#include <zephyr/settings/settings.h>
+
+
+LOG_MODULE_REGISTER(boot_count);
+
+
+int init_settings(void) {
+ int ret = settings_subsys_init();
+ if (ret < 0) {
+ LOG_ERR("Failed to init settings subsystem (%d)", ret);
+ return ret;
+ }
+ LOG_INF("Settings subsystem initialized");
+
+ return 0;
+}
+SYS_INIT(init_settings, APPLICATION, 50);