Skip to content

Commit d85d4b2

Browse files
author
Memfault Inc
committed
Memfault Firmware SDK 0.37.1 (Build 1184)
1 parent aaa298a commit d85d4b2

29 files changed

+335
-228
lines changed

CHANGES.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
### Changes between Memfault SDK 0.37.1 and SDK 0.37.0 - Jan 17, 2023
2+
3+
#### :chart_with_upwards_trend: Improvements
4+
5+
- FreeRTOS
6+
- Add support for collecting truncated TCBs. This is particularly useful with
7+
limited coredump space. Enable by defining
8+
`MEMFAULT_PLATFORM_FREERTOS_TCB_SIZE` in `memfault_platform_config.h".
9+
- ESP-IDF
10+
- Add support for esp32s2/s3 platforms to the esp32 example application
11+
12+
#### :house: Internal
13+
14+
- Fixup some documentation typos/errors
15+
- Add support for Python 3.10
16+
117
### Changes between Memfault SDK 0.37.0 and SDK 0.36.1 - Dec 16, 2022
218

319
#### :chart_with_upwards_trend: Improvements

VERSION

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
BUILD ID: 971
2-
GIT COMMIT: fdf6fee86
1+
BUILD ID: 1184
2+
GIT COMMIT: b60ef08d3

components/include/memfault/core/log.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ void memfault_log_set_min_save_level(eMemfaultPlatformLogLevel min_log_level);
5656
//! For example, if your platform already has something like this
5757
//!
5858
//! #define YOUR_PLATFORM_LOG_ERROR(...)
59-
//! my_platform_log_error(__VA_ARGS__)
59+
//! your_platform_log_error(__VA_ARGS__)
6060
//!
6161
//! the error data could be automatically recorded by making the
6262
//! following modification

components/include/memfault/core/platform/device_info.h

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,25 @@ typedef struct MemfaultDeviceInfo {
2121
//! Regular expression defining valid device serials: ^[-a-zA-Z0-9_]+$
2222
const char *device_serial;
2323

24-
//! The "Software Type" is used to identify the separate pieces of software running on a given device. This can be
25-
//! images running on different MCUs (i.e "main-mcu-app" & "bluetooth-mcu") or different images running on the same
26-
//! MCU (i.e "main-mcu-bootloader" & "main-mcu-app").
27-
//! To learn more, check out the documentation: https://mflt.io/34PyNGQ
24+
//! The "Software Type" is used to identify the separate pieces of software running on a given
25+
//! device. This can be images running on different MCUs (i.e "main-mcu-app" & "bluetooth-mcu") or
26+
//! different images running on the same MCU (i.e "main-mcu-bootloader" & "main-mcu-app"). To
27+
//! learn more, check out the documentation: https://mflt.io/34PyNGQ
2828
const char *software_type;
2929

3030
//! Version of the currently running software.
3131
//! We recommend using Semantic Version V2 strings.
3232
const char *software_version;
3333

34-
//! Hardware version (sometimes also called "board revision") that the software is currently running on.
35-
//! Regular expression defining valid hardware versions: ^[-a-zA-Z0-9_\.\+]+$
34+
//! Hardware version (sometimes also called "board revision") that the software is currently
35+
//! running on. Regular expression defining valid hardware versions: ^[-a-zA-Z0-9_\.\+]+$
3636
const char *hardware_version;
3737
} sMemfaultDeviceInfo;
3838

3939
//! Invoked by memfault library to query the device information
4040
//!
4141
//! It's expected the strings returned will be valid for the lifetime of the application
42+
//! @note This function must be safe to call from an interrupt
4243
void memfault_platform_get_device_info(sMemfaultDeviceInfo *info);
4344

4445
//! Allows caller to get a pointer to a unique version string
@@ -52,7 +53,7 @@ void memfault_platform_get_device_info(sMemfaultDeviceInfo *info);
5253
//! @return System version with suffix or null on error. For example,
5354
//! if the input version is "1.0.0" and the build id is "123456....", the string
5455
//! returned will be "1.0.0+123456"
55-
const char *memfault_create_unique_version_string(const char * const version);
56+
const char *memfault_create_unique_version_string(const char *const version);
5657

5758
//! Convenience function to get a pointer to a previously created version string.
5859
const char *memfault_get_unique_version_string(void);

components/include/memfault/core/serializer_key_ids.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ typedef enum {
3333
typedef enum {
3434
kMemfaultEventType_Heartbeat = 1,
3535
kMemfaultEventType_Trace = 2,
36-
kMemfaultEventType_LogError = 3,
36+
// Deprecated: kMemfaultEventType_LogError = 3, use trace_with_log feature instead
3737
kMemfaultEventType_Logs = 4,
3838
kMemfaultEventType_Cdr = 5,
3939
} eMemfaultEventType;

components/include/memfault/default_config.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,17 @@ extern "C" {
545545
#define MEMFAULT_PLATFORM_COREDUMP_STORAGE_REGIONS_CUSTOM 0
546546
#endif
547547

548+
//! Override the size of TCB memory to collect set by the FreeRTOS port. Default
549+
//! behavior is to collect the entire TCB structure. This option is useful when using
550+
//! FreeRTOS and coredump space is limited. In certain configurations, such as using
551+
//! configUSE_NEWLIB_REENTRANT, FreeRTOS TCBs contain extra fields that are not required when
552+
//! decoding coredumps. Using this option can free up coredump space for other memory regions if
553+
//! needed. If `MEMFAULT_PLATFORM_FREERTOS_TCB_SIZE` is set to 0, a default value for the TCB size
554+
//! is used. Please see ports/freertos/src/memfault_freertos_ram_regions.c for more info
555+
#ifndef MEMFAULT_PLATFORM_FREERTOS_TCB_SIZE
556+
#define MEMFAULT_PLATFORM_FREERTOS_TCB_SIZE 0
557+
#endif
558+
548559
#ifdef __cplusplus
549560
}
550561
#endif

components/include/memfault/version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ typedef struct {
1919
uint8_t patch;
2020
} sMfltSdkVersion;
2121

22-
#define MEMFAULT_SDK_VERSION { .major = 0, .minor = 37, .patch = 0 }
22+
#define MEMFAULT_SDK_VERSION { .major = 0, .minor = 37, .patch = 1 }
2323

2424
#ifdef __cplusplus
2525
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/dependencies.lock
2+
/managed_components/
13
/sdkconfig
24
/sdkconfig.extra
35
/sdkconfig.old

examples/esp32/apps/memfault_demo_app/CMakeLists.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ cmake_minimum_required(VERSION 3.5)
55
set(PROJECT_NAME memfault-esp32-demo-app)
66
set(CMAKE_PROJECT_NAME ${PROJECT_NAME})
77

8+
include($ENV{IDF_PATH}/tools/cmake/version.cmake OPTIONAL)
9+
10+
# This contains the implementation for the led_strip driver. In ESP-IDF v5 it
11+
# moved to a "managed component" and no longer needs to be manually added.
12+
if(DEFINED IDF_VERSION_MAJOR)
13+
if(IDF_VERSION_MAJOR VERSION_LESS 5)
14+
set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/led_strip)
15+
endif()
16+
endif()
17+
818
get_filename_component(memfault_firmare_sdk_dir ../../../../ ABSOLUTE)
919
include(${memfault_firmare_sdk_dir}/ports/esp_idf/memfault.cmake)
1020

examples/esp32/apps/memfault_demo_app/Makefile

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)