summaryrefslogtreecommitdiff
path: root/src/class/vendor
diff options
context:
space:
mode:
authorhathach <[email protected]>2019-08-31 16:31:07 +0700
committerhathach <[email protected]>2019-08-31 16:31:07 +0700
commitb7dbc98ab1ed7c8739ec89b5a3eeaea052b33d8a (patch)
tree53924ab4c2f726d60d4d665f061767ee019f1edb /src/class/vendor
parentfa796de6cdca464f35905c54c17e07ea6a493096 (diff)
close #105 add tud_vendor_write_available()
Diffstat (limited to 'src/class/vendor')
-rw-r--r--src/class/vendor/vendor_device.c5
-rw-r--r--src/class/vendor/vendor_device.h33
2 files changed, 26 insertions, 12 deletions
diff --git a/src/class/vendor/vendor_device.c b/src/class/vendor/vendor_device.c
index d1ba63a9d..a00257476 100644
--- a/src/class/vendor/vendor_device.c
+++ b/src/class/vendor/vendor_device.c
@@ -125,6 +125,11 @@ uint32_t tud_vendor_n_write (uint8_t itf, void const* buffer, uint32_t bufsize)
return ret;
}
+uint32_t tud_vendor_n_write_available (uint8_t itf)
+{
+ return tu_fifo_remaining(&_vendord_itf[itf].tx_ff);
+}
+
//--------------------------------------------------------------------+
// USBD Driver API
//--------------------------------------------------------------------+
diff --git a/src/class/vendor/vendor_device.h b/src/class/vendor/vendor_device.h
index 17fbc54ef..30fe94c3a 100644
--- a/src/class/vendor/vendor_device.h
+++ b/src/class/vendor/vendor_device.h
@@ -41,24 +41,28 @@
//--------------------------------------------------------------------+
// Application API (Multiple Interfaces)
//--------------------------------------------------------------------+
-bool tud_vendor_n_mounted (uint8_t itf);
-uint32_t tud_vendor_n_available (uint8_t itf);
-uint32_t tud_vendor_n_read (uint8_t itf, void* buffer, uint32_t bufsize);
-bool tud_vendor_n_peek (uint8_t itf, int pos, uint8_t* u8);
-uint32_t tud_vendor_n_write (uint8_t itf, void const* buffer, uint32_t bufsize);
+bool tud_vendor_n_mounted (uint8_t itf);
+
+uint32_t tud_vendor_n_available (uint8_t itf);
+uint32_t tud_vendor_n_read (uint8_t itf, void* buffer, uint32_t bufsize);
+bool tud_vendor_n_peek (uint8_t itf, int pos, uint8_t* u8);
+
+uint32_t tud_vendor_n_write (uint8_t itf, void const* buffer, uint32_t bufsize);
+uint32_t tud_vendor_n_write_available (uint8_t itf);
static inline
-uint32_t tud_vendor_n_write_str (uint8_t itf, char const* str);
+uint32_t tud_vendor_n_write_str (uint8_t itf, char const* str);
//--------------------------------------------------------------------+
// Application API (Single Port)
//--------------------------------------------------------------------+
-static inline bool tud_vendor_mounted (void);
-static inline uint32_t tud_vendor_available (void);
-static inline uint32_t tud_vendor_read (void* buffer, uint32_t bufsize);
-static inline bool tud_vendor_peek (int pos, uint8_t* u8);
-static inline uint32_t tud_vendor_write (void const* buffer, uint32_t bufsize);
-static inline uint32_t tud_vendor_write_str (char const* str);
+static inline bool tud_vendor_mounted (void);
+static inline uint32_t tud_vendor_available (void);
+static inline uint32_t tud_vendor_read (void* buffer, uint32_t bufsize);
+static inline bool tud_vendor_peek (int pos, uint8_t* u8);
+static inline uint32_t tud_vendor_write (void const* buffer, uint32_t bufsize);
+static inline uint32_t tud_vendor_write_str (char const* str);
+static inline uint32_t tud_vendor_write_available (void);
//--------------------------------------------------------------------+
// Application Callback API (weak is optional)
@@ -106,6 +110,11 @@ static inline uint32_t tud_vendor_write_str (char const* str)
return tud_vendor_n_write_str(0, str);
}
+static inline uint32_t tud_vendor_write_available (void)
+{
+ return tud_vendor_n_write_available(0);
+}
+
//--------------------------------------------------------------------+
// Internal Class Driver API
//--------------------------------------------------------------------+