Skip to content

Commit bc01765

Browse files
committed
feat(cmake): remove CXX compile options
1 parent 3cb7429 commit bc01765

File tree

8 files changed

+53
-17
lines changed

8 files changed

+53
-17
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# ChangeLog
22

3+
## v0.2.2 - 2025-06-27
4+
5+
### Enhancements:
6+
7+
* feat(log): add CXX log trace guard and ESP-IDF log implementation
8+
* feat(check): add value check macros
9+
* feat(repo): add thread module, support configure thread
10+
* feat(repo): add more module, support some guard classes
11+
* feat(cmake): remove CXX compile options
12+
313
## v0.2.1 - 2025-05-30
414

515
### Enhancements:

CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ endif()
1717
target_compile_options(${COMPONENT_LIB}
1818
PUBLIC
1919
-Wno-missing-field-initializers
20-
PRIVATE
21-
$<$<COMPILE_LANGUAGE:CXX>:-std=gnu++20>
2220
)
2321

2422
if(NOT ESP_PLATFORM)

Kconfig

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ menu "ESP Library Utils Configurations"
77

88
if ESP_UTILS_CONF_FILE_SKIP
99
menu "Check functions"
10-
choice ESP_UTILS_CONF_CHECK_HANDLE_METHOD
10+
choice ESP_UTILS_CONF_CHECK_HANDLE_METHOD_CHOICE
1111
prompt "Select handle method when check failed"
1212
default ESP_UTILS_CHECK_HANDLE_WITH_ERROR_LOG
1313

@@ -29,7 +29,7 @@ menu "ESP Library Utils Configurations"
2929
endmenu
3030

3131
menu "Log functions"
32-
choice ESP_UTILS_CONF_LOG_IMPL_TYPE
32+
choice ESP_UTILS_CONF_LOG_IMPL_TYPE_CHOICE
3333
prompt "Select log implementation"
3434
default ESP_UTILS_CONF_LOG_IMPL_ESP
3535

@@ -45,7 +45,7 @@ menu "ESP Library Utils Configurations"
4545
default 0 if ESP_UTILS_CONF_LOG_IMPL_STDLIB
4646
default 1 if ESP_UTILS_CONF_LOG_IMPL_ESP
4747

48-
choice ESP_UTILS_CONF_LOG_LEVEL
48+
choice ESP_UTILS_CONF_LOG_LEVEL_CHOICE
4949
prompt "Select global log level"
5050
default ESP_UTILS_CONF_LOG_LEVEL_INFO
5151

@@ -126,7 +126,7 @@ menu "ESP Library Utils Configurations"
126126
default 2 if ESP_UTILS_CONF_MEM_GEN_ALLOC_TYPE_MICROPYTHON
127127
default 3 if ESP_UTILS_CONF_MEM_GEN_ALLOC_TYPE_CUSTOM
128128

129-
choice ESP_UTILS_CONF_MEM_GEN_ALLOC_ESP_CAPS
129+
choice ESP_UTILS_CONF_MEM_GEN_ALLOC_ESP_CAPS_CHOICE
130130
prompt "ESP memory caps"
131131
depends on ESP_UTILS_CONF_MEM_GEN_ALLOC_TYPE_ESP
132132
default ESP_UTILS_CONF_MEM_GEN_ALLOC_ESP_CAPS_DEFAULT
@@ -193,7 +193,7 @@ menu "ESP Library Utils Configurations"
193193
default 2 if ESP_UTILS_CONF_MEM_CXX_GLOB_ALLOC_TYPE_MICROPYTHON
194194
default 3 if ESP_UTILS_CONF_MEM_CXX_GLOB_ALLOC_TYPE_CUSTOM
195195

196-
choice ESP_UTILS_CONF_MEM_CXX_GLOB_ALLOC_ESP_CAPS
196+
choice ESP_UTILS_CONF_MEM_CXX_GLOB_ALLOC_ESP_CAPS_CHOICE
197197
prompt "ESP memory caps"
198198
depends on ESP_UTILS_CONF_MEM_CXX_GLOB_ALLOC_TYPE_ESP
199199
default ESP_UTILS_CONF_MEM_CXX_GLOB_ALLOC_ESP_CAPS_DEFAULT

src/esp_utils_conf_kconfig.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
# ifdef CONFIG_ESP_UTILS_CONF_LOG_IMPL_TYPE
2525
# define ESP_UTILS_CONF_LOG_IMPL_TYPE CONFIG_ESP_UTILS_CONF_LOG_IMPL_TYPE
2626
# else
27-
# error "Missing configuration: ESP_UTILS_CONF_LOG_IMPL_TYPE"
27+
# define ESP_UTILS_CONF_LOG_IMPL_TYPE ESP_UTILS_LOG_IMPL_STDLIB
2828
# endif
2929
#endif
3030

src/log/esp_utils_log_helper.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
#include "esp_utils_log.h"
99

10+
#if ESP_UTILS_CONF_LOG_IMPL_TYPE != ESP_UTILS_LOG_IMPL_ESP
1011
/**
1112
* Helper macros to replace ESP-IDF logging functions
1213
*/
@@ -20,3 +21,4 @@
2021
#define ESP_LOGI(TAG, ...) { (void)TAG; ESP_UTILS_LOGI(__VA_ARGS__); }
2122
#define ESP_LOGW(TAG, ...) { (void)TAG; ESP_UTILS_LOGW(__VA_ARGS__); }
2223
#define ESP_LOGE(TAG, ...) { (void)TAG; ESP_UTILS_LOGE(__VA_ARGS__); }
24+
#endif

src/thread/esp_utils_thread.cpp

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,16 @@ void ThreadConfig::dump() const
1818
"\t-core_id(%d)\n"
1919
"\t-priority(%d)\n"
2020
"\t-stack_size(%d)\n"
21-
"\t-stack_in_ext(%s)\n",
22-
(name == nullptr) ? CONFIG_PTHREAD_TASK_NAME_DEFAULT : name,
23-
core_id,
24-
static_cast<int>(priority),
25-
static_cast<int>(stack_size),
26-
stack_in_ext ? "true" : "false"
21+
#if ESP_THREAD_CONFIG_STACK_CAPS_VALID
22+
"\t-stack_in_ext(%s)\n"
23+
#endif
24+
, (name == nullptr) ? CONFIG_PTHREAD_TASK_NAME_DEFAULT : name
25+
, core_id
26+
, static_cast<int>(priority)
27+
, static_cast<int>(stack_size)
28+
#if ESP_THREAD_CONFIG_STACK_CAPS_VALID
29+
, stack_in_ext ? "true" : "false"
30+
#endif
2731
);
2832
}
2933

@@ -42,7 +46,9 @@ thread_config_guard::thread_config_guard(const ThreadConfig &config)
4246
new_cfg.prio = config.priority;
4347
new_cfg.inherit_cfg = false;
4448
new_cfg.pin_to_core = config.core_id;
49+
#if ESP_THREAD_CONFIG_STACK_CAPS_VALID
4550
new_cfg.stack_alloc_caps = (config.stack_in_ext ? MALLOC_CAP_SPIRAM : MALLOC_CAP_INTERNAL) | MALLOC_CAP_8BIT;
51+
#endif
4652

4753
auto err = esp_pthread_set_cfg(&new_cfg);
4854
ESP_UTILS_CHECK_FALSE_EXIT(err == ESP_OK, "Set thread config failed(%s)", esp_err_to_name(err));

src/thread/esp_utils_thread.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
#include "freertos/FreeRTOS.h"
1010
#include "freertos/task.h"
1111

12+
#define ESP_THREAD_CONFIG_STACK_CAPS_VALID (ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 3, 0))
13+
1214
namespace esp_utils {
1315

1416
struct ThreadConfig {
@@ -18,7 +20,9 @@ struct ThreadConfig {
1820
int core_id = (CONFIG_PTHREAD_TASK_CORE_DEFAULT == -1) ? tskNO_AFFINITY : CONFIG_PTHREAD_TASK_CORE_DEFAULT;
1921
size_t priority = CONFIG_PTHREAD_TASK_PRIO_DEFAULT;
2022
size_t stack_size = CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT;
23+
#if ESP_THREAD_CONFIG_STACK_CAPS_VALID
2124
bool stack_in_ext = false;
25+
#endif
2226
};
2327

2428
class thread_config_guard {

test_apps/main/test_on_cpp.cpp

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33
*
44
* SPDX-License-Identifier: CC0-1.0
55
*/
6+
#include <thread>
67
#include <memory>
78
#include "unity.h"
89
#define ESP_UTILS_LOG_TAG "TestCpp"
910
#include "esp_lib_utils.h"
1011
#include "esp_utils_helpers.h"
1112

12-
using namespace std;
13+
using namespace esp_utils;
1314

1415
TEST_CASE("Test log functions on cpp", "[utils][log][CPP]")
1516
{
@@ -47,15 +48,15 @@ TEST_CASE("Test memory functions on cpp", "[utils][memory][CPP]")
4748

4849
std::shared_ptr<TestGoodClass> good_ptr = nullptr;
4950
ESP_UTILS_CHECK_EXCEPTION_GOTO(
50-
(good_ptr = make_shared<TestGoodClass>()), err, "Failed to allocate memory size: %d",
51+
(good_ptr = std::make_shared<TestGoodClass>()), err, "Failed to allocate memory size: %d",
5152
MALLOC_GOOD_SIZE
5253
);
5354
ESP_UTILS_LOGI("Malloced value: %d", good_ptr->buffer[0]);
5455

5556
{
5657
std::shared_ptr<TestBadClass> bad_ptr = nullptr;
5758
ESP_UTILS_CHECK_EXCEPTION_GOTO(
58-
(bad_ptr = make_shared<TestBadClass>()), end, "Failed to allocate memory size: %d", MALLOC_BAD_SIZE
59+
(bad_ptr = std::make_shared<TestBadClass>()), end, "Failed to allocate memory size: %d", MALLOC_BAD_SIZE
5960
);
6061
ESP_UTILS_LOGI("Malloced value: %d", bad_ptr->buffer[0]);
6162
}
@@ -184,3 +185,18 @@ TEST_CASE("Test check functions on cpp", "[utils][check][CPP]")
184185
test_check_null_exit();
185186
TEST_ASSERT(test_check_null_exit_result);
186187
}
188+
189+
TEST_CASE("Test thread functions on cpp", "[utils][thread][CPP]")
190+
{
191+
thread_config_guard guard(ThreadConfig{
192+
.name = "test_thread",
193+
.core_id = 0,
194+
.priority = 5,
195+
.stack_size = 10 * 1024,
196+
});
197+
std::thread([]() {
198+
char buffer[5 * 1024] = { 0 };
199+
sprintf(buffer, "Create thread");
200+
ESP_UTILS_LOGI("%s", buffer);
201+
}).join();
202+
}

0 commit comments

Comments
 (0)