51
51
// Application API (Multiple Interfaces)
52
52
// CFG_TUD_CDC > 1
53
53
//--------------------------------------------------------------------+
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
- signed char 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
- signed char 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 );
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 );
69
70
70
71
//--------------------------------------------------------------------+
71
72
// Application API (Interface0)
72
73
//--------------------------------------------------------------------+
73
- static inline bool tud_cdc_connected (void );
74
- static inline uint8_t tud_cdc_get_line_state (void );
75
- static inline void tud_cdc_get_line_coding (cdc_line_coding_t * coding );
76
- static inline void tud_cdc_set_wanted_char (char wanted );
77
-
78
- static inline uint32_t tud_cdc_available (void );
79
- static inline signed char tud_cdc_read_char (void );
80
- static inline uint32_t tud_cdc_read (void * buffer , uint32_t bufsize );
81
- static inline void tud_cdc_read_flush (void );
82
- static inline signed char tud_cdc_peek (int pos );
83
-
84
- static inline uint32_t tud_cdc_write_char (char ch );
85
- static inline uint32_t tud_cdc_write (void const * buffer , uint32_t bufsize );
86
- static inline uint32_t tud_cdc_write_str (char const * str );
87
- static inline bool tud_cdc_write_flush (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 );
88
90
89
91
//--------------------------------------------------------------------+
90
92
// Application Callback API (weak is optional)
@@ -105,6 +107,22 @@ TU_ATTR_WEAK void tud_cdc_line_coding_cb(uint8_t itf, cdc_line_coding_t const* p
105
107
//--------------------------------------------------------------------+
106
108
// Inline Functions
107
109
//--------------------------------------------------------------------+
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
+
108
126
static inline bool tud_cdc_connected (void )
109
127
{
110
128
return tud_cdc_n_connected (0 );
@@ -130,7 +148,7 @@ static inline uint32_t tud_cdc_available (void)
130
148
return tud_cdc_n_available (0 );
131
149
}
132
150
133
- static inline signed char tud_cdc_read_char (void )
151
+ static inline int32_t tud_cdc_read_char (void )
134
152
{
135
153
return tud_cdc_n_read_char (0 );
136
154
}
@@ -145,9 +163,9 @@ static inline void tud_cdc_read_flush (void)
145
163
tud_cdc_n_read_flush (0 );
146
164
}
147
165
148
- static inline signed char tud_cdc_peek (int pos )
166
+ static inline bool tud_cdc_peek (int pos , uint8_t * u8 )
149
167
{
150
- return tud_cdc_n_peek (0 , pos );
168
+ return tud_cdc_n_peek (0 , pos , u8 );
151
169
}
152
170
153
171
static inline uint32_t tud_cdc_write_char (char ch )
@@ -170,18 +188,23 @@ static inline bool tud_cdc_write_flush (void)
170
188
return tud_cdc_n_write_flush (0 );
171
189
}
172
190
191
+ static inline uint32_t tud_cdc_write_available (void )
192
+ {
193
+ return tud_cdc_n_write_available (0 );
194
+ }
195
+
173
196
/** @} */
174
197
/** @} */
175
198
176
199
//--------------------------------------------------------------------+
177
200
// INTERNAL USBD-CLASS DRIVER API
178
201
//--------------------------------------------------------------------+
179
- void cdcd_init (void );
180
- bool cdcd_open (uint8_t rhport , tusb_desc_interface_t const * p_interface_desc , uint16_t * p_length );
181
- bool cdcd_control_request (uint8_t rhport , tusb_control_request_t const * p_request );
182
- bool cdcd_control_request_complete (uint8_t rhport , tusb_control_request_t const * p_request );
183
- bool cdcd_xfer_cb (uint8_t rhport , uint8_t ep_addr , xfer_result_t result , uint32_t xferred_bytes );
184
- void cdcd_reset ( uint8_t rhport );
202
+ void cdcd_init (void );
203
+ void cdcd_reset (uint8_t rhport );
204
+ bool cdcd_open (uint8_t rhport , tusb_desc_interface_t const * itf_desc , uint16_t * p_length );
205
+ bool cdcd_control_request (uint8_t rhport , tusb_control_request_t const * request );
206
+ bool cdcd_control_complete (uint8_t rhport , tusb_control_request_t const * request );
207
+ bool cdcd_xfer_cb ( uint8_t rhport , uint8_t ep_addr , xfer_result_t result , uint32_t xferred_bytes );
185
208
186
209
#ifdef __cplusplus
187
210
}
0 commit comments