only support bootloader entry when hardwired
parent
61a5690c7b
commit
39522310e1
15
board/main.c
15
board/main.c
|
@ -543,15 +543,16 @@ void usb_cb_enumeration_complete() {
|
||||||
did_usb_enumerate = 1;
|
did_usb_enumerate = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int __usb_cb_control_msg(USB_Setup_TypeDef *setup, uint8_t *resp, int hardwired) {
|
||||||
int usb_cb_control_msg(USB_Setup_TypeDef *setup, uint8_t *resp) {
|
|
||||||
int resp_len = 0;
|
int resp_len = 0;
|
||||||
uart_ring *ur = NULL;
|
uart_ring *ur = NULL;
|
||||||
int i;
|
int i;
|
||||||
switch (setup->b.bRequest) {
|
switch (setup->b.bRequest) {
|
||||||
case 0xd1:
|
case 0xd1:
|
||||||
enter_bootloader_mode = ENTER_BOOTLOADER_MAGIC;
|
if (hardwired) {
|
||||||
NVIC_SystemReset();
|
enter_bootloader_mode = ENTER_BOOTLOADER_MAGIC;
|
||||||
|
NVIC_SystemReset();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 0xd2:
|
case 0xd2:
|
||||||
resp_len = get_health_pkt(resp);
|
resp_len = get_health_pkt(resp);
|
||||||
|
@ -682,6 +683,10 @@ int usb_cb_control_msg(USB_Setup_TypeDef *setup, uint8_t *resp) {
|
||||||
return resp_len;
|
return resp_len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int usb_cb_control_msg(USB_Setup_TypeDef *setup, uint8_t *resp) {
|
||||||
|
return __usb_cb_control_msg(setup, resp, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void OTG_FS_IRQHandler(void) {
|
void OTG_FS_IRQHandler(void) {
|
||||||
NVIC_DisableIRQ(OTG_FS_IRQn);
|
NVIC_DisableIRQ(OTG_FS_IRQn);
|
||||||
|
@ -713,7 +718,7 @@ void handle_spi(uint8_t *data, int len) {
|
||||||
switch (data[0]) {
|
switch (data[0]) {
|
||||||
case 0:
|
case 0:
|
||||||
// control transfer
|
// control transfer
|
||||||
*resp_len = usb_cb_control_msg(data+4, spi_tx_buf+4);
|
*resp_len = __usb_cb_control_msg(data+4, spi_tx_buf+4, 0);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
// ep 1, read
|
// ep 1, read
|
||||||
|
|
Loading…
Reference in New Issue