From 3c4db9f91c01211aed47afe3efdd11477badc0bc Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 31 Jul 2014 10:30:42 +0100 Subject: 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. --- stmhal/usbd_cdc_interface.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'stmhal/usbd_cdc_interface.h') 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); -- cgit v1.2.3