moved SETTINGS_RUNTIME to lib

This commit is contained in:
2026-05-19 08:51:37 +02:00
parent 980e23e51a
commit dd51f45084
9 changed files with 85 additions and 93 deletions

View File

@@ -1,2 +1,2 @@
# Keep SPI NOR page layout aligned with generated LittleFS block size (4KB).
CONFIG_SPI_NOR_FLASH_LAYOUT_PAGE_SIZE=4096
# Keep QSPI NOR page layout aligned with generated LittleFS block size (4KB).
CONFIG_NORDIC_QSPI_NOR_FLASH_LAYOUT_PAGE_SIZE=4096

View File

@@ -18,47 +18,47 @@
};
};
spi3_default: spi3_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 2)>,
<NRF_PSEL(SPIM_MOSI, 0, 29)>,
<NRF_PSEL(SPIM_MISO, 0, 30)>;
};
};
// spi3_default: spi3_default {
// group1 {
// psels = <NRF_PSEL(SPIM_SCK, 0, 2)>,
// <NRF_PSEL(SPIM_MOSI, 0, 29)>,
// <NRF_PSEL(SPIM_MISO, 0, 30)>;
// };
// };
spi3_sleep: spi3_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 2)>,
<NRF_PSEL(SPIM_MOSI, 0, 29)>,
<NRF_PSEL(SPIM_MISO, 0, 30)>;
low-power-enable;
};
};
// spi3_sleep: spi3_sleep {
// group1 {
// psels = <NRF_PSEL(SPIM_SCK, 0, 2)>,
// <NRF_PSEL(SPIM_MOSI, 0, 29)>,
// <NRF_PSEL(SPIM_MISO, 0, 30)>;
// low-power-enable;
// };
// };
/*
* Optional future QSPI pinctrl states (keep disabled for now).
* Use these when switching from &spi3 to &qspi in buzzy.dts.
*/
// qspi_default: qspi_default {
// group1 {
// psels = <NRF_PSEL(QSPI_SCK, 0, 2)>,
// <NRF_PSEL(QSPI_CSN, 0, 5)>,
// <NRF_PSEL(QSPI_IO0, 0, 29)>,
// <NRF_PSEL(QSPI_IO1, 0, 30)>,
// <NRF_PSEL(QSPI_IO2, 0, 31)>,
// <NRF_PSEL(QSPI_IO3, 1, 13)>;
// };
// };
// qspi_sleep: qspi_sleep {
// group1 {
// psels = <NRF_PSEL(QSPI_SCK, 0, 2)>,
// <NRF_PSEL(QSPI_CSN, 0, 5)>,
// <NRF_PSEL(QSPI_IO0, 0, 29)>,
// <NRF_PSEL(QSPI_IO1, 0, 30)>,
// <NRF_PSEL(QSPI_IO2, 0, 31)>,
// <NRF_PSEL(QSPI_IO3, 1, 13)>;
// low-power-enable;
// };
// };
qspi_default: qspi_default {
group1 {
psels = <NRF_PSEL(QSPI_SCK, 0, 2)>,
<NRF_PSEL(QSPI_CSN, 0, 5)>,
<NRF_PSEL(QSPI_IO0, 0, 29)>,
<NRF_PSEL(QSPI_IO1, 0, 30)>,
<NRF_PSEL(QSPI_IO2, 0, 31)>,
<NRF_PSEL(QSPI_IO3, 1, 13)>;
};
};
qspi_sleep: qspi_sleep {
group1 {
psels = <NRF_PSEL(QSPI_SCK, 0, 2)>,
<NRF_PSEL(QSPI_CSN, 0, 5)>,
<NRF_PSEL(QSPI_IO0, 0, 29)>,
<NRF_PSEL(QSPI_IO1, 0, 30)>,
<NRF_PSEL(QSPI_IO2, 0, 31)>,
<NRF_PSEL(QSPI_IO3, 1, 13)>;
low-power-enable;
};
};
};

View File

@@ -137,17 +137,52 @@
* SO/SIO1-> P0.30
* CS -> P0.05
*/
&spi3 {
// &spi3 {
// status = "okay";
// pinctrl-0 = <&spi3_default>;
// pinctrl-1 = <&spi3_sleep>;
// pinctrl-names = "default", "sleep";
// cs-gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
// mx25r64: flash@0 {
// compatible = "jedec,spi-nor";
// reg = <0>;
// spi-max-frequency = <8000000>;
// jedec-id = [c2 28 17];
// size = <DT_SIZE_M(64)>;
// has-dpd;
// t-enter-dpd = <10000>;
// t-exit-dpd = <35000>;
// partitions {
// compatible = "fixed-partitions";
// #address-cells = <1>;
// #size-cells = <1>;
// ext_flash_lfs: partition@0 {
// label = "ext-littlefs";
// reg = <0x00000000 DT_SIZE_M(8)>;
// };
// };
// };
// };
/*
* Optional future QSPI variant (keep disabled for now):
* - Disable &spi3 block above.
* - Enable &qspi block below.
* - Keep the same flash partition layout.
*/
&qspi {
status = "okay";
pinctrl-0 = <&spi3_default>;
pinctrl-1 = <&spi3_sleep>;
pinctrl-0 = <&qspi_default>;
pinctrl-1 = <&qspi_sleep>;
pinctrl-names = "default", "sleep";
cs-gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
mx25r64: flash@0 {
compatible = "jedec,spi-nor";
compatible = "nordic,qspi-nor";
reg = <0>;
spi-max-frequency = <8000000>;
sck-frequency = <32000000>;
jedec-id = [c2 28 17];
size = <DT_SIZE_M(64)>;
has-dpd;
@@ -167,47 +202,6 @@
};
};
/*
* Optional future QSPI variant (keep disabled for now):
* - Disable &spi3 block above.
* - Enable &qspi block below.
* - Keep the same flash partition layout.
*/
// &qspi {
// status = "okay";
// pinctrl-0 = <&qspi_default>;
// pinctrl-1 = <&qspi_sleep>;
// pinctrl-names = "default", "sleep";
// mx25r64: flash@0 {
// compatible = "nordic,qspi-nor";
// reg = <0>;
// jedec-id = [c2 28 17];
// size = <DT_SIZE_M(64)>;
// has-dpd;
// t-enter-dpd = <10000>;
// t-exit-dpd = <35000>;
// /* Net mapping from hardware: *
// * SCK=P0.02, CSN=P0.05, IO0=P0.29, IO1=P0.30, IO2=P0.31, IO3=P1.13
// */
// sck-pin = <2>;
// csn-pins = <5>;
// io-pins = <29>, <30>, <31>, <45>;
// partitions {
// compatible = "fixed-partitions";
// #address-cells = <1>;
// #size-cells = <1>;
// ext_flash_lfs: partition@0 {
// label = "ext-littlefs";
// reg = <0x00000000 DT_SIZE_M(8)>;
// };
// };
// };
// };
&gpio0 {
status = "okay";

View File

@@ -8,10 +8,6 @@ CONFIG_DEBUG_OPTIMIZATIONS=y
CONFIG_INIT_STACKS=y
CONFIG_THREAD_STACK_INFO=y
### Increase logging thread stack to prevent overflow when shell active
CONFIG_LOG_PROCESS_THREAD_STACK_SIZE=2048
CONFIG_LOG_BUFFER_SIZE=4096
### Bluetooth subsystem logging (reduced noise)
CONFIG_BT_LOG_LEVEL_WRN=y

View File

@@ -10,7 +10,7 @@ menuconfig BLE_MGMT
if BLE_MGMT
config BLE_MGMT_DEFAULT_DEVICE_NAME
string "Default Bluetooth device name"
default "Edis Buzzer"
default "Edis Buzzer 2.0"
help
Device name used when ble_mgmt_init() is called with a NULL name.

View File

@@ -7,7 +7,7 @@ menuconfig FS_MGMT
select FILE_SYSTEM_LITTLEFS
select FILE_SYSTEM_MKFS
select FLASH_PAGE_LAYOUT
select SPI_NOR if BOARD_BUZZY
select NORDIC_QSPI_NOR if BOARD_BUZZY
select PM_OVERRIDE_EXTERNAL_DRIVER_CHECK if BOARD_BUZZY
select NORDIC_QSPI_NOR if BOARD_NRF52840DK_NRF52840
help

View File

@@ -2,6 +2,7 @@ menuconfig SETTINGS_MGMT
bool "Settings Management"
default y
select SETTINGS
select SETTINGS_RUNTIME
select ZMS
help
Library for initializing and managing the settings subsystem.

View File

@@ -27,7 +27,7 @@ LOG_MODULE_REGISTER(settings_mgmt, LOG_LEVEL_INF);
/* The "Source of Truth" in RAM */
struct app_settings_t app_cfg = {
.dev_name = "Edis Buzzer",
.dev_name = CONFIG_BLE_MGMT_DEFAULT_DEVICE_NAME,
.vol = 100, /* 0-100 % */
.shuffle_mode = 0,
.ble_timeout = 0xFFFFFFFF,

View File

@@ -3,6 +3,7 @@
#include <string.h>
#include "buzz_proto.h"
#include "settings_mgmt.h"
// #include "fw_mgmt.h"
// #include "audio.h"
@@ -50,7 +51,7 @@ int main(void)
{
#if IS_ENABLED(CONFIG_BLE_MGMT)
/* BLE-Subsystem initialisieren und RX-Callback registrieren */
int rc = ble_mgmt_init(ble_rx_cb, CONFIG_BLE_MGMT_DEFAULT_DEVICE_NAME);
int rc = ble_mgmt_init(ble_rx_cb, app_cfg.dev_name);
if (rc < 0) {
LOG_ERR("Failed to initialize BLE management: %d", rc);
return rc;