Update USB demos with latest changes.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8288 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
e5833b6a09
commit
98bb7fb5df
|
@ -425,6 +425,12 @@ static void usb_event(USBDriver *usbp, usbevent_t event) {
|
||||||
chSysUnlockFromISR();
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_SUSPEND:
|
case USB_EVENT_SUSPEND:
|
||||||
|
chSysLockFromISR();
|
||||||
|
|
||||||
|
/* Disconnection event on suspend.*/
|
||||||
|
sduDisconnectI(&SDU2);
|
||||||
|
|
||||||
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_WAKEUP:
|
case USB_EVENT_WAKEUP:
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -320,7 +320,7 @@ static void otg_fifo_read_to_buffer(volatile uint32_t *fifop,
|
||||||
uint8_t *buf,
|
uint8_t *buf,
|
||||||
size_t n,
|
size_t n,
|
||||||
size_t max) {
|
size_t max) {
|
||||||
uint32_t w;
|
uint32_t w = 0;
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
|
@ -348,7 +348,7 @@ static void otg_fifo_read_to_buffer(volatile uint32_t *fifop,
|
||||||
static void otg_fifo_read_to_queue(volatile uint32_t *fifop,
|
static void otg_fifo_read_to_queue(volatile uint32_t *fifop,
|
||||||
input_queue_t *iqp,
|
input_queue_t *iqp,
|
||||||
size_t n) {
|
size_t n) {
|
||||||
uint32_t w;
|
uint32_t w = 0;
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|
|
@ -316,19 +316,20 @@ OSAL_IRQ_HANDLER(STM32_USB1_LP_HANDLER) {
|
||||||
|
|
||||||
/* USB bus reset condition handling.*/
|
/* USB bus reset condition handling.*/
|
||||||
if (istr & ISTR_RESET) {
|
if (istr & ISTR_RESET) {
|
||||||
_usb_reset(usbp);
|
|
||||||
_usb_isr_invoke_event_cb(usbp, USB_EVENT_RESET);
|
|
||||||
STM32_USB->ISTR = ~ISTR_RESET;
|
STM32_USB->ISTR = ~ISTR_RESET;
|
||||||
|
|
||||||
|
_usb_reset(usbp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* USB bus SUSPEND condition handling.*/
|
/* USB bus SUSPEND condition handling.*/
|
||||||
if (istr & ISTR_SUSP) {
|
if (istr & ISTR_SUSP) {
|
||||||
STM32_USB->CNTR |= CNTR_FSUSP;
|
STM32_USB->CNTR |= CNTR_FSUSP;
|
||||||
_usb_isr_invoke_event_cb(usbp, USB_EVENT_SUSPEND);
|
|
||||||
#if STM32_USB_LOW_POWER_ON_SUSPEND
|
#if STM32_USB_LOW_POWER_ON_SUSPEND
|
||||||
STM32_USB->CNTR |= CNTR_LP_MODE;
|
STM32_USB->CNTR |= CNTR_LP_MODE;
|
||||||
#endif
|
#endif
|
||||||
STM32_USB->ISTR = ~ISTR_SUSP;
|
STM32_USB->ISTR = ~ISTR_SUSP;
|
||||||
|
|
||||||
|
_usb_suspend(usbp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* USB bus WAKEUP condition handling.*/
|
/* USB bus WAKEUP condition handling.*/
|
||||||
|
@ -336,7 +337,8 @@ OSAL_IRQ_HANDLER(STM32_USB1_LP_HANDLER) {
|
||||||
uint32_t fnr = STM32_USB->FNR;
|
uint32_t fnr = STM32_USB->FNR;
|
||||||
if (!(fnr & FNR_RXDP)) {
|
if (!(fnr & FNR_RXDP)) {
|
||||||
STM32_USB->CNTR &= ~CNTR_FSUSP;
|
STM32_USB->CNTR &= ~CNTR_FSUSP;
|
||||||
_usb_isr_invoke_event_cb(usbp, USB_EVENT_WAKEUP);
|
|
||||||
|
_usb_wakeup(usbp);
|
||||||
}
|
}
|
||||||
#if STM32_USB_LOW_POWER_ON_SUSPEND
|
#if STM32_USB_LOW_POWER_ON_SUSPEND
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -299,6 +299,12 @@ static void usb_event(USBDriver *usbp, usbevent_t event) {
|
||||||
chSysUnlockFromISR();
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_SUSPEND:
|
case USB_EVENT_SUSPEND:
|
||||||
|
chSysLockFromISR();
|
||||||
|
|
||||||
|
/* Disconnection event on suspend.*/
|
||||||
|
sduDisconnectI(&SDU1);
|
||||||
|
|
||||||
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_WAKEUP:
|
case USB_EVENT_WAKEUP:
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -299,6 +299,12 @@ static void usb_event(USBDriver *usbp, usbevent_t event) {
|
||||||
chSysUnlockFromISR();
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_SUSPEND:
|
case USB_EVENT_SUSPEND:
|
||||||
|
chSysLockFromISR();
|
||||||
|
|
||||||
|
/* Disconnection event on suspend.*/
|
||||||
|
sduDisconnectI(&SDU1);
|
||||||
|
|
||||||
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_WAKEUP:
|
case USB_EVENT_WAKEUP:
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -306,6 +306,12 @@ static void usb_event(USBDriver *usbp, usbevent_t event) {
|
||||||
chSysUnlockFromISR();
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_SUSPEND:
|
case USB_EVENT_SUSPEND:
|
||||||
|
chSysLockFromISR();
|
||||||
|
|
||||||
|
/* Disconnection event on suspend.*/
|
||||||
|
sduDisconnectI(&SDU1);
|
||||||
|
|
||||||
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_WAKEUP:
|
case USB_EVENT_WAKEUP:
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -394,6 +394,13 @@ static void usb_event(USBDriver *usbp, usbevent_t event) {
|
||||||
chSysUnlockFromISR();
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_SUSPEND:
|
case USB_EVENT_SUSPEND:
|
||||||
|
chSysLockFromISR();
|
||||||
|
|
||||||
|
/* Disconnection event on suspend.*/
|
||||||
|
sduDisconnectI(&SDU1);
|
||||||
|
sduDisconnectI(&SDU2);
|
||||||
|
|
||||||
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_WAKEUP:
|
case USB_EVENT_WAKEUP:
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -305,6 +305,12 @@ static void usb_event(USBDriver *usbp, usbevent_t event) {
|
||||||
chSysUnlockFromISR();
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_SUSPEND:
|
case USB_EVENT_SUSPEND:
|
||||||
|
chSysLockFromISR();
|
||||||
|
|
||||||
|
/* Disconnection event on suspend.*/
|
||||||
|
sduDisconnectI(&SDU1);
|
||||||
|
|
||||||
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_WAKEUP:
|
case USB_EVENT_WAKEUP:
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
# Compiler options here.
|
# Compiler options here.
|
||||||
ifeq ($(USE_OPT),)
|
ifeq ($(USE_OPT),)
|
||||||
USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
|
USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# C specific options here (added to USE_OPT).
|
# C specific options here (added to USE_OPT).
|
||||||
|
|
|
@ -284,6 +284,12 @@ static void usb_event(USBDriver *usbp, usbevent_t event) {
|
||||||
chSysUnlockFromISR();
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_SUSPEND:
|
case USB_EVENT_SUSPEND:
|
||||||
|
chSysLockFromISR();
|
||||||
|
|
||||||
|
/* Disconnection event on suspend.*/
|
||||||
|
sduDisconnectI(&SDU1);
|
||||||
|
|
||||||
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_WAKEUP:
|
case USB_EVENT_WAKEUP:
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
# Compiler options here.
|
# Compiler options here.
|
||||||
ifeq ($(USE_OPT),)
|
ifeq ($(USE_OPT),)
|
||||||
USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
|
USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# C specific options here (added to USE_OPT).
|
# C specific options here (added to USE_OPT).
|
||||||
|
|
|
@ -394,6 +394,13 @@ static void usb_event(USBDriver *usbp, usbevent_t event) {
|
||||||
chSysUnlockFromISR();
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_SUSPEND:
|
case USB_EVENT_SUSPEND:
|
||||||
|
chSysLockFromISR();
|
||||||
|
|
||||||
|
/* Disconnection event on suspend.*/
|
||||||
|
sduDisconnectI(&SDU1);
|
||||||
|
sduDisconnectI(&SDU2);
|
||||||
|
|
||||||
|
chSysUnlockFromISR();
|
||||||
return;
|
return;
|
||||||
case USB_EVENT_WAKEUP:
|
case USB_EVENT_WAKEUP:
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue