nRF Connect SDK API
0.1.0
Loading...
Searching...
No Matches
macros_common.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2018 Nordic Semiconductor ASA
3
*
4
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5
*/
6
7
#ifndef _MACROS_H_
8
#define _MACROS_H_
9
10
#include <errno.h>
11
12
/* Error check. If != 0, print err code and call _SysFatalErrorHandler in main.
13
* For debug mode all LEDs are turned on in case of an error.
14
*/
15
16
#define PRINT_AND_OOPS(code) \
17
do { \
18
LOG_ERR("ERR_CHK Err_code: [%d] @ line: %d\t"
, code, __LINE__); \
19
k_oops(); \
20
} while (0)
21
22
#define ERR_CHK(err_code) \
23
do { \
24
if (err_code) { \
25
PRINT_AND_OOPS(err_code); \
26
} \
27
} while (0)
28
29
#define ERR_CHK_MSG(err_code, msg) \
30
do { \
31
if (err_code) { \
32
LOG_ERR("%s"
, msg); \
33
PRINT_AND_OOPS(err_code); \
34
} \
35
} while (0)
36
37
#if (defined(CONFIG_INIT_STACKS) && defined(CONFIG_THREAD_ANALYZER))
38
39
#define STACK_USAGE_PRINT(thread_name, p_thread) \
40
do { \
41
static uint64_t thread_ts; \
42
size_t unused_space_in_thread_bytes; \
43
if (k_uptime_get() - thread_ts > CONFIG_PRINT_STACK_USAGE_MS) { \
44
k_thread_stack_space_get(p_thread, &unused_space_in_thread_bytes); \
45
thread_ts = k_uptime_get(); \
46
LOG_DBG("Unused space in %s thread: %d bytes"
, thread_name, \
47
unused_space_in_thread_bytes); \
48
} \
49
} while (0)
50
#else
51
#define STACK_USAGE_PRINT(thread_name, p_stack)
52
#endif
/* (defined(CONFIG_INIT_STACKS) && defined(CONFIG_THREAD_ANALYZER)) */
53
54
#ifndef MIN
55
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
56
#endif
/* MIN */
57
58
#define COLOR_BLACK "\x1B[0;30m"
59
#define COLOR_RED "\x1B[0;31m"
60
#define COLOR_GREEN "\x1B[0;32m"
61
#define COLOR_YELLOW "\x1B[0;33m"
62
#define COLOR_BLUE "\x1B[0;34m"
63
#define COLOR_MAGENTA "\x1B[0;35m"
64
#define COLOR_CYAN "\x1B[0;36m"
65
#define COLOR_WHITE "\x1B[0;37m"
66
67
#define COLOR_RESET "\x1b[0m"
68
69
#define BIT_SET(REG, BIT) ((REG) |= (BIT))
70
#define BIT_CLEAR(REG, BIT) ((REG) &= ~(BIT))
71
72
#endif
/* _MACROS_H_ */
applications
nrf5340_audio
src
utils
macros
macros_common.h
Generated on Thu Sep 26 2024 10:53:16 for nRF Connect SDK API by
1.9.6