5151// Application API (Multiple Interfaces)
5252// CFG_TUD_CDC > 1
5353//--------------------------------------------------------------------+
54- bool tud_cdc_n_connected (uint8_t itf );
55- uint8_t tud_cdc_n_get_line_state (uint8_t itf );
56- void tud_cdc_n_get_line_coding (uint8_t itf , cdc_line_coding_t * coding );
57- void tud_cdc_n_set_wanted_char (uint8_t itf , char wanted );
58-
59- uint32_t tud_cdc_n_available (uint8_t itf );
60- int32_t tud_cdc_n_read_char (uint8_t itf );
61- uint32_t tud_cdc_n_read (uint8_t itf , void * buffer , uint32_t bufsize );
62- void tud_cdc_n_read_flush (uint8_t itf );
63- int32_t tud_cdc_n_peek (uint8_t itf , int pos );
64-
65- uint32_t tud_cdc_n_write_char (uint8_t itf , char ch );
66- uint32_t tud_cdc_n_write (uint8_t itf , void const * buffer , uint32_t bufsize );
67- uint32_t tud_cdc_n_write_str (uint8_t itf , char const * str );
68- bool tud_cdc_n_write_flush (uint8_t itf );
69- uint32_t tud_cdc_n_write_available (uint8_t itf );
54+ bool tud_cdc_n_connected (uint8_t itf );
55+ uint8_t tud_cdc_n_get_line_state (uint8_t itf );
56+ void tud_cdc_n_get_line_coding (uint8_t itf , cdc_line_coding_t * coding );
57+ void tud_cdc_n_set_wanted_char (uint8_t itf , char wanted );
58+
59+ uint32_t tud_cdc_n_available (uint8_t itf );
60+ uint32_t tud_cdc_n_read (uint8_t itf , void * buffer , uint32_t bufsize );
61+ void tud_cdc_n_read_flush (uint8_t itf );
62+ bool tud_cdc_n_peek (uint8_t itf , int pos , uint8_t * u8 );
63+ static inline int32_t tud_cdc_n_read_char (uint8_t itf );
64+
65+ uint32_t tud_cdc_n_write (uint8_t itf , void const * buffer , uint32_t bufsize );
66+ bool tud_cdc_n_write_flush (uint8_t itf );
67+ uint32_t tud_cdc_n_write_available (uint8_t itf );
68+ static inline uint32_t tud_cdc_n_write_char (uint8_t itf , char ch );
69+ static inline uint32_t tud_cdc_n_write_str (uint8_t itf , char const * str );
7070
7171//--------------------------------------------------------------------+
7272// Application API (Interface0)
7373//--------------------------------------------------------------------+
74- static inline bool tud_cdc_connected (void );
75- static inline uint8_t tud_cdc_get_line_state (void );
76- static inline void tud_cdc_get_line_coding (cdc_line_coding_t * coding );
77- static inline void tud_cdc_set_wanted_char (char wanted );
78-
79- static inline uint32_t tud_cdc_available (void );
80- static inline int32_t tud_cdc_read_char (void );
81- static inline uint32_t tud_cdc_read (void * buffer , uint32_t bufsize );
82- static inline void tud_cdc_read_flush (void );
83- static inline int32_t tud_cdc_peek (int pos );
84-
85- static inline uint32_t tud_cdc_write_char (char ch );
86- static inline uint32_t tud_cdc_write (void const * buffer , uint32_t bufsize );
87- static inline uint32_t tud_cdc_write_str (char const * str );
88- static inline bool tud_cdc_write_flush (void );
89- static inline uint32_t tud_cdc_write_available (void );
74+ static inline bool tud_cdc_connected (void );
75+ static inline uint8_t tud_cdc_get_line_state (void );
76+ static inline void tud_cdc_get_line_coding (cdc_line_coding_t * coding );
77+ static inline void tud_cdc_set_wanted_char (char wanted );
78+
79+ static inline uint32_t tud_cdc_available (void );
80+ static inline int32_t tud_cdc_read_char (void );
81+ static inline uint32_t tud_cdc_read (void * buffer , uint32_t bufsize );
82+ static inline void tud_cdc_read_flush (void );
83+ static inline bool tud_cdc_peek (int pos , uint8_t * u8 );
84+
85+ static inline uint32_t tud_cdc_write_char (char ch );
86+ static inline uint32_t tud_cdc_write (void const * buffer , uint32_t bufsize );
87+ static inline uint32_t tud_cdc_write_str (char const * str );
88+ static inline bool tud_cdc_write_flush (void );
89+ static inline uint32_t tud_cdc_write_available (void );
9090
9191//--------------------------------------------------------------------+
9292// Application Callback API (weak is optional)
@@ -107,6 +107,22 @@ TU_ATTR_WEAK void tud_cdc_line_coding_cb(uint8_t itf, cdc_line_coding_t const* p
107107//--------------------------------------------------------------------+
108108// Inline Functions
109109//--------------------------------------------------------------------+
110+ static inline int32_t tud_cdc_n_read_char (uint8_t itf )
111+ {
112+ uint8_t ch ;
113+ return tud_cdc_n_read (itf , & ch , 1 ) ? (int32_t ) ch : -1 ;
114+ }
115+
116+ static inline uint32_t tud_cdc_n_write_char (uint8_t itf , char ch )
117+ {
118+ return tud_cdc_n_write (itf , & ch , 1 );
119+ }
120+
121+ static inline uint32_t tud_cdc_n_write_str (uint8_t itf , char const * str )
122+ {
123+ return tud_cdc_n_write (itf , str , strlen (str ));
124+ }
125+
110126static inline bool tud_cdc_connected (void )
111127{
112128 return tud_cdc_n_connected (0 );
@@ -147,9 +163,9 @@ static inline void tud_cdc_read_flush (void)
147163 tud_cdc_n_read_flush (0 );
148164}
149165
150- static inline int32_t tud_cdc_peek (int pos )
166+ static inline bool tud_cdc_peek (int pos , uint8_t * u8 )
151167{
152- return tud_cdc_n_peek (0 , pos );
168+ return tud_cdc_n_peek (0 , pos , u8 );
153169}
154170
155171static inline uint32_t tud_cdc_write_char (char ch )
0 commit comments