9#ifndef ZEPHYR_INCLUDE_DRIVERS_CONSOLE_IPM_CONSOLE_H_
10#define ZEPHYR_INCLUDE_DRIVERS_CONSOLE_IPM_CONSOLE_H_
20#define IPM_CONSOLE_STDOUT (BIT(0))
21#define IPM_CONSOLE_PRINTK (BIT(1))
27#define IPM_CONSOLE_STACK_SIZE CONFIG_IPM_CONSOLE_STACK_SIZE
28#define IPM_CONSOLE_PRI 2
96#if CONFIG_IPM_CONSOLE_RECEIVER
97int ipm_console_receiver_init(
const struct device *
d);
100#if CONFIG_IPM_CONSOLE_SENDER
101int ipm_console_sender_init(
const struct device *
d);
struct z_thread_stack_element k_thread_stack_t
Typedef of struct z_thread_stack_element.
Definition: arch_interface.h:45
irp nz macro MOVR cc d
Definition: asm-macro-32-bit-gnu.h:11
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
Runtime device structure (in ROM) per driver instance.
Definition: device.h:399
Definition: ipm_console.h:30
unsigned int rb_size32
Size of ring_buf_data in 32-bit chunks.
Definition: ipm_console.h:47
char * line_buf
Line buffer for incoming messages, characters accumulate here and then are sent to printk() once full...
Definition: ipm_console.h:54
k_thread_stack_t * thread_stack
Stack for the receiver's thread, which prints out messages as they come in.
Definition: ipm_console.h:38
uint32_t * ring_buf_data
Ring buffer data area for stashing characters from the interrupt callback.
Definition: ipm_console.h:44
unsigned int flags
Destination for received console messages, one of IPM_CONSOLE_STDOUT or IPM_CONSOLE_PRINTK.
Definition: ipm_console.h:63
char * bind_to
Name of the low-level IPM driver to bind to.
Definition: ipm_console.h:32
unsigned int lb_size
Size in bytes of the line buffer.
Definition: ipm_console.h:57
Definition: ipm_console.h:66
const struct device * ipm_device
pointer to the bound low-level IPM device
Definition: ipm_console.h:74
int channel_disabled
Indicator that the channel is temporarily disabled due to full buffer.
Definition: ipm_console.h:79
struct k_sem sem
Semaphore to wake up the thread to print out messages.
Definition: ipm_console.h:71
struct k_thread rx_thread
Receiver worker thread.
Definition: ipm_console.h:82
struct ring_buf rb
Buffer for received bytes from the low-level IPM device.
Definition: ipm_console.h:68
Definition: ipm_console.h:85
int flags
Source of messages to forward, hooks will be installed.
Definition: ipm_console.h:93
char * bind_to
Name of the low-level driver to bind to.
Definition: ipm_console.h:87
Thread Structure.
Definition: thread.h:259
A structure to represent a ring buffer.
Definition: ring_buffer.h:41