agileRTOS (zrtos)  Version 0.8.0 (ghostbuster)
uart/uart.h File Reference
#include <zrtos/vfs_plugin.h>
#include <zrtos/cbuffer.h>
#include <zrtos/binary.h>
#include <zrtos/types.h>
#include <zrtos/error_count.h>
#include <zrtos/va.h>
#include <zrtos/vfs/module/timeout/timeout.h>
Include dependency graph for uart/uart.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _zrtos_vfs_module_uart_inode_t
 

Typedefs

typedef zrtos_error_t(* zrtos_vfs_module_uart_callback_t) (struct _zrtos_vfs_module_uart_inode_t *args)
 
typedef struct _zrtos_vfs_module_uart_inode_t zrtos_vfs_module_uart_inode_t
 

Enumerations

enum  zrtos_vfs_module_uart_ioctl_t {
  ZRTOS_VFS_MODULE_UART_IOCTL__GET_RX_ERROR_COUNT,
  ZRTOS_VFS_MODULE_UART_IOCTL__GET_TX_ERROR_COUNT
}
 
enum  zrtos_vfs_module_uart_baudrate_t {
  ZRTOS_VFS_MODULE_UART_BAUDRATE__MIN = ZRTOS_TYPES__UINT32_MIN,
  ZRTOS_VFS_MODULE_UART_BAUDRATE__300 = 300,
  ZRTOS_VFS_MODULE_UART_BAUDRATE__600 = 600,
  ZRTOS_VFS_MODULE_UART_BAUDRATE__1200 = 1200,
  ZRTOS_VFS_MODULE_UART_BAUDRATE__2400 = 2400,
  ZRTOS_VFS_MODULE_UART_BAUDRATE__4800 = 4800,
  ZRTOS_VFS_MODULE_UART_BAUDRATE__9600 = 9600,
  ZRTOS_VFS_MODULE_UART_BAUDRATE__14400 = 14400,
  ZRTOS_VFS_MODULE_UART_BAUDRATE__19200 = 19200,
  ZRTOS_VFS_MODULE_UART_BAUDRATE__28800 = 28800,
  ZRTOS_VFS_MODULE_UART_BAUDRATE__38400 = 38400,
  ZRTOS_VFS_MODULE_UART_BAUDRATE__57600 = 57600,
  ZRTOS_VFS_MODULE_UART_BAUDRATE__76800 = 76800,
  ZRTOS_VFS_MODULE_UART_BAUDRATE__115200 = 115200,
  ZRTOS_VFS_MODULE_UART_BAUDRATE__MAX = ZRTOS_TYPES__UINT32_MAX
}
 
enum  zrtos_vfs_module_uart_mode_t {
  ZRTOS_VFS_MODULE_UART_MODE__MIN = ZRTOS_TYPES__UINT8_MIN,
  ZRTOS_VFS_MODULE_UART_MODE__PARITY_DISABLED = ZRTOS_BINARY__00000000,
  ZRTOS_VFS_MODULE_UART_MODE__PARITY_EVEN = ZRTOS_BINARY__00100000,
  ZRTOS_VFS_MODULE_UART_MODE__PARITY_ODD = ZRTOS_BINARY__00110000,
  ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_1 = ZRTOS_BINARY__00000000,
  ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_2 = ZRTOS_BINARY__00001000,
  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_5 = ZRTOS_BINARY__00000000,
  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_6 = ZRTOS_BINARY__00000001,
  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_7 = ZRTOS_BINARY__00000010,
  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_8 = ZRTOS_BINARY__00000011,
  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_9 = ZRTOS_BINARY__00000111,
  ZRTOS_VFS_MODULE_UART_MODE__5N1,
  ZRTOS_VFS_MODULE_UART_MODE__6N1,
  ZRTOS_VFS_MODULE_UART_MODE__7N1,
  ZRTOS_VFS_MODULE_UART_MODE__8N1,
  ZRTOS_VFS_MODULE_UART_MODE__5N2,
  ZRTOS_VFS_MODULE_UART_MODE__6N2,
  ZRTOS_VFS_MODULE_UART_MODE__7N2,
  ZRTOS_VFS_MODULE_UART_MODE__8N2,
  ZRTOS_VFS_MODULE_UART_MODE__5E1,
  ZRTOS_VFS_MODULE_UART_MODE__6E1,
  ZRTOS_VFS_MODULE_UART_MODE__7E1,
  ZRTOS_VFS_MODULE_UART_MODE__8E1,
  ZRTOS_VFS_MODULE_UART_MODE__5E2,
  ZRTOS_VFS_MODULE_UART_MODE__6E2,
  ZRTOS_VFS_MODULE_UART_MODE__7E2,
  ZRTOS_VFS_MODULE_UART_MODE__8E2,
  ZRTOS_VFS_MODULE_UART_MODE__5O1,
  ZRTOS_VFS_MODULE_UART_MODE__6O1,
  ZRTOS_VFS_MODULE_UART_MODE__7O1,
  ZRTOS_VFS_MODULE_UART_MODE__8O1,
  ZRTOS_VFS_MODULE_UART_MODE__5O2,
  ZRTOS_VFS_MODULE_UART_MODE__6O2,
  ZRTOS_VFS_MODULE_UART_MODE__7O2,
  ZRTOS_VFS_MODULE_UART_MODE__8O2,
  ZRTOS_VFS_MODULE_UART_MODE__MAX = ZRTOS_TYPES__UINT8_MAX
}
 

Functions

zrtos_error_t zrtos_vfs_module_uart_inode__callback (zrtos_vfs_module_uart_inode_t *args)
 
bool zrtos_vfs_module_uart_inode__init (zrtos_vfs_module_uart_inode_t *thiz, zrtos_vfs_module_uart_baudrate_t baudrate, zrtos_vfs_module_uart_mode_t mode)
 
zrtos_cbuffer_tzrtos_vfs_module_uart_inode__get_cbuffer_in (zrtos_vfs_module_uart_inode_t *thiz)
 
zrtos_cbuffer_tzrtos_vfs_module_uart_inode__get_cbuffer_out (zrtos_vfs_module_uart_inode_t *thiz)
 
zrtos_vfs_module_uart_baudrate_t zrtos_vfs_module_uart_inode__get_baudrate (zrtos_vfs_module_uart_inode_t *thiz)
 
bool zrtos_vfs_module_uart_inode__is_double_speed (zrtos_vfs_module_uart_inode_t *thiz)
 
zrtos_vfs_module_uart_mode_t zrtos_vfs_module_uart_inode__get_mode (zrtos_vfs_module_uart_inode_t *thiz)
 
zrtos_vfs_module_timeout_microseconds_t zrtos_vfs_module_uart__get_char_transmission_time (zrtos_vfs_module_uart_inode_t *thiz)
 
zrtos_error_t zrtos_vfs_module_uart__on_read (zrtos_vfs_file_t *thiz, char *path, void *buf, size_t len, zrtos_vfs_offset_t offset, size_t *out)
 
zrtos_error_t zrtos_vfs_module_uart__on_write (zrtos_vfs_file_t *thiz, char *path, void *buf, size_t len, zrtos_vfs_offset_t offset, size_t *out)
 
zrtos_error_t zrtos_vfs_module_uart__on_can_read (zrtos_vfs_file_t *thiz)
 
zrtos_error_t zrtos_vfs_module_uart__on_can_write (zrtos_vfs_file_t *thiz)
 
zrtos_error_t zrtos_vfs_module_uart__on_ioctl (zrtos_vfs_file_t *thiz, char *path, int request, va_list args)
 

Typedef Documentation

◆ zrtos_vfs_module_uart_callback_t

typedef zrtos_error_t(* zrtos_vfs_module_uart_callback_t) (struct _zrtos_vfs_module_uart_inode_t *args)

Definition at line 198 of file uart/uart.h.

◆ zrtos_vfs_module_uart_inode_t

Enumeration Type Documentation

◆ zrtos_vfs_module_uart_baudrate_t

Enumerator
ZRTOS_VFS_MODULE_UART_BAUDRATE__MIN 
ZRTOS_VFS_MODULE_UART_BAUDRATE__300 
ZRTOS_VFS_MODULE_UART_BAUDRATE__600 
ZRTOS_VFS_MODULE_UART_BAUDRATE__1200 
ZRTOS_VFS_MODULE_UART_BAUDRATE__2400 
ZRTOS_VFS_MODULE_UART_BAUDRATE__4800 
ZRTOS_VFS_MODULE_UART_BAUDRATE__9600 
ZRTOS_VFS_MODULE_UART_BAUDRATE__14400 
ZRTOS_VFS_MODULE_UART_BAUDRATE__19200 
ZRTOS_VFS_MODULE_UART_BAUDRATE__28800 
ZRTOS_VFS_MODULE_UART_BAUDRATE__38400 
ZRTOS_VFS_MODULE_UART_BAUDRATE__57600 
ZRTOS_VFS_MODULE_UART_BAUDRATE__76800 
ZRTOS_VFS_MODULE_UART_BAUDRATE__115200 
ZRTOS_VFS_MODULE_UART_BAUDRATE__MAX 

Definition at line 30 of file uart/uart.h.

30  {
32 #ifdef ZRTOS_VFS_MODULE_UART__CFG_ENABLE_DOUBLE_SPEED
33  ,ZRTOS_VFS_MODULE_UART_BAUDRATE__DOUBLE_SPEED = 1
34 #endif
48 #ifdef ZRTOS_VFS_MODULE_UART__CFG_ENABLE_DOUBLE_SPEED
49  ,ZRTOS_VFS_MODULE_UART_BAUDRATE__MASK = (~((uint32_t)1))
50 #endif
#define ZRTOS_TYPES__UINT32_MIN
Definition: types.h:185
zrtos_vfs_module_uart_baudrate_t
Definition: uart/uart.h:30
#define ZRTOS_TYPES__UINT32_MAX
Definition: types.h:186

◆ zrtos_vfs_module_uart_ioctl_t

Enumerator
ZRTOS_VFS_MODULE_UART_IOCTL__GET_RX_ERROR_COUNT 
ZRTOS_VFS_MODULE_UART_IOCTL__GET_TX_ERROR_COUNT 

Definition at line 25 of file uart/uart.h.

◆ zrtos_vfs_module_uart_mode_t

Enumerator
ZRTOS_VFS_MODULE_UART_MODE__MIN 
ZRTOS_VFS_MODULE_UART_MODE__PARITY_DISABLED 
ZRTOS_VFS_MODULE_UART_MODE__PARITY_EVEN 
ZRTOS_VFS_MODULE_UART_MODE__PARITY_ODD 
ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_1 
ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_2 
ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_5 
ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_6 
ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_7 
ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_8 
ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_9 
ZRTOS_VFS_MODULE_UART_MODE__5N1 
ZRTOS_VFS_MODULE_UART_MODE__6N1 
ZRTOS_VFS_MODULE_UART_MODE__7N1 
ZRTOS_VFS_MODULE_UART_MODE__8N1 
ZRTOS_VFS_MODULE_UART_MODE__5N2 
ZRTOS_VFS_MODULE_UART_MODE__6N2 
ZRTOS_VFS_MODULE_UART_MODE__7N2 
ZRTOS_VFS_MODULE_UART_MODE__8N2 
ZRTOS_VFS_MODULE_UART_MODE__5E1 
ZRTOS_VFS_MODULE_UART_MODE__6E1 
ZRTOS_VFS_MODULE_UART_MODE__7E1 
ZRTOS_VFS_MODULE_UART_MODE__8E1 
ZRTOS_VFS_MODULE_UART_MODE__5E2 
ZRTOS_VFS_MODULE_UART_MODE__6E2 
ZRTOS_VFS_MODULE_UART_MODE__7E2 
ZRTOS_VFS_MODULE_UART_MODE__8E2 
ZRTOS_VFS_MODULE_UART_MODE__5O1 
ZRTOS_VFS_MODULE_UART_MODE__6O1 
ZRTOS_VFS_MODULE_UART_MODE__7O1 
ZRTOS_VFS_MODULE_UART_MODE__8O1 
ZRTOS_VFS_MODULE_UART_MODE__5O2 
ZRTOS_VFS_MODULE_UART_MODE__6O2 
ZRTOS_VFS_MODULE_UART_MODE__7O2 
ZRTOS_VFS_MODULE_UART_MODE__8O2 
ZRTOS_VFS_MODULE_UART_MODE__MAX 

Definition at line 54 of file uart/uart.h.

54  {
66 
68  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_5
69  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_DISABLED
71  )
73  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_6
74  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_DISABLED
75  | ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_1
76  )
78  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_7
79  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_DISABLED
81  )
83  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_8
84  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_DISABLED
85  | ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_1
86  )
87 
89  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_5
90  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_DISABLED
92  )
94  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_6
95  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_DISABLED
96  | ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_2
97  )
99  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_7
100  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_DISABLED
102  )
104  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_8
105  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_DISABLED
106  | ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_2
107  )
108 
110  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_5
111  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_EVEN
113  )
115  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_6
116  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_EVEN
117  | ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_1
118  )
120  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_7
121  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_EVEN
123  )
125  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_8
126  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_EVEN
127  | ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_1
128  )
129 
131  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_5
132  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_EVEN
134  )
136  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_6
137  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_EVEN
138  | ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_2
139  )
141  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_7
142  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_EVEN
144  )
146  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_8
147  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_EVEN
148  | ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_2
149  )
150 
152  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_5
153  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_ODD
155  )
157  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_6
158  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_ODD
159  | ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_1
160  )
162  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_7
163  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_ODD
165  )
167  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_8
168  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_ODD
169  | ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_1
170  )
171 
173  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_5
174  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_ODD
176  )
178  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_6
179  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_ODD
180  | ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_2
181  )
183  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_7
184  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_ODD
186  )
188  ZRTOS_VFS_MODULE_UART_MODE__CHAR_SIZE_8
189  | ZRTOS_VFS_MODULE_UART_MODE__PARITY_ODD
190  | ZRTOS_VFS_MODULE_UART_MODE__STOP_BITS_2
191  )
192 
#define ZRTOS_TYPES__UINT8_MIN
Definition: types.h:181
#define ZRTOS_BINARY__00000111
Definition: binary.h:54
#define ZRTOS_BINARY__00000011
Definition: binary.h:50
#define ZRTOS_BINARY__00001000
Definition: binary.h:55
#define ZRTOS_BINARY__00000001
Definition: binary.h:48
zrtos_vfs_module_uart_mode_t
Definition: uart/uart.h:54
#define ZRTOS_BINARY__00100000
Definition: binary.h:79
#define ZRTOS_BINARY__00000010
Definition: binary.h:49
#define ZRTOS_BINARY__00110000
Definition: binary.h:95
#define ZRTOS_TYPES__UINT8_MAX
Definition: types.h:182
#define ZRTOS_BINARY__00000000
Definition: binary.h:47

Function Documentation

◆ zrtos_vfs_module_uart__get_char_transmission_time()

zrtos_vfs_module_timeout_microseconds_t zrtos_vfs_module_uart__get_char_transmission_time ( zrtos_vfs_module_uart_inode_t thiz)

Definition at line 282 of file uart/uart.h.

284  {
285  return 11 * 1000000 / (
287  * (
289  ? 2
290  : 1
291  )
292  );
293 }
bool zrtos_vfs_module_uart_inode__is_double_speed(zrtos_vfs_module_uart_inode_t *thiz)
Definition: uart/uart.h:266
zrtos_vfs_module_uart_baudrate_t zrtos_vfs_module_uart_inode__get_baudrate(zrtos_vfs_module_uart_inode_t *thiz)
Definition: uart/uart.h:256
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_uart__on_can_read()

zrtos_error_t zrtos_vfs_module_uart__on_can_read ( zrtos_vfs_file_t thiz)

Definition at line 340 of file uart/uart.h.

342  {
346  thiz
347  )
348  );
349  return zrtos_cbuffer__can_read(&mod->cbuffer_in);
350 }
#define ZRTOS_CAST(type, value)
Definition: cast.h:18
zrtos_error_t zrtos_cbuffer__can_read(zrtos_cbuffer_t *thiz)
Definition: cbuffer.h:373
void * zrtos_vfs_file__get_inode_data(zrtos_vfs_file_t *thiz)
Definition: vfs_file.h:191
zrtos_cbuffer_t cbuffer_in
Definition: uart/uart.h:203
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_uart__on_can_write()

zrtos_error_t zrtos_vfs_module_uart__on_can_write ( zrtos_vfs_file_t thiz)

Definition at line 352 of file uart/uart.h.

354  {
358  thiz
359  )
360  );
362 }
#define ZRTOS_CAST(type, value)
Definition: cast.h:18
void * zrtos_vfs_file__get_inode_data(zrtos_vfs_file_t *thiz)
Definition: vfs_file.h:191
zrtos_cbuffer_t cbuffer_out
Definition: uart/uart.h:204
zrtos_error_t zrtos_cbuffer__can_write(zrtos_cbuffer_t *thiz)
Definition: cbuffer.h:415
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_uart__on_ioctl()

zrtos_error_t zrtos_vfs_module_uart__on_ioctl ( zrtos_vfs_file_t thiz,
char *  path,
int  request,
va_list  args 
)

Definition at line 364 of file uart/uart.h.

369  {
374  thiz
375  )
376  );
377  zrtos_error_count_t **out;
378 
379  switch(ZRTOS_CAST(
381  ,request
382  )){
384  out = zrtos_va__arg_ptr(
385  args
387  );
388  *out = &mod->rx_error_count;
389  break;
391  out = zrtos_va__arg_ptr(
392  args
394  );
395  *out = &mod->tx_error_count;
396  break;
397  default:
398  ret = ZRTOS_ERROR__INVAL;
399  break;
400  }
401 
402  return ret;
403 }
#define ZRTOS_CAST(type, value)
Definition: cast.h:18
zrtos_vfs_module_uart_ioctl_t
Definition: uart/uart.h:25
zrtos_error_count_t rx_error_count
Definition: uart/uart.h:205
void * zrtos_vfs_file__get_inode_data(zrtos_vfs_file_t *thiz)
Definition: vfs_file.h:191
Successful program execution status.
Definition: error.h:22
#define zrtos_va__arg_ptr(ap, type)
Definition: va.h:26
Invalid argument.
Definition: error.h:46
zrtos_error_t
Definition: error.h:20
zrtos_error_count_t tx_error_count
Definition: uart/uart.h:206
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_uart__on_read()

zrtos_error_t zrtos_vfs_module_uart__on_read ( zrtos_vfs_file_t thiz,
char *  path,
void *  buf,
size_t  len,
zrtos_vfs_offset_t  offset,
size_t out 
)

Definition at line 295 of file uart/uart.h.

302  {
306  thiz
307  )
308  );
309  return zrtos_cbuffer__get_ex(
310  &mod->cbuffer_in
311  ,buf
312  ,len
313  ,out
314  );
315 }
#define ZRTOS_CAST(type, value)
Definition: cast.h:18
zrtos_error_t zrtos_cbuffer__get_ex(zrtos_cbuffer_t *thiz, void *data, size_t len, size_t *outlen)
Definition: cbuffer.h:336
void * zrtos_vfs_file__get_inode_data(zrtos_vfs_file_t *thiz)
Definition: vfs_file.h:191
zrtos_cbuffer_t cbuffer_in
Definition: uart/uart.h:203
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_uart__on_write()

zrtos_error_t zrtos_vfs_module_uart__on_write ( zrtos_vfs_file_t thiz,
char *  path,
void *  buf,
size_t  len,
zrtos_vfs_offset_t  offset,
size_t out 
)

Definition at line 317 of file uart/uart.h.

324  {
328  thiz
329  )
330  );
331  return zrtos_cbuffer__put_ex(
332  &mod->cbuffer_out
333  ,1
334  ,out
335  ,buf
336  ,len
337  );
338 }
#define ZRTOS_CAST(type, value)
Definition: cast.h:18
void * zrtos_vfs_file__get_inode_data(zrtos_vfs_file_t *thiz)
Definition: vfs_file.h:191
zrtos_cbuffer_t cbuffer_out
Definition: uart/uart.h:204
zrtos_error_t zrtos_cbuffer__put_ex(zrtos_cbuffer_t *thiz, size_t len, size_t *outlen,...)
Definition: cbuffer.h:278
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zrtos_vfs_module_uart_inode__callback()

zrtos_error_t zrtos_vfs_module_uart_inode__callback ( zrtos_vfs_module_uart_inode_t args)

Definition at line 214 of file uart/uart.h.

214  {
215  return ZRTOS_ERROR__SUCCESS;
216 }
Successful program execution status.
Definition: error.h:22
Here is the caller graph for this function:

◆ zrtos_vfs_module_uart_inode__get_baudrate()

zrtos_vfs_module_uart_baudrate_t zrtos_vfs_module_uart_inode__get_baudrate ( zrtos_vfs_module_uart_inode_t thiz)

Definition at line 256 of file uart/uart.h.

258  {
259 #ifdef ZRTOS_VFS_MODULE_UART__CFG_ENABLE_DOUBLE_SPEED
260  return thiz->baudrate & ZRTOS_VFS_MODULE_UART_BAUDRATE__MASK;
261 #else
262  return thiz->baudrate;
263 #endif
264 }
zrtos_vfs_module_uart_baudrate_t baudrate
Definition: uart/uart.h:207
Here is the caller graph for this function:

◆ zrtos_vfs_module_uart_inode__get_cbuffer_in()

zrtos_cbuffer_t* zrtos_vfs_module_uart_inode__get_cbuffer_in ( zrtos_vfs_module_uart_inode_t thiz)

Definition at line 244 of file uart/uart.h.

246  {
247  return &thiz->cbuffer_in;
248 }
zrtos_cbuffer_t cbuffer_in
Definition: uart/uart.h:203
Here is the caller graph for this function:

◆ zrtos_vfs_module_uart_inode__get_cbuffer_out()

zrtos_cbuffer_t* zrtos_vfs_module_uart_inode__get_cbuffer_out ( zrtos_vfs_module_uart_inode_t thiz)

Definition at line 250 of file uart/uart.h.

252  {
253  return &thiz->cbuffer_out;
254 }
zrtos_cbuffer_t cbuffer_out
Definition: uart/uart.h:204
Here is the caller graph for this function:

◆ zrtos_vfs_module_uart_inode__get_mode()

zrtos_vfs_module_uart_mode_t zrtos_vfs_module_uart_inode__get_mode ( zrtos_vfs_module_uart_inode_t thiz)

Definition at line 276 of file uart/uart.h.

278  {
279  return thiz->mode;
280 }
zrtos_vfs_module_uart_mode_t mode
Definition: uart/uart.h:208

◆ zrtos_vfs_module_uart_inode__init()

bool zrtos_vfs_module_uart_inode__init ( zrtos_vfs_module_uart_inode_t thiz,
zrtos_vfs_module_uart_baudrate_t  baudrate,
zrtos_vfs_module_uart_mode_t  mode 
)

Definition at line 218 of file uart/uart.h.

222  {
223  thiz->baudrate = baudrate;
224  thiz->mode = mode;
227 
230  if(zrtos_cbuffer__init(&thiz->cbuffer_in)){
231  if(zrtos_cbuffer__init(&thiz->cbuffer_out)){
232  return true;
233  }
235  }
237  }
239  }
240 
241  return false;
242 }
zrtos_vfs_module_uart_baudrate_t baudrate
Definition: uart/uart.h:207
zrtos_vfs_module_uart_callback_t on_send
Definition: uart/uart.h:209
zrtos_vfs_module_uart_mode_t mode
Definition: uart/uart.h:208
void zrtos_cbuffer__deinit(zrtos_cbuffer_t *thiz)
Definition: cbuffer.h:140
bool zrtos_error_count__init(zrtos_error_count_t *thiz)
Definition: error_count.h:20
zrtos_error_count_t rx_error_count
Definition: uart/uart.h:205
zrtos_vfs_module_uart_callback_t on_recv
Definition: uart/uart.h:210
zrtos_cbuffer_t cbuffer_out
Definition: uart/uart.h:204
zrtos_error_t zrtos_vfs_module_uart_inode__callback(zrtos_vfs_module_uart_inode_t *args)
Definition: uart/uart.h:214
zrtos_cbuffer_t cbuffer_in
Definition: uart/uart.h:203
bool zrtos_cbuffer__init(zrtos_cbuffer_t *thiz)
Definition: cbuffer.h:115
void zrtos_error_count__deinit(zrtos_error_count_t *thiz)
Definition: error_count.h:26
zrtos_error_count_t tx_error_count
Definition: uart/uart.h:206
Here is the call graph for this function:

◆ zrtos_vfs_module_uart_inode__is_double_speed()

bool zrtos_vfs_module_uart_inode__is_double_speed ( zrtos_vfs_module_uart_inode_t thiz)

Definition at line 266 of file uart/uart.h.

268  {
269 #ifdef ZRTOS_VFS_MODULE_UART__CFG_ENABLE_DOUBLE_SPEED
270  return (thiz->baudrate & ZRTOS_VFS_MODULE_UART_BAUDRATE__DOUBLE_SPEED) > 0;
271 #else
272  return false;
273 #endif
274 }
zrtos_vfs_module_uart_baudrate_t baudrate
Definition: uart/uart.h:207
Here is the caller graph for this function: