make "set mode 0" mean reset to bootloader
This commit is contained in:
parent
28b3e29ef2
commit
1e0b016c0a
|
@ -28,6 +28,8 @@
|
||||||
#ifndef BOARD_H_MOD
|
#ifndef BOARD_H_MOD
|
||||||
#define BOARD_H_MOD
|
#define BOARD_H_MOD
|
||||||
|
|
||||||
|
#include <pico/bootrom.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
@ -48,6 +50,9 @@ extern "C" {
|
||||||
#define UART_RX_PIN PICO_DEFAULT_UART_RX_PIN
|
#define UART_RX_PIN PICO_DEFAULT_UART_RX_PIN
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Reset to bootloader
|
||||||
|
#define bsp_reset_bootloader() reset_usb_boot(0, 0)
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -5,10 +5,10 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <tusb.h>
|
#include <tusb.h>
|
||||||
|
|
||||||
|
#include "board.h"
|
||||||
#include "info.h"
|
#include "info.h"
|
||||||
#include "mode.h"
|
#include "mode.h"
|
||||||
#include "vnd_cfg.h"
|
#include "vnd_cfg.h"
|
||||||
|
|
||||||
#include "thread.h"
|
#include "thread.h"
|
||||||
|
|
||||||
#if CFG_TUD_VENDOR > 0
|
#if CFG_TUD_VENDOR > 0
|
||||||
|
@ -175,7 +175,10 @@ void vnd_cfg_task(void) {
|
||||||
break;
|
break;
|
||||||
case cfg_cmd_set_cur_mode:
|
case cfg_cmd_set_cur_mode:
|
||||||
verbuf[0] = vnd_cfg_read_byte();
|
verbuf[0] = vnd_cfg_read_byte();
|
||||||
if (verbuf[0] == 0 || verbuf[0] >= 0x10 || mode_list[verbuf[0]] == NULL) {
|
if (verbuf[0] == 0) {
|
||||||
|
// reset
|
||||||
|
bsp_reset_bootloader();
|
||||||
|
} else if (verbuf[0] >= 0x10 || mode_list[verbuf[0]] == NULL) {
|
||||||
vnd_cfg_write_resp(cfg_resp_nosuchmode, 0, NULL);
|
vnd_cfg_write_resp(cfg_resp_nosuchmode, 0, NULL);
|
||||||
} else {
|
} else {
|
||||||
// will be handled later so the USB stack won't break, whcih might happen if reconfig would happen now
|
// will be handled later so the USB stack won't break, whcih might happen if reconfig would happen now
|
||||||
|
|
Loading…
Reference in New Issue