usb-device: Added usb_switch_to_ functions
This commit is contained in:
1 parent
26c1c2914e
commit
fc51f45195
2 files changed
+47
No files matched your search
@@ -30,6 +30,8 @@
|
||||
#include "device.h"
|
||||
#include "usb-device.h"
|
||||
#include "printf-utils.h"
|
||||
#include "nolo.h"
|
||||
#include "cold-flash.h"
|
||||
|
||||
static struct usb_flash_device usb_devices[] = {
|
||||
{ 0x0421, 0x0105, 2, 1, -1, FLASH_NOLO, { DEVICE_SU_18, DEVICE_RX_44, DEVICE_RX_48, DEVICE_RX_51, 0 } },
|
||||
@@ -287,3 +289,43 @@ void usb_close_device(struct usb_device_info * dev) {
|
||||
free(dev);
|
||||
|
||||
}
|
||||
|
||||
void usb_switch_to_nolo(struct usb_device_info * dev) {
|
||||
|
||||
printf("\nSwitching to NOLO mode...\n");
|
||||
|
||||
if ( dev->flash_device->protocol == FLASH_COLD )
|
||||
leave_cold_flash(dev);
|
||||
else if ( dev->flash_device->protocol == FLASH_MKII )
|
||||
ERROR("Leaving Mk II protocol is not implemented yet");
|
||||
else if ( dev->flash_device->protocol == FLASH_DISK )
|
||||
printf_and_wait("Unplug USB cable, turn device off, press ENTER and plug USB cable again");
|
||||
|
||||
}
|
||||
|
||||
void usb_switch_to_cold(struct usb_device_info * dev) {
|
||||
|
||||
printf("\nSwitching to Cold Flash mode...\n");
|
||||
printf_and_wait("Unplug USB cable, turn device off, press ENTER and plug USB cable again");
|
||||
|
||||
}
|
||||
|
||||
void usb_switch_to_mkii(struct usb_device_info * dev) {
|
||||
|
||||
printf("\nSwitching to Update mode...\n");
|
||||
|
||||
if ( dev->flash_device->protocol == FLASH_COLD )
|
||||
leave_cold_flash(dev);
|
||||
else if ( dev->flash_device->protocol == FLASH_NOLO )
|
||||
nolo_boot_device(dev, "update");
|
||||
else if ( dev->flash_device->protocol == FLASH_DISK )
|
||||
printf_and_wait("Unplug USB cable, turn device off, press ENTER and plug USB cable again");
|
||||
|
||||
}
|
||||
|
||||
void usb_switch_to_disk(struct usb_device_info * dev) {
|
||||
|
||||
printf("\nSwitching to RAW disk mode...\n");
|
||||
ERROR("usb_switch_to_disk is not implemented yet");
|
||||
|
||||
}
|
||||
@@ -53,4 +53,9 @@ const char * usb_flash_protocol_to_string(enum usb_flash_protocol protocol);
|
||||
struct usb_device_info * usb_open_and_wait_for_device(void);
|
||||
void usb_close_device(struct usb_device_info * dev);
|
||||
|
||||
void usb_switch_to_nolo(struct usb_device_info * dev);
|
||||
void usb_switch_to_cold(struct usb_device_info * dev);
|
||||
void usb_switch_to_mkii(struct usb_device_info * dev);
|
||||
void usb_switch_to_disk(struct usb_device_info * dev);
|
||||
|
||||
#endif
|
||||
Reference in new issue
Block a user