Line data Source code
1 0 : /*
2 : * Copyright (c) 2018 Makaio GmbH
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : #ifndef ZEPHYR_INCLUDE_SHELL_RTT_H_
8 : #define ZEPHYR_INCLUDE_SHELL_RTT_H_
9 :
10 : #include <zephyr/shell/shell.h>
11 :
12 : #ifdef __cplusplus
13 : extern "C" {
14 : #endif
15 :
16 0 : extern const struct shell_transport_api shell_rtt_transport_api;
17 :
18 0 : struct shell_rtt {
19 0 : shell_transport_handler_t handler;
20 0 : struct k_timer timer;
21 0 : void *context;
22 : };
23 :
24 0 : #define SHELL_RTT_DEFINE(_name) \
25 : static struct shell_rtt _name##_shell_rtt; \
26 : struct shell_transport _name = { \
27 : .api = &shell_rtt_transport_api, \
28 : .ctx = (struct shell_rtt *)&_name##_shell_rtt \
29 : }
30 :
31 : /**
32 : * @brief Function provides pointer to shell rtt backend instance.
33 : *
34 : * Function returns pointer to the shell rtt instance. This instance can be
35 : * next used with shell_execute_cmd function in order to test commands behavior.
36 : *
37 : * @returns Pointer to the shell instance.
38 : */
39 1 : const struct shell *shell_backend_rtt_get_ptr(void);
40 : #ifdef __cplusplus
41 : }
42 : #endif
43 :
44 : #endif /* ZEPHYR_INCLUDE_SHELL_RTT_H_ */
|