Skip to content

Commit 5f5ac58

Browse files
committed
update tinyusb
- add tud_vendor_peek() - change tud_cdc_peek() API to be consistent with tud_vendor_peek()
1 parent 475c0f9 commit 5f5ac58

File tree

5 files changed

+79
-74
lines changed

5 files changed

+79
-74
lines changed

cores/nRF5/Adafruit_TinyUSB_Core/tinyusb/src/class/cdc/cdc_device.c

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -121,23 +121,16 @@ uint32_t tud_cdc_n_available(uint8_t itf)
121121
return tu_fifo_count(&_cdcd_itf[itf].rx_ff);
122122
}
123123

124-
int32_t tud_cdc_n_read_char(uint8_t itf)
125-
{
126-
unsigned char ch;
127-
return tud_cdc_n_read(itf, &ch, 1) ? ch : (-1);
128-
}
129-
130124
uint32_t tud_cdc_n_read(uint8_t itf, void* buffer, uint32_t bufsize)
131125
{
132126
uint32_t num_read = tu_fifo_read_n(&_cdcd_itf[itf].rx_ff, buffer, bufsize);
133127
_prep_out_transaction(itf);
134128
return num_read;
135129
}
136130

137-
int32_t tud_cdc_n_peek(uint8_t itf, int pos)
131+
bool tud_cdc_n_peek(uint8_t itf, int pos, uint8_t* chr)
138132
{
139-
unsigned char ch;
140-
return tu_fifo_peek_at(&_cdcd_itf[itf].rx_ff, pos, &ch) ? ch : (-1);
133+
return tu_fifo_peek_at(&_cdcd_itf[itf].rx_ff, pos, chr);
141134
}
142135

143136
void tud_cdc_n_read_flush (uint8_t itf)
@@ -149,17 +142,6 @@ void tud_cdc_n_read_flush (uint8_t itf)
149142
//--------------------------------------------------------------------+
150143
// WRITE API
151144
//--------------------------------------------------------------------+
152-
153-
uint32_t tud_cdc_n_write_char(uint8_t itf, char ch)
154-
{
155-
return tud_cdc_n_write(itf, &ch, 1);
156-
}
157-
158-
uint32_t tud_cdc_n_write_str (uint8_t itf, char const* str)
159-
{
160-
return tud_cdc_n_write(itf, str, strlen(str));
161-
}
162-
163145
uint32_t tud_cdc_n_write(uint8_t itf, void const* buffer, uint32_t bufsize)
164146
{
165147
uint16_t ret = tu_fifo_write_n(&_cdcd_itf[itf].tx_ff, buffer, bufsize);

cores/nRF5/Adafruit_TinyUSB_Core/tinyusb/src/class/cdc/cdc_device.h

Lines changed: 50 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -51,42 +51,42 @@
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+
110126
static 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

155171
static inline uint32_t tud_cdc_write_char (char ch)

cores/nRF5/Adafruit_TinyUSB_Core/tinyusb/src/class/vendor/vendor_device.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ CFG_TUSB_MEM_SECTION static vendord_interface_t _vendord_itf[CFG_TUD_VENDOR];
6262
#define ITF_MEM_RESET_SIZE offsetof(vendord_interface_t, rx_ff)
6363

6464

65-
6665
bool tud_vendor_n_mounted (uint8_t itf)
6766
{
6867
return _vendord_itf[itf].ep_in && _vendord_itf[itf].ep_out;
@@ -73,6 +72,11 @@ uint32_t tud_vendor_n_available (uint8_t itf)
7372
return tu_fifo_count(&_vendord_itf[itf].rx_ff);
7473
}
7574

75+
bool tud_vendor_n_peek(uint8_t itf, int pos, uint8_t* u8)
76+
{
77+
return tu_fifo_peek_at(&_vendord_itf[itf].rx_ff, pos, u8);
78+
}
79+
7680
//--------------------------------------------------------------------+
7781
// Read API
7882
//--------------------------------------------------------------------+

cores/nRF5/Adafruit_TinyUSB_Core/tinyusb/src/class/vendor/vendor_device.h

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -34,36 +34,31 @@
3434
#define CFG_TUD_VENDOR_EPSIZE 64
3535
#endif
3636

37-
#ifndef CFG_TUD_VENDOR_RX_BUFSIZE
38-
#define CFG_TUD_VENDOR_RX_BUFSIZE 0
39-
#endif
40-
41-
#ifndef CFG_TUD_VENDOR_TX_BUFSIZE
42-
#define CFG_TUD_VENDOR_TX_BUFSIZE 0
43-
#endif
44-
4537
#ifdef __cplusplus
4638
extern "C" {
4739
#endif
4840

4941
//--------------------------------------------------------------------+
5042
// Application API (Multiple Interfaces)
5143
//--------------------------------------------------------------------+
52-
bool tud_vendor_n_mounted (uint8_t itf);
53-
uint32_t tud_vendor_n_available (uint8_t itf);
54-
uint32_t tud_vendor_n_read (uint8_t itf, void* buffer, uint32_t bufsize);
55-
uint32_t tud_vendor_n_write (uint8_t itf, void const* buffer, uint32_t bufsize);
44+
bool tud_vendor_n_mounted (uint8_t itf);
45+
uint32_t tud_vendor_n_available (uint8_t itf);
46+
uint32_t tud_vendor_n_read (uint8_t itf, void* buffer, uint32_t bufsize);
47+
bool tud_vendor_n_peek (uint8_t itf, int pos, uint8_t* u8);
48+
uint32_t tud_vendor_n_write (uint8_t itf, void const* buffer, uint32_t bufsize);
5649

57-
static inline uint32_t tud_vendor_n_write_str (uint8_t itf, char const* str);
50+
static inline
51+
uint32_t tud_vendor_n_write_str (uint8_t itf, char const* str);
5852

5953
//--------------------------------------------------------------------+
6054
// Application API (Single Port)
6155
//--------------------------------------------------------------------+
62-
static inline bool tud_vendor_mounted (void);
63-
static inline uint32_t tud_vendor_available (void);
64-
static inline uint32_t tud_vendor_read (void* buffer, uint32_t bufsize);
65-
static inline uint32_t tud_vendor_write (void const* buffer, uint32_t bufsize);
66-
static inline uint32_t tud_vendor_write_str (char const* str);
56+
static inline bool tud_vendor_mounted (void);
57+
static inline uint32_t tud_vendor_available (void);
58+
static inline uint32_t tud_vendor_read (void* buffer, uint32_t bufsize);
59+
static inline bool tud_vendor_peek (int pos, uint8_t* u8);
60+
static inline uint32_t tud_vendor_write (void const* buffer, uint32_t bufsize);
61+
static inline uint32_t tud_vendor_write_str (char const* str);
6762

6863
//--------------------------------------------------------------------+
6964
// Application Callback API (weak is optional)
@@ -96,6 +91,11 @@ static inline uint32_t tud_vendor_read (void* buffer, uint32_t bufsize)
9691
return tud_vendor_n_read(0, buffer, bufsize);
9792
}
9893

94+
static inline bool tud_vendor_peek (int pos, uint8_t* u8)
95+
{
96+
return tud_vendor_n_peek(0, pos, u8);
97+
}
98+
9999
static inline uint32_t tud_vendor_write (void const* buffer, uint32_t bufsize)
100100
{
101101
return tud_vendor_n_write(0, buffer, bufsize);

cores/nRF5/Adafruit_TinyUSB_Core/tinyusb/src/device/usbd.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,6 @@ TU_ATTR_WEAK bool tud_vendor_control_complete_cb(uint8_t rhport, tusb_control_re
133133
0x8B, 0xFD, 0xA0, 0x76, 0x88, 0x15, 0xB6, 0x65
134134

135135
//------------- Microsoft OS 2.0 Platform -------------//
136-
137136
#define TUD_BOS_MICROSOFT_OS_DESC_LEN 28
138137

139138
// Total Length of descriptor set, vendor code
@@ -144,6 +143,10 @@ TU_ATTR_WEAK bool tud_vendor_control_complete_cb(uint8_t rhport, tusb_control_re
144143
0xDF, 0x60, 0xDD, 0xD8, 0x89, 0x45, 0xC7, 0x4C, \
145144
0x9C, 0xD2, 0x65, 0x9D, 0x9E, 0x64, 0x8A, 0x9F
146145

146+
//------------- WebUSB URL -------------//
147+
// used to init tusb_desc_webusb_url_t
148+
#define TUD_WEBUSB_URL_DESCRIPTOR(_scheme, _url) \
149+
{ 3 + sizeof(_url) - 1, 3, _scheme, _url }
147150

148151
//--------------------------------------------------------------------+
149152
// Configuration & Interface Descriptor Templates

0 commit comments

Comments
 (0)