From 5761bc79b829b922c81ce322d394327fb4492d1f Mon Sep 17 00:00:00 2001 From: Oscar Barja Date: Fri, 30 Jan 2026 20:20:14 +0000 Subject: [PATCH 01/17] Update submodule refs --- solaris-v1/external/spp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solaris-v1/external/spp b/solaris-v1/external/spp index d461a48..53869f0 160000 --- a/solaris-v1/external/spp +++ b/solaris-v1/external/spp @@ -1 +1 @@ -Subproject commit d461a489492e9a077416df909e472d2c1d8e7b60 +Subproject commit 53869f0008b8cc97d1426fb4e72449fd28e3270d From f33c09e505ac8c2e91df4f126f7d4254995f2a7b Mon Sep 17 00:00:00 2001 From: Oscar Barja Date: Fri, 30 Jan 2026 20:23:20 +0000 Subject: [PATCH 02/17] Update submodule refs --- solaris-v1/external/spp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solaris-v1/external/spp b/solaris-v1/external/spp index 53869f0..17bb8d4 160000 --- a/solaris-v1/external/spp +++ b/solaris-v1/external/spp @@ -1 +1 @@ -Subproject commit 53869f0008b8cc97d1426fb4e72449fd28e3270d +Subproject commit 17bb8d4d155b7ab61913458eea53592635e00f0b From 32a78cffe4dab0d0ec247b6e07261d80ced54f90 Mon Sep 17 00:00:00 2001 From: Oscar Barja Date: Sat, 31 Jan 2026 00:48:50 +0000 Subject: [PATCH 03/17] Update submodule ref --- solaris-v1/external/spp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solaris-v1/external/spp b/solaris-v1/external/spp index 17bb8d4..7a6148e 160000 --- a/solaris-v1/external/spp +++ b/solaris-v1/external/spp @@ -1 +1 @@ -Subproject commit 17bb8d4d155b7ab61913458eea53592635e00f0b +Subproject commit 7a6148e4509187998f31ffef8660a4a5e699b06c From abe61390b2ecacb04f09e9857da2afde124c0e2a Mon Sep 17 00:00:00 2001 From: Oscar Barja Date: Sat, 31 Jan 2026 11:38:22 +0000 Subject: [PATCH 04/17] Change main to test the storage port --- solaris-v1/main/main.c | 94 ++++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 55 deletions(-) diff --git a/solaris-v1/main/main.c b/solaris-v1/main/main.c index 0dc5024..709ab17 100644 --- a/solaris-v1/main/main.c +++ b/solaris-v1/main/main.c @@ -1,73 +1,57 @@ -#include "freertos/FreeRTOS.h" -#include "freertos/task.h" - -#include "core/returntypes.h" +#include "storage.h" #include "spi.h" -#include "bmp390.h" - -#include "gpio_int.h" -#include "driver/gpio.h" +#include "macros_esp.h" -static bmp_data_t s_bmp; - -static void bmp_init_task(void *arg) -{ - BmpInit(arg); -} +#include +#include void app_main(void) { retval_t ret; - // Step 1: Initialize SPI Bus + // 1) SPI Bus Init ret = SPP_HAL_SPI_BusInit(); - if (ret != SPP_OK) while (1) {} - - // Step 2: Initialize ICM SPI Device - void *p_spi_icm = SPP_HAL_SPI_GetHandler(); - ret = SPP_HAL_SPI_DeviceInit(p_spi_icm); - if (ret != SPP_OK) while (1) {} - - // Step 3: Initialize BMP SPI Device - void *p_spi_bmp = SPP_HAL_SPI_GetHandler(); - ret = SPP_HAL_SPI_DeviceInit(p_spi_bmp); - if (ret != SPP_OK) while (1) {} - - // Step 4: Assign SPI Handler to BMP Structure - s_bmp.p_handler_spi = p_spi_bmp; - - // Step 5: Configure BMP390 Auxiliary Settings - ret = bmp390_aux_config(p_spi_bmp); - if (ret != SPP_OK) while (1) {} - - // Step 6: Prepare BMP390 Measurement - ret = bmp390_prepare_measure(p_spi_bmp); - if (ret != SPP_OK) while (1) {} + if (ret != SPP_OK) { + while (1) { } + } - // Step 7: Configure Control Register - { - spp_uint8_t buf[2] = { (spp_uint8_t)0x19u, (spp_uint8_t)(1u << 6) }; - ret = SPP_HAL_SPI_Transmit(p_spi_bmp, buf, (spp_uint8_t)sizeof(buf)); - if (ret != SPP_OK) while (1) {} + // 2) Config + static SPP_Storage_InitCfg sd_cfg = { + .base_path = "/sdcard", + .spi_host_id = USED_HOST, + .pin_cs = CS_PIN_SDC, + .max_files = 5, + .allocation_unit_size = 16 * 1024, + .format_if_mount_failed = false + }; + + // 3) Mount + ret = SPP_HAL_Storage_Mount((void*)&sd_cfg); + if (ret != SPP_OK) { + while (1) { } } - // Step 8: Configure Interrupt Pin Settings - s_bmp.int_pin = (spp_uint32_t)INT_GPIO; - s_bmp.int_intr_type = (spp_uint32_t)GPIO_INTR_POSEDGE; - s_bmp.int_pull = 0; + // 4) Write Test + FILE* f = fopen("/sdcard/test.txt", "w"); + if (f == NULL) { + (void)SPP_HAL_Storage_Unmount((void*)&sd_cfg); + while (1) { } + } - // Step 9: Create BMP Initialization Task - xTaskCreate(bmp_init_task, "bmp_init", BMP_INIT_TASK_STACK_SIZE, &s_bmp, BMP_INIT_PRIO, NULL); + const char* msg = "hola sd\n"; + size_t wr = fwrite(msg, 1, strlen(msg), f); + fclose(f); - vTaskDelay(pdMS_TO_TICKS(100)); + if (wr != strlen(msg)) { + (void)SPP_HAL_Storage_Unmount((void*)&sd_cfg); + while (1) { } + } - // Step 10: Read Altitude Measurement - float altitude = 0.0f; - ret = bmp390_get_altitude(p_spi_bmp, &s_bmp, &altitude); + // 5) Unmount + ret = SPP_HAL_Storage_Unmount((void*)&sd_cfg); if (ret != SPP_OK) { - while (1) {} + while (1) { } } - vTaskDelay(pdMS_TO_TICKS(50)); - + while (1) { } } \ No newline at end of file From 38b533adbb68e313bc1f8b44bc3a32eb26f79591 Mon Sep 17 00:00:00 2001 From: David Date: Sat, 31 Jan 2026 15:29:40 +0000 Subject: [PATCH 05/17] launch.json update --- .vscode/launch.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 1823417..f4e593b 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -9,7 +9,7 @@ "cwd": "${workspaceFolder}/solaris-v1", "MIMode": "gdb", "miDebuggerPath": "/opt/esp/tools/xtensa-esp-elf-gdb/16.2_20250324/xtensa-esp-elf-gdb/bin/xtensa-esp32s3-elf-gdb", - "miDebuggerServerAddress": "192.168.20.236:3333", + "miDebuggerServerAddress": "192.168.20.236:3334", "externalConsole": false, "stopAtEntry": true, "preLaunchTask": "gdb-prepare", From 012b5daceddd2d7fbce7cc8ab443075236bffe2f Mon Sep 17 00:00:00 2001 From: Silent Whisper <100483416@alumnos.uc3m.es> Date: Sun, 1 Feb 2026 14:06:41 +0100 Subject: [PATCH 06/17] Updated SDK config file --- solaris-v1/sdkconfig | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/solaris-v1/sdkconfig b/solaris-v1/sdkconfig index fa287df..eea4cea 100644 --- a/solaris-v1/sdkconfig +++ b/solaris-v1/sdkconfig @@ -1248,6 +1248,7 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set # CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y @@ -1262,7 +1263,6 @@ CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y -# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set # CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 @@ -1280,13 +1280,11 @@ CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 CONFIG_ESP_INT_WDT=y CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 -CONFIG_ESP_INT_WDT_CHECK_CPU1=y CONFIG_ESP_TASK_WDT_EN=y CONFIG_ESP_TASK_WDT_INIT=y # CONFIG_ESP_TASK_WDT_PANIC is not set CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y # CONFIG_ESP_PANIC_HANDLER_IRAM is not set # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set CONFIG_ESP_DEBUG_OCDAWARE=y @@ -1298,8 +1296,6 @@ CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y # IPC (Inter-Processor Call) # CONFIG_ESP_IPC_TASK_STACK_SIZE=1280 -CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y -CONFIG_ESP_IPC_ISR_ENABLE=y # end of IPC (Inter-Processor Call) # @@ -1339,8 +1335,6 @@ CONFIG_ESP_WIFI_TX_BA_WIN=6 CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP_WIFI_RX_BA_WIN=6 CONFIG_ESP_WIFI_NVS_ENABLED=y -CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y -# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 CONFIG_ESP_WIFI_IRAM_OPT=y @@ -1455,8 +1449,9 @@ CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0 # Kernel # # CONFIG_FREERTOS_SMP is not set -# CONFIG_FREERTOS_UNICORE is not set +CONFIG_FREERTOS_UNICORE=y CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y @@ -1469,7 +1464,6 @@ CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 CONFIG_FREERTOS_USE_TIMERS=y CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" # CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set -# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU1 is not set CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 @@ -1513,7 +1507,7 @@ CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y CONFIG_FREERTOS_DEBUG_OCDAWARE=y CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y -CONFIG_FREERTOS_NUMBER_OF_CORES=2 +CONFIG_FREERTOS_NUMBER_OF_CORES=1 CONFIG_FREERTOS_IN_IRAM=y # end of FreeRTOS @@ -1707,7 +1701,6 @@ CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set -# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 @@ -1993,9 +1986,6 @@ CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 CONFIG_PTHREAD_STACK_MIN=768 -CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y -# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set -# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" # end of PThreads @@ -2320,13 +2310,11 @@ CONFIG_CONSOLE_UART_NUM=0 CONFIG_CONSOLE_UART_BAUDRATE=115200 CONFIG_INT_WDT=y CONFIG_INT_WDT_TIMEOUT_MS=300 -CONFIG_INT_WDT_CHECK_CPU1=y CONFIG_TASK_WDT=y CONFIG_ESP_TASK_WDT=y # CONFIG_TASK_WDT_PANIC is not set CONFIG_TASK_WDT_TIMEOUT_S=5 CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y # CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set CONFIG_ESP32S3_DEBUG_OCDAWARE=y CONFIG_IPC_TASK_STACK_SIZE=1280 @@ -2344,8 +2332,6 @@ CONFIG_ESP32_WIFI_TX_BA_WIN=6 CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_RX_BA_WIN=6 CONFIG_ESP32_WIFI_NVS_ENABLED=y -CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y -# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 CONFIG_ESP32_WIFI_IRAM_OPT=y @@ -2391,7 +2377,6 @@ CONFIG_UDP_RECVMBOX_SIZE=6 CONFIG_TCPIP_TASK_STACK_SIZE=3072 CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set -# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF # CONFIG_PPP_SUPPORT is not set CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y @@ -2414,9 +2399,6 @@ CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 CONFIG_ESP32_PTHREAD_STACK_MIN=768 -CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y -# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set -# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y From 3b8951c53be1fc026de5856f5b41336327602f91 Mon Sep 17 00:00:00 2001 From: Silent Whisper <100483416@alumnos.uc3m.es> Date: Mon, 2 Feb 2026 22:42:14 +0100 Subject: [PATCH 07/17] Added testing for the SPP_LOG --- solaris-v1/components/spp_wrapper/CMakeLists.txt | 5 ++++- solaris-v1/external/spp | 2 +- solaris-v1/external/spp-ports | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/solaris-v1/components/spp_wrapper/CMakeLists.txt b/solaris-v1/components/spp_wrapper/CMakeLists.txt index 0bd3c3c..fc2bd12 100644 --- a/solaris-v1/components/spp_wrapper/CMakeLists.txt +++ b/solaris-v1/components/spp_wrapper/CMakeLists.txt @@ -40,7 +40,10 @@ endif() # --------------------------------------------------------- # Solo .c directamente en external/spp (sin recursión) -file(GLOB SPP_EXT_SOURCES "${SPP_ROOT}/*.c") +file(GLOB SPP_EXT_SOURCES + "${SPP_ROOT}/*.c" + "${SPP_ROOT}/services/logging/*.c" +) # No cogemos ni external/spp/hal/*.c # ni external/spp/osal/*.c diff --git a/solaris-v1/external/spp b/solaris-v1/external/spp index 7a6148e..ed1f09e 160000 --- a/solaris-v1/external/spp +++ b/solaris-v1/external/spp @@ -1 +1 @@ -Subproject commit 7a6148e4509187998f31ffef8660a4a5e699b06c +Subproject commit ed1f09e0bf5943778b73f125d1eafd6651ac3585 diff --git a/solaris-v1/external/spp-ports b/solaris-v1/external/spp-ports index 10b6361..2bd0920 160000 --- a/solaris-v1/external/spp-ports +++ b/solaris-v1/external/spp-ports @@ -1 +1 @@ -Subproject commit 10b63610f4fe644b52061c0e49849baa810e4000 +Subproject commit 2bd09208fba1d3d2c99249afdb2c6a443a8048a3 From eeab0bd60138b9ecff1c939fdbd1e07066ce0bf6 Mon Sep 17 00:00:00 2001 From: Silent Whisper <100483416@alumnos.uc3m.es> Date: Fri, 6 Feb 2026 21:07:28 +0100 Subject: [PATCH 08/17] Added all .c file when compiling spp in wrapper. Added main.c to test the dtaabank init. Added gitignore to remove .cache files --- .gitignore | 4 +++- solaris-v1/components/spp_wrapper/CMakeLists.txt | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 0e7eddd..7c08a3e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,6 @@ sdkconfig.old solaris-v1/sdkconfig settings.json /solaris-v1/sdkconfig -.espidf/ \ No newline at end of file +.espidf/ +*.cache* +launch.json \ No newline at end of file diff --git a/solaris-v1/components/spp_wrapper/CMakeLists.txt b/solaris-v1/components/spp_wrapper/CMakeLists.txt index fc2bd12..30ddec0 100644 --- a/solaris-v1/components/spp_wrapper/CMakeLists.txt +++ b/solaris-v1/components/spp_wrapper/CMakeLists.txt @@ -40,11 +40,11 @@ endif() # --------------------------------------------------------- # Solo .c directamente en external/spp (sin recursión) -file(GLOB SPP_EXT_SOURCES - "${SPP_ROOT}/*.c" - "${SPP_ROOT}/services/logging/*.c" +file(GLOB_RECURSE SPP_EXT_SOURCES + "${SPP_ROOT}/*.c" ) + # No cogemos ni external/spp/hal/*.c # ni external/spp/osal/*.c # ni ningún subdirectorio From 4e05909b8e8f5a223f70ff00f0c50d5996b0a9ae Mon Sep 17 00:00:00 2001 From: Silent Whisper <100483416@alumnos.uc3m.es> Date: Sat, 7 Feb 2026 16:48:40 +0100 Subject: [PATCH 09/17] Testing data bank code --- .vscode/launch.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index f4e593b..8de04d1 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -8,7 +8,7 @@ "program": "${workspaceFolder}/solaris-v1/build/solaris-v1.elf", "cwd": "${workspaceFolder}/solaris-v1", "MIMode": "gdb", - "miDebuggerPath": "/opt/esp/tools/xtensa-esp-elf-gdb/16.2_20250324/xtensa-esp-elf-gdb/bin/xtensa-esp32s3-elf-gdb", + "miDebuggerPath": "/home/user/.espressif/tools/xtensa-esp-elf-gdb/16.3_20250913/xtensa-esp-elf-gdb/bin/xtensa-esp32s3-elf-gdb", "miDebuggerServerAddress": "192.168.20.236:3334", "externalConsole": false, "stopAtEntry": true, From 24c74631ec0efc89159f2745d63c7880832cff3a Mon Sep 17 00:00:00 2001 From: Silent Whisper <100483416@alumnos.uc3m.es> Date: Sat, 7 Feb 2026 17:59:10 +0100 Subject: [PATCH 10/17] Added chages to bmp file to read who am I and init ICM --- solaris-v1/components/pressure_sensor_driver/bmp390.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/solaris-v1/components/pressure_sensor_driver/bmp390.c b/solaris-v1/components/pressure_sensor_driver/bmp390.c index 96356a5..8053f82 100644 --- a/solaris-v1/components/pressure_sensor_driver/bmp390.c +++ b/solaris-v1/components/pressure_sensor_driver/bmp390.c @@ -114,10 +114,11 @@ retval_t bmp390_enable_spi_mode(void *p_spi) */ retval_t bmp390_config_check(void *p_spi) { - spp_uint8_t buf[4] = + spp_uint8_t buf[6] = { (spp_uint8_t)(READ_OP | BMP390_IF_CONF_REG), EMPTY_MESSAGE, - (spp_uint8_t)(READ_OP | BMP390_SOFT_RESET_REG), EMPTY_MESSAGE + (spp_uint8_t)(READ_OP | BMP390_SOFT_RESET_REG), EMPTY_MESSAGE, + (spp_uint8_t)(READ_OP | BMP390_CHIP_ID_REG), EMPTY_MESSAGE }; return SPP_HAL_SPI_Transmit(p_spi, buf, (spp_uint8_t)sizeof(buf)); From c7417f30669ba7e660c3341d3af7bd81ad768fc9 Mon Sep 17 00:00:00 2001 From: Oscar Barja Date: Wed, 11 Feb 2026 20:12:31 +0000 Subject: [PATCH 11/17] changes to debug bmp --- .../pressure_sensor_driver/bmp390.c | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/solaris-v1/components/pressure_sensor_driver/bmp390.c b/solaris-v1/components/pressure_sensor_driver/bmp390.c index 8053f82..2b78fb2 100644 --- a/solaris-v1/components/pressure_sensor_driver/bmp390.c +++ b/solaris-v1/components/pressure_sensor_driver/bmp390.c @@ -4,6 +4,7 @@ #include "core/returntypes.h" #include "spi.h" #include "task.h" +#include "spp_log.h" static const char* TAG = "BMP390"; spp_uint8_t id, ifc; @@ -81,7 +82,7 @@ retval_t bmp390_soft_reset(void *p_spi) }; retval_t ret = SPP_HAL_SPI_Transmit(p_spi, buf, (spp_uint8_t)sizeof(buf)); - //vTaskDelay(pdMS_TO_TICKS(100)); + SPP_OSAL_TaskDelay(pdMS_TO_TICKS(100)); return ret; } @@ -101,7 +102,7 @@ retval_t bmp390_enable_spi_mode(void *p_spi) }; retval_t ret = SPP_HAL_SPI_Transmit(p_spi, buf, (spp_uint8_t)sizeof(buf)); - //vTaskDelay(pdMS_TO_TICKS(100)); + SPP_OSAL_TaskDelay(pdMS_TO_TICKS(100)); return ret; } @@ -120,8 +121,22 @@ retval_t bmp390_config_check(void *p_spi) (spp_uint8_t)(READ_OP | BMP390_SOFT_RESET_REG), EMPTY_MESSAGE, (spp_uint8_t)(READ_OP | BMP390_CHIP_ID_REG), EMPTY_MESSAGE }; + + retval_t ret; + ret = SPP_HAL_SPI_Transmit(p_spi, buf, (spp_uint8_t)sizeof(buf)); + + if (ret != SPP_OK) { + return ret; + } + + SPP_LOGI(TAG, "ID: 0x%02X", buf[5]); - return SPP_HAL_SPI_Transmit(p_spi, buf, (spp_uint8_t)sizeof(buf)); + if (buf[5] != 0x60) { + SPP_LOGE(TAG, "BMP390 not detected! Expected ID: 0x%02X, Read ID: 0x%02X", 0x60, buf[5]); + return SPP_ERROR; + } + + return ret; } /** @@ -140,7 +155,10 @@ retval_t bmp390_aux_config(void *p_spi) ret = bmp390_enable_spi_mode(p_spi); if (ret != SPP_OK) return ret; - return bmp390_config_check(p_spi); + ret = bmp390_config_check(p_spi); + if (ret != SPP_OK) return ret; + + return ret; } //--------------------PREPARE READ--------------------------- From 461cd02d8bc0a53b19a5a74b248a9d5539ca0fe7 Mon Sep 17 00:00:00 2001 From: Oscar Barja Date: Wed, 4 Feb 2026 20:39:37 +0000 Subject: [PATCH 12/17] Change wrapped to add frertos requirement; update submodule refs --- solaris-v1/components/spp_port_wrapper/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solaris-v1/components/spp_port_wrapper/CMakeLists.txt b/solaris-v1/components/spp_port_wrapper/CMakeLists.txt index ac326c8..2442af0 100644 --- a/solaris-v1/components/spp_port_wrapper/CMakeLists.txt +++ b/solaris-v1/components/spp_port_wrapper/CMakeLists.txt @@ -42,5 +42,5 @@ list(REMOVE_DUPLICATES SPP_EXT_INCLUDE_DIRS) idf_component_register( SRCS ${SPP_EXT_SOURCES} INCLUDE_DIRS ${SPP_EXT_INCLUDE_DIRS} - REQUIRES spp_wrapper esp_driver_spi esp_driver_gpio esp_driver_sdspi fatfs fatfs + REQUIRES spp_wrapper esp_driver_spi esp_driver_gpio esp_driver_sdspi fatfs fatfs freertos ) From cd7ca4003dcf5da2d9dd1ebc8ecf36f5d0ddde47 Mon Sep 17 00:00:00 2001 From: Oscar Barja Date: Sat, 14 Feb 2026 00:00:44 +0000 Subject: [PATCH 13/17] devcontainer changed to add device rules for USB flash --- .devcontainer/devcontainer.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index c792263..16b9e3c 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -7,7 +7,9 @@ }, "runArgs": [ - "--privileged" + "--privileged", + "--device-cgroup-rule=c 166:* rmw", + "--device=/dev/bus/usb" ], "settings": { "terminal.integrated.defaultProfile.linux": "bash" }, @@ -25,6 +27,7 @@ "remoteUser": "root", "mounts": [ + "source=/dev/serial/by-id,target=/dev/serial/by-id,type=bind", "source=${localEnv:HOME}/.ssh,target=/tmp/host-ssh,type=bind,consistency=cached,readonly", "source=${localEnv:HOME}/.gitconfig,target=/root/.gitconfig,type=bind,consistency=cached,readonly" ], From b398d4b973a9daadddac657f0e668d1e1276eba5 Mon Sep 17 00:00:00 2001 From: Oscar Barja Date: Sat, 14 Feb 2026 17:43:47 +0000 Subject: [PATCH 14/17] BMP390 configuration check chenged to debug and fixed devcontainer --- .devcontainer/devcontainer.json | 7 ++----- solaris-v1/components/pressure_sensor_driver/bmp390.c | 10 +++++----- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 16b9e3c..c1b7533 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -7,9 +7,7 @@ }, "runArgs": [ - "--privileged", - "--device-cgroup-rule=c 166:* rmw", - "--device=/dev/bus/usb" + "--privileged" ], "settings": { "terminal.integrated.defaultProfile.linux": "bash" }, @@ -27,7 +25,6 @@ "remoteUser": "root", "mounts": [ - "source=/dev/serial/by-id,target=/dev/serial/by-id,type=bind", "source=${localEnv:HOME}/.ssh,target=/tmp/host-ssh,type=bind,consistency=cached,readonly", "source=${localEnv:HOME}/.gitconfig,target=/root/.gitconfig,type=bind,consistency=cached,readonly" ], @@ -38,4 +35,4 @@ "IDF_PATH": "/opt/esp/idf", "PATH": "/opt/esp/idf/tools:${env:PATH}" } -} +} \ No newline at end of file diff --git a/solaris-v1/components/pressure_sensor_driver/bmp390.c b/solaris-v1/components/pressure_sensor_driver/bmp390.c index 2b78fb2..40e2f80 100644 --- a/solaris-v1/components/pressure_sensor_driver/bmp390.c +++ b/solaris-v1/components/pressure_sensor_driver/bmp390.c @@ -115,11 +115,11 @@ retval_t bmp390_enable_spi_mode(void *p_spi) */ retval_t bmp390_config_check(void *p_spi) { - spp_uint8_t buf[6] = + spp_uint8_t buf[9] = { - (spp_uint8_t)(READ_OP | BMP390_IF_CONF_REG), EMPTY_MESSAGE, - (spp_uint8_t)(READ_OP | BMP390_SOFT_RESET_REG), EMPTY_MESSAGE, - (spp_uint8_t)(READ_OP | BMP390_CHIP_ID_REG), EMPTY_MESSAGE + (spp_uint8_t)(READ_OP | BMP390_IF_CONF_REG), EMPTY_MESSAGE, EMPTY_MESSAGE, + (spp_uint8_t)(READ_OP | BMP390_SOFT_RESET_REG), EMPTY_MESSAGE, EMPTY_MESSAGE, + (spp_uint8_t)(READ_OP | BMP390_CHIP_ID_REG), EMPTY_MESSAGE, EMPTY_MESSAGE }; retval_t ret; @@ -129,7 +129,7 @@ retval_t bmp390_config_check(void *p_spi) return ret; } - SPP_LOGI(TAG, "ID: 0x%02X", buf[5]); + SPP_LOGI(TAG, "Buffer: 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X", buf[0], buf[2], buf[4], buf[1], buf[3], buf[5]); if (buf[5] != 0x60) { SPP_LOGE(TAG, "BMP390 not detected! Expected ID: 0x%02X, Read ID: 0x%02X", 0x60, buf[5]); From 1c9ec4c786b05989382211bc7a943f8a52eb43fe Mon Sep 17 00:00:00 2001 From: Silent Whisper <100483416@alumnos.uc3m.es> Date: Sun, 15 Feb 2026 18:59:24 +0100 Subject: [PATCH 15/17] Final version for BMP testing --- solaris-v1/components/pressure_sensor_driver/bmp390.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/solaris-v1/components/pressure_sensor_driver/bmp390.c b/solaris-v1/components/pressure_sensor_driver/bmp390.c index 40e2f80..feb9735 100644 --- a/solaris-v1/components/pressure_sensor_driver/bmp390.c +++ b/solaris-v1/components/pressure_sensor_driver/bmp390.c @@ -117,9 +117,9 @@ retval_t bmp390_config_check(void *p_spi) { spp_uint8_t buf[9] = { - (spp_uint8_t)(READ_OP | BMP390_IF_CONF_REG), EMPTY_MESSAGE, EMPTY_MESSAGE, + (spp_uint8_t)(READ_OP | BMP390_IF_CONF_REG), EMPTY_MESSAGE, EMPTY_MESSAGE, (spp_uint8_t)(READ_OP | BMP390_SOFT_RESET_REG), EMPTY_MESSAGE, EMPTY_MESSAGE, - (spp_uint8_t)(READ_OP | BMP390_CHIP_ID_REG), EMPTY_MESSAGE, EMPTY_MESSAGE + (spp_uint8_t)(READ_OP | BMP390_CHIP_ID_REG), EMPTY_MESSAGE, EMPTY_MESSAGE }; retval_t ret; @@ -131,7 +131,8 @@ retval_t bmp390_config_check(void *p_spi) SPP_LOGI(TAG, "Buffer: 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X", buf[0], buf[2], buf[4], buf[1], buf[3], buf[5]); - if (buf[5] != 0x60) { + + if (buf[8] != 0x60) { SPP_LOGE(TAG, "BMP390 not detected! Expected ID: 0x%02X, Read ID: 0x%02X", 0x60, buf[5]); return SPP_ERROR; } @@ -153,7 +154,7 @@ retval_t bmp390_aux_config(void *p_spi) if (ret != SPP_OK) return ret; ret = bmp390_enable_spi_mode(p_spi); - if (ret != SPP_OK) return ret; + if (ret != SPP_OK) return ret; ret = bmp390_config_check(p_spi); if (ret != SPP_OK) return ret; From 09089c9f549cddfe2692432c9ff6e6cfcc4c7999 Mon Sep 17 00:00:00 2001 From: Oscar Barja Date: Mon, 16 Feb 2026 20:00:05 +0000 Subject: [PATCH 16/17] BMP Chip ID read --- solaris-v1/components/pressure_sensor_driver/bmp390.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solaris-v1/components/pressure_sensor_driver/bmp390.c b/solaris-v1/components/pressure_sensor_driver/bmp390.c index feb9735..a9ab236 100644 --- a/solaris-v1/components/pressure_sensor_driver/bmp390.c +++ b/solaris-v1/components/pressure_sensor_driver/bmp390.c @@ -129,7 +129,7 @@ retval_t bmp390_config_check(void *p_spi) return ret; } - SPP_LOGI(TAG, "Buffer: 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X", buf[0], buf[2], buf[4], buf[1], buf[3], buf[5]); + SPP_LOGI(TAG, "ID: 0x%02X", buf[8]); if (buf[8] != 0x60) { From 9aa4f91fb58f46c421691c5f6e3791aa5bd6785e Mon Sep 17 00:00:00 2001 From: Oscar Barja Date: Fri, 27 Mar 2026 00:33:20 +0000 Subject: [PATCH 17/17] json to flash by USB serial and added error logging in main --- .devcontainer/devcontainer.json | 1 + solaris-v1/main/main.c | 17 ++++++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index c1b7533..d1db2ed 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -7,6 +7,7 @@ }, "runArgs": [ + "--device=/dev/ttyACM0", "--privileged" ], diff --git a/solaris-v1/main/main.c b/solaris-v1/main/main.c index 709ab17..dfd2838 100644 --- a/solaris-v1/main/main.c +++ b/solaris-v1/main/main.c @@ -1,18 +1,23 @@ #include "storage.h" #include "spi.h" #include "macros_esp.h" +#include "spp_log.h" +#include "osal/task.h" #include #include +#define TAG "MAIN" + void app_main(void) { + SPP_OSAL_TaskDelay(2000); retval_t ret; // 1) SPI Bus Init ret = SPP_HAL_SPI_BusInit(); if (ret != SPP_OK) { - while (1) { } + SPP_LOGE(TAG, "SPI Bus Init failed"); } // 2) Config @@ -28,14 +33,14 @@ void app_main(void) // 3) Mount ret = SPP_HAL_Storage_Mount((void*)&sd_cfg); if (ret != SPP_OK) { - while (1) { } + SPP_LOGE(TAG, "Storage Mount failed"); } // 4) Write Test FILE* f = fopen("/sdcard/test.txt", "w"); if (f == NULL) { (void)SPP_HAL_Storage_Unmount((void*)&sd_cfg); - while (1) { } + SPP_LOGE(TAG, "Failed to open file for writing"); } const char* msg = "hola sd\n"; @@ -44,14 +49,12 @@ void app_main(void) if (wr != strlen(msg)) { (void)SPP_HAL_Storage_Unmount((void*)&sd_cfg); - while (1) { } + SPP_LOGE(TAG, "Failed to write to file"); } // 5) Unmount ret = SPP_HAL_Storage_Unmount((void*)&sd_cfg); if (ret != SPP_OK) { - while (1) { } + SPP_LOGE(TAG, "Storage Unmount failed"); } - - while (1) { } } \ No newline at end of file