Skip to content

Commit 1465a9b

Browse files
committed
make vendor_read_* API() is only available when CFG_TUD_VENDOR_RX_BUFSIZE > 0
vendor_write_flush() and write_available() only available when CFG_TUD_VENDOR_TX_BUFSIZE > 0
1 parent 9a9bf0f commit 1465a9b

File tree

4 files changed

+15
-11
lines changed

4 files changed

+15
-11
lines changed

src/class/vendor/vendor_device.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ bool tud_vendor_n_mounted(uint8_t idx) {
103103
//--------------------------------------------------------------------+
104104
// Read API
105105
//--------------------------------------------------------------------+
106+
#if CFG_TUD_VENDOR_RX_BUFSIZE > 0
106107
uint32_t tud_vendor_n_available(uint8_t idx) {
107108
TU_VERIFY(idx < CFG_TUD_VENDOR, 0);
108109
vendord_interface_t *p_itf = &_vendord_itf[idx];
@@ -133,6 +134,7 @@ void tud_vendor_n_read_flush(uint8_t idx) {
133134
tu_edpt_stream_clear(&p_itf->stream.rx);
134135
tu_edpt_stream_read_xfer(p_itf->rhport, &p_itf->stream.rx);
135136
}
137+
#endif
136138

137139
//--------------------------------------------------------------------+
138140
// Write API
@@ -143,6 +145,7 @@ uint32_t tud_vendor_n_write(uint8_t idx, const void *buffer, uint32_t bufsize) {
143145
return tu_edpt_stream_write(p_itf->rhport, &p_itf->stream.tx, buffer, (uint16_t)bufsize);
144146
}
145147

148+
#if CFG_TUD_VENDOR_TX_BUFSIZE > 0
146149
uint32_t tud_vendor_n_write_flush(uint8_t idx) {
147150
TU_VERIFY(idx < CFG_TUD_VENDOR, 0);
148151
vendord_interface_t *p_itf = &_vendord_itf[idx];
@@ -154,6 +157,7 @@ uint32_t tud_vendor_n_write_available(uint8_t idx) {
154157
vendord_interface_t *p_itf = &_vendord_itf[idx];
155158
return tu_edpt_stream_write_available(p_itf->rhport, &p_itf->stream.tx);
156159
}
160+
#endif
157161

158162
//--------------------------------------------------------------------+
159163
// USBD Driver API

src/class/vendor/vendor_device.h

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,21 @@ extern "C" {
5151
// Application API (Multiple Interfaces) i.e CFG_TUD_VENDOR > 1
5252
//--------------------------------------------------------------------+
5353
bool tud_vendor_n_mounted(uint8_t idx);
54+
55+
#if CFG_TUD_VENDOR_RX_BUFSIZE > 0
5456
uint32_t tud_vendor_n_available(uint8_t idx);
5557
bool tud_vendor_n_peek(uint8_t idx, uint8_t *ui8);
56-
5758
uint32_t tud_vendor_n_read(uint8_t idx, void *buffer, uint32_t bufsize);
5859
uint32_t tud_vendor_n_read_discard(uint8_t idx, uint32_t count);
5960
void tud_vendor_n_read_flush(uint8_t idx);
61+
#endif
6062

6163
uint32_t tud_vendor_n_write(uint8_t idx, const void *buffer, uint32_t bufsize);
64+
65+
#if CFG_TUD_VENDOR_TX_BUFSIZE > 0
6266
uint32_t tud_vendor_n_write_flush(uint8_t idx);
6367
uint32_t tud_vendor_n_write_available(uint8_t idx);
68+
#endif
6469

6570
TU_ATTR_ALWAYS_INLINE static inline uint32_t tud_vendor_n_write_str(uint8_t idx, const char *str) {
6671
return tud_vendor_n_write(idx, str, strlen(str));
@@ -76,6 +81,7 @@ TU_ATTR_ALWAYS_INLINE static inline bool tud_vendor_mounted(void) {
7681
return tud_vendor_n_mounted(0);
7782
}
7883

84+
#if CFG_TUD_VENDOR_RX_BUFSIZE > 0
7985
TU_ATTR_ALWAYS_INLINE static inline uint32_t tud_vendor_available(void) {
8086
return tud_vendor_n_available(0);
8187
}
@@ -95,6 +101,7 @@ TU_ATTR_ALWAYS_INLINE static inline uint32_t tud_vendor_read_discard(uint32_t co
95101
TU_ATTR_ALWAYS_INLINE static inline void tud_vendor_read_flush(void) {
96102
tud_vendor_n_read_flush(0);
97103
}
104+
#endif
98105

99106
TU_ATTR_ALWAYS_INLINE static inline uint32_t tud_vendor_write(const void *buffer, uint32_t bufsize) {
100107
return tud_vendor_n_write(0, buffer, bufsize);
@@ -104,11 +111,11 @@ TU_ATTR_ALWAYS_INLINE static inline uint32_t tud_vendor_write_str(const char *st
104111
return tud_vendor_n_write_str(0, str);
105112
}
106113

114+
#if CFG_TUD_VENDOR_TX_BUFSIZE > 0
107115
TU_ATTR_ALWAYS_INLINE static inline uint32_t tud_vendor_write_flush(void) {
108116
return tud_vendor_n_write_flush(0);
109117
}
110118

111-
#if CFG_TUD_VENDOR_TX_BUFSIZE > 0
112119
TU_ATTR_ALWAYS_INLINE static inline uint32_t tud_vendor_write_available(void) {
113120
return tud_vendor_n_write_available(0);
114121
}

src/common/tusb_fifo.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,7 @@ bool tu_fifo_read(tu_fifo_t *f, void *buffer) {
499499
return ret;
500500
}
501501

502-
// Read one item without removing it from the FIFO, correct rad index if overflowed
502+
// Read one item without removing it from the FIFO, correct read index if overflowed
503503
bool tu_fifo_peek(tu_fifo_t *f, void *p_buffer) {
504504
return ff_peek_local(f, p_buffer, f->wr_idx, f->rd_idx);
505505
}

src/tusb.c

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -533,14 +533,7 @@ uint32_t tu_edpt_stream_read_xfer(uint8_t hwid, tu_edpt_stream_t* s) {
533533
}
534534

535535
uint32_t tu_edpt_stream_read(uint8_t hwid, tu_edpt_stream_t* s, void* buffer, uint32_t bufsize) {
536-
uint32_t num_read;
537-
if (tu_fifo_depth(&s->ff) > 0) {
538-
num_read = tu_fifo_read_n(&s->ff, buffer, (uint16_t)bufsize);
539-
} else {
540-
// non-fifo mode not support this
541-
num_read = 0;
542-
}
543-
536+
const uint32_t num_read = tu_fifo_read_n(&s->ff, buffer, (uint16_t)bufsize);
544537
tu_edpt_stream_read_xfer(hwid, s);
545538
return num_read;
546539
}

0 commit comments

Comments
 (0)