From d69c4995f67aef16ea5cc1ae881cbdfc38977e03 Mon Sep 17 00:00:00 2001 From: Jörg Hohensohn Date: Sat, 23 Oct 2004 16:28:06 +0000 Subject: the flash plugins are now checking the battery level first git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5332 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/firmware_flash.c | 18 ++++++++++++++++-- apps/plugins/rockbox_flash.c | 18 ++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) (limited to 'apps') diff --git a/apps/plugins/firmware_flash.c b/apps/plugins/firmware_flash.c index 880b030748..972d998ca8 100644 --- a/apps/plugins/firmware_flash.c +++ b/apps/plugins/firmware_flash.c @@ -637,8 +637,6 @@ void DoUserDialog(char* filename) tCheckROM result; bool is_romless; - rb->lcd_setfont(FONT_SYSFIXED); - /* this can only work if Rockbox runs in DRAM, not flash ROM */ if ((UINT8*)rb >= FB && (UINT8*)rb < FB + 4096*1024) /* 4 MB max */ { /* we're running from flash */ @@ -653,6 +651,13 @@ void DoUserDialog(char* filename) return; /* exit */ } + /* refuse to work if the power may fail meanwhile */ + if (!rb->battery_level_safe()) + { + rb->splash(HZ*3, true, "Battery too low!"); + return; /* exit */ + } + /* check boot ROM */ result = CheckBootROM(); if (result == eUnknown) @@ -682,6 +687,8 @@ void DoUserDialog(char* filename) return; /* exit */ } + rb->lcd_setfont(FONT_SYSFIXED); + rc = GetFlashInfo(&FlashInfo); ShowFlashInfo(&FlashInfo); if (FlashInfo.size == 0) /* no valid chip */ @@ -881,6 +888,13 @@ void DoUserDialog(char* filename) return; /* exit */ } + /* refuse to work if the power may fail meanwhile */ + if (!rb->battery_level_safe()) + { + rb->splash(HZ*3, true, "Batt. too low!"); + return; /* exit */ + } + /* check boot ROM */ result = CheckBootROM(); if (result == eUnknown) diff --git a/apps/plugins/rockbox_flash.c b/apps/plugins/rockbox_flash.c index e01cc012ee..91d440e1e0 100644 --- a/apps/plugins/rockbox_flash.c +++ b/apps/plugins/rockbox_flash.c @@ -625,8 +625,6 @@ void DoUserDialog(char* filename) UINT32 crc; bool show_greet = false; - rb->lcd_setfont(FONT_SYSFIXED); - /* this can only work if Rockbox runs in DRAM, not flash ROM */ if ((UINT8*)rb >= FB && (UINT8*)rb < FB + 4096*1024) /* 4 MB max */ { /* we're running from flash */ @@ -634,6 +632,13 @@ void DoUserDialog(char* filename) return; /* exit */ } + /* refuse to work if the power may fail meanwhile */ + if (!rb->battery_level_safe()) + { + rb->splash(HZ*3, true, "Battery too low!"); + return; /* exit */ + } + /* "allocate" memory */ sector = rb->plugin_get_buffer(&memleft); if (memleft < SECTORSIZE) /* need buffer for a flash sector */ @@ -642,6 +647,8 @@ void DoUserDialog(char* filename) return; /* exit */ } + rb->lcd_setfont(FONT_SYSFIXED); + pos = (void*)GetSecondImage(); rc = GetFlashInfo(&FlashInfo); @@ -824,6 +831,13 @@ void DoUserDialog(char* filename) return; /* exit */ } + /* refuse to work if the power may fail meanwhile */ + if (!rb->battery_level_safe()) + { + rb->splash(HZ*3, true, "Batt. too low!"); + return; /* exit */ + } + /* "allocate" memory */ sector = rb->plugin_get_buffer(&memleft); if (memleft < SECTORSIZE) /* need buffer for a flash sector */ -- cgit v1.2.3