summaryrefslogtreecommitdiff
path: root/stmhal/usbd_cdc_interface.h
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-07-31 10:30:42 +0100
committerDamien George <damien.p.george@gmail.com>2014-07-31 10:30:42 +0100
commit3c4db9f91c01211aed47afe3efdd11477badc0bc (patch)
treeba4a7fbf2d13c672992966469f5bf7abf7ec1d98 /stmhal/usbd_cdc_interface.h
parent5f27a7e81135f7a7c0c75ee551fe0c6103048046 (diff)
stmhal: Add USB_VCP class/object, for direct USB VCP control.
Before, pyb.stdin/pyb.stdout allowed some kind of access to the USB VCP device, but it was basic access. This patch adds a proper USB_VCP class and object with much more control over the USB VCP device. Create an object with pyb.USB_VCP(), then use this object as if it were a UART object. It has send, recv, read, write, and other methods. send and recv allow a timeout to be specified. Addresses issue 774.
Diffstat (limited to 'stmhal/usbd_cdc_interface.h')
-rw-r--r--stmhal/usbd_cdc_interface.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/stmhal/usbd_cdc_interface.h b/stmhal/usbd_cdc_interface.h
index c1fa54020..f312682fb 100644
--- a/stmhal/usbd_cdc_interface.h
+++ b/stmhal/usbd_cdc_interface.h
@@ -20,8 +20,8 @@
*
* http://www.st.com/software_license_agreement_liberty_v2
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
@@ -36,6 +36,9 @@ void USBD_CDC_HAL_TIM_PeriodElapsedCallback(void);
int USBD_CDC_IsConnected(void);
void USBD_CDC_SetInterrupt(int chr, void *data);
-void USBD_CDC_Tx(const char *str, uint32_t len);
+
+int USBD_CDC_Tx(const uint8_t *buf, uint32_t len, uint32_t timeout);
+void USBD_CDC_TxAlways(const uint8_t *buf, uint32_t len);
+
int USBD_CDC_RxNum(void);
-int USBD_CDC_RxGet(void);
+int USBD_CDC_Rx(uint8_t *buf, uint32_t len, uint32_t timeout);