summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Gjenero <boris.gjenero@gmail.com>2012-02-04 14:47:11 -0500
committerBoris Gjenero <boris.gjenero@gmail.com>2012-02-05 16:26:09 +0100
commit4b85c93cd830f81cf59333dbe369e2e940cee953 (patch)
tree01dcee3bb38f19fd37ac19433ec33aed1da8c0a2
parent0aca81d807ed4159113fa7ae5bceaa6dee3abf38 (diff)
downloadrockbox-4b85c93cd830f81cf59333dbe369e2e940cee953.tar.gz
rockbox-4b85c93cd830f81cf59333dbe369e2e940cee953.zip
Improve rockbox_flash messages
- For V2 and FM Recorders, don't recommend bootloader upgrade due to FS#12426 BootBox bugs. - When rockbox.ucl can't fit and the bootloader is old, the bootloader needs to be upgraded. - When RomBox start address differs, the bootloader is not compatible with RomBox. Change-Id: I7ca910805a64eb81faa21b2dde4842cd3b640f5a Reviewed-on: http://gerrit.rockbox.org/71 Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
-rw-r--r--apps/plugins/rockbox_flash.c30
1 files changed, 23 insertions, 7 deletions
diff --git a/apps/plugins/rockbox_flash.c b/apps/plugins/rockbox_flash.c
index 09ee96997c..4837b03fb5 100644
--- a/apps/plugins/rockbox_flash.c
+++ b/apps/plugins/rockbox_flash.c
@@ -609,6 +609,9 @@ static void DoUserDialog(char* filename)
609 } 609 }
610 610
611 bl_version = BootloaderVersion(); 611 bl_version = BootloaderVersion();
612 /* Upgrade currently not recommended for FM and V2
613 recorder due to bugs in V3 BootBox. (FS#12426) */
614#if !defined(ARCHOS_FMRECORDER) && !defined(ARCHOS_RECORDERV2)
612 if (bl_version < LATEST_BOOTLOADER_VERSION) 615 if (bl_version < LATEST_BOOTLOADER_VERSION)
613 { 616 {
614 rb->lcd_putsf(0, 0, "Bootloader V%d", bl_version); 617 rb->lcd_putsf(0, 0, "Bootloader V%d", bl_version);
@@ -616,9 +619,8 @@ static void DoUserDialog(char* filename)
616 rb->lcd_puts(0, 2, "using the latest "); 619 rb->lcd_puts(0, 2, "using the latest ");
617 rb->lcd_puts(0, 3, "bootloader. "); 620 rb->lcd_puts(0, 3, "bootloader. ");
618 rb->lcd_puts(0, 4, "A full reflash is "); 621 rb->lcd_puts(0, 4, "A full reflash is ");
619 rb->lcd_puts(0, 5, "recommended, but "); 622 rb->lcd_puts(0, 5, "recommended. ");
620 rb->lcd_puts(0, 6, "not required. "); 623 rb->lcd_puts(0, 6, "Press " KEYNAME1 " to ignore");
621 rb->lcd_puts(0, 7, "Press " KEYNAME1 " to ignore");
622 rb->lcd_update(); 624 rb->lcd_update();
623 625
624 if (WaitForButton() != KEY1) 626 if (WaitForButton() != KEY1)
@@ -627,6 +629,7 @@ static void DoUserDialog(char* filename)
627 } 629 }
628 rb->lcd_clear_display(); 630 rb->lcd_clear_display();
629 } 631 }
632#endif
630 633
631 rb->lcd_puts(0, show_greet ? 0 : 3, "Checking..."); 634 rb->lcd_puts(0, show_greet ? 0 : 3, "Checking...");
632 rb->lcd_update(); 635 rb->lcd_update();
@@ -665,6 +668,10 @@ static void DoUserDialog(char* filename)
665 case eTooBig: 668 case eTooBig:
666 rb->lcd_puts(0, 1, "File too big,"); 669 rb->lcd_puts(0, 1, "File too big,");
667 rb->lcd_puts(0, 2, "won't fit in chip."); 670 rb->lcd_puts(0, 2, "won't fit in chip.");
671 if (bl_version < LATEST_BOOTLOADER_VERSION)
672 {
673 rb->lcd_puts(0, 3, "Upgrade bootloader");
674 }
668 break; 675 break;
669 case eTooSmall: 676 case eTooSmall:
670 rb->lcd_puts(0, 1, "File too small."); 677 rb->lcd_puts(0, 1, "File too small.");
@@ -679,8 +686,10 @@ static void DoUserDialog(char* filename)
679 rb->lcd_puts(0, 3, " too small?"); 686 rb->lcd_puts(0, 3, " too small?");
680 break; 687 break;
681 case eBadRomLink: 688 case eBadRomLink:
682 rb->lcd_puts(0, 1, "RomBox mismatch."); 689 rb->lcd_puts(0, 1, "Bootloader not");
683 rb->lcd_puts(0, 2, "Wrong ROM position"); 690 rb->lcd_puts(0, 2, "compatible with");
691 rb->lcd_puts(0, 3, "RomBox. Start");
692 rb->lcd_puts(0, 4, "address mismatch.");
684 break; 693 break;
685 default: 694 default:
686 rb->lcd_puts(0, 1, "Check failed."); 695 rb->lcd_puts(0, 1, "Check failed.");
@@ -840,7 +849,14 @@ static void DoUserDialog(char* filename)
840 rb->lcd_puts_scroll(0, 1, "File not found."); 849 rb->lcd_puts_scroll(0, 1, "File not found.");
841 break; 850 break;
842 case eTooBig: 851 case eTooBig:
843 rb->lcd_puts_scroll(0, 1, "File too big."); 852 if (bl_version < LATEST_BOOTLOADER_VERSION)
853 {
854 rb->lcd_puts_scroll(0, 1, "File too big, upgrade bootloader.");
855 }
856 else
857 {
858 rb->lcd_puts_scroll(0, 1, "File too big.");
859 }
844 break; 860 break;
845 case eTooSmall: 861 case eTooSmall:
846 rb->lcd_puts_scroll(0, 1, "File too small. Incomplete?"); 862 rb->lcd_puts_scroll(0, 1, "File too small. Incomplete?");
@@ -852,7 +868,7 @@ static void DoUserDialog(char* filename)
852 rb->lcd_puts_scroll(0, 1, "File invalid. Blocksize too small?"); 868 rb->lcd_puts_scroll(0, 1, "File invalid. Blocksize too small?");
853 break; 869 break;
854 case eBadRomLink: 870 case eBadRomLink:
855 rb->lcd_puts_scroll(0, 1, "RomBox mismatch."); 871 rb->lcd_puts_scroll(0, 1, "Bootloader not compatible with RomBox.");
856 break; 872 break;
857 default: 873 default:
858 rb->lcd_puts_scroll(0, 1, "Check failed."); 874 rb->lcd_puts_scroll(0, 1, "Check failed.");