Merge branch 'iabdalkader-master'
Conflicts: stm/usb.c stm/usb.h
This commit is contained in:
commit
d71cd86dc1
|
@ -48,6 +48,9 @@ LINE_CODING linecoding =
|
|||
|
||||
/* These are external variables imported from CDC core to be used for IN
|
||||
transfer management. */
|
||||
|
||||
extern uint32_t APP_dev_is_connected; // set if CDC device is connected
|
||||
|
||||
extern uint8_t APP_Rx_Buffer []; /* Write CDC received data in this buffer.
|
||||
These data will be sent over USB IN endpoint
|
||||
in the CDC core functions. */
|
||||
|
@ -158,7 +161,7 @@ static uint16_t VCP_Ctrl (uint32_t Cmd, uint8_t* Buf, uint32_t Len)
|
|||
break;
|
||||
|
||||
case SET_CONTROL_LINE_STATE:
|
||||
/* Not needed for this driver */
|
||||
APP_dev_is_connected = Len & 0x1; // wValue is passed in Len (bit of a hack)
|
||||
break;
|
||||
|
||||
case SEND_BREAK:
|
||||
|
|
|
@ -648,7 +648,7 @@ static uint8_t usbd_pyb_Setup(void *pdev, USB_SETUP_REQ *req) {
|
|||
// Not a Data request
|
||||
|
||||
// Transfer the command to the interface layer */
|
||||
return VCP_fops.pIf_Ctrl(req->bRequest, NULL, 0);
|
||||
return VCP_fops.pIf_Ctrl(req->bRequest, NULL, req->wValue);
|
||||
}
|
||||
|
||||
} else if (req->wIndex == 2) {
|
||||
|
|
|
@ -21,6 +21,7 @@ extern CDC_IF_Prop_TypeDef VCP_fops;
|
|||
USB_OTG_CORE_HANDLE USB_OTG_Core;
|
||||
|
||||
static int dev_is_enabled = 0;
|
||||
uint32_t APP_dev_is_connected = 0; /* used by usbd_cdc_vcp */
|
||||
static char rx_buf[64];
|
||||
static int rx_buf_in;
|
||||
static int rx_buf_out;
|
||||
|
@ -48,6 +49,10 @@ bool usb_vcp_is_enabled(void) {
|
|||
return dev_is_enabled;
|
||||
}
|
||||
|
||||
bool usb_vcp_is_connected(void) {
|
||||
return APP_dev_is_connected;
|
||||
}
|
||||
|
||||
void usb_vcp_set_interrupt_char(int c) {
|
||||
if (dev_is_enabled) {
|
||||
interrupt_char = c;
|
||||
|
|
Loading…
Reference in New Issue