2020-11-24 15:56:00 +01:00
|
|
|
/** library for USB CDC ACM communication
|
2019-12-06 17:40:34 +01:00
|
|
|
* @file
|
2016-08-14 18:37:30 +02:00
|
|
|
* @author King Kévin <kingkevin@cuvoodoo.info>
|
2020-06-06 14:35:55 +02:00
|
|
|
* @copyright SPDX-License-Identifier: GPL-3.0-or-later
|
2020-11-27 16:43:57 +01:00
|
|
|
* @date 2016-2020
|
2016-08-14 18:37:30 +02:00
|
|
|
*/
|
2016-02-18 10:39:08 +01:00
|
|
|
#pragma once
|
2016-01-18 16:15:23 +01:00
|
|
|
|
2018-04-03 16:59:02 +02:00
|
|
|
/** flag set to true when user is connected to USB CDC ACM port (e.g. when a terminal is opened) */
|
|
|
|
extern volatile bool usb_cdcacm_connecting;
|
|
|
|
|
2016-08-14 18:37:30 +02:00
|
|
|
/** setup USB CDC ACM peripheral */
|
2017-04-15 13:57:45 +02:00
|
|
|
void usb_cdcacm_setup(void);
|
2016-08-14 18:37:30 +02:00
|
|
|
/** send character over USB (non-blocking)
|
|
|
|
* @param[in] c character to send
|
|
|
|
* @note blocks if transmit buffer is full, else puts in buffer and returns
|
2019-03-26 19:27:40 +01:00
|
|
|
*/
|
2017-04-15 13:57:45 +02:00
|
|
|
void usb_cdcacm_putchar(char c);
|
2020-06-14 18:57:05 +02:00
|
|
|
/** wait until all is transmitted (blocking)
|
|
|
|
*/
|
|
|
|
void usb_cdcacm_flush(void);
|