1.Linux启动时获取rtos下的电池格数
This commit is contained in:
parent
637119f1ac
commit
ac7c19a327
|
@ -332,11 +332,13 @@ UINT8 sf_cardv_check_power_on_mode(void)
|
||||||
char *pStrOtsOk = "Mode=";
|
char *pStrOtsOk = "Mode=";
|
||||||
char *pStrUpFw = "UpFw=";
|
char *pStrUpFw = "UpFw=";
|
||||||
char *pStrUpMcu = "mcu=";
|
char *pStrUpMcu = "mcu=";
|
||||||
|
char *pStrSF = "sf=";
|
||||||
|
|
||||||
char *temp = NULL;
|
char *temp = NULL;
|
||||||
UINT8 startup = 0;
|
UINT8 startup = 0;
|
||||||
UINT8 UpFw = 0;
|
UINT8 UpFw = 0;
|
||||||
UINT8 Upmcu = 0;
|
UINT8 Upmcu = 0;
|
||||||
|
UINT8 sftmp = 0;
|
||||||
|
|
||||||
system("cat /proc/cmdline > /tmp/Mode.txt");
|
system("cat /proc/cmdline > /tmp/Mode.txt");
|
||||||
fp = fopen("/tmp/Mode.txt","r");
|
fp = fopen("/tmp/Mode.txt","r");
|
||||||
|
@ -371,7 +373,13 @@ UINT8 sf_cardv_check_power_on_mode(void)
|
||||||
sscanf(temp, "%hhd", &Upmcu);
|
sscanf(temp, "%hhd", &Upmcu);
|
||||||
sf_set_mcu_update_flag(Upmcu);
|
sf_set_mcu_update_flag(Upmcu);
|
||||||
}
|
}
|
||||||
SLOGI("StartMode=%d,UpFw=%d Upmcu=%d\r\n", startup, UpFw, Upmcu);
|
temp = strstr(pStrSrc, pStrSF);
|
||||||
|
if ( temp != NULL) {
|
||||||
|
temp += strlen("sf=");
|
||||||
|
sscanf(temp, "%hhd", &sftmp);
|
||||||
|
sf_cardv_battery_level_set(sftmp);
|
||||||
|
}
|
||||||
|
SLOGI("StartMode=%d,UpFw=%d Upmcu=%d sftmp=%d\r\n", startup, UpFw, Upmcu, sftmp);
|
||||||
free(pStrSrc);
|
free(pStrSrc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -205,4 +205,5 @@ void sf_set_net_generation(UINT8 value);
|
||||||
UINT32 sf_cardv_load_menu_info_start(void);
|
UINT32 sf_cardv_load_menu_info_start(void);
|
||||||
BOOL sf_vos_perf_list_dump(unsigned char argc, char **argv);
|
BOOL sf_vos_perf_list_dump(unsigned char argc, char **argv);
|
||||||
void sf_mem_free(void);
|
void sf_mem_free(void);
|
||||||
|
void sf_cardv_battery_level_set(UINT32 val);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -2521,7 +2521,18 @@ UINT32 sf_cardv_battery_level_get(void)
|
||||||
return (UINT32)sf_LatestBattLevel;
|
return (UINT32)sf_LatestBattLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*************************************************
|
||||||
|
Function: sf_battery_level_set
|
||||||
|
Description: set battery level
|
||||||
|
Input: N/A
|
||||||
|
Output: N/A
|
||||||
|
Return: N/A
|
||||||
|
Others: N/A
|
||||||
|
*************************************************/
|
||||||
|
void sf_cardv_battery_level_set(UINT32 val)
|
||||||
|
{
|
||||||
|
sf_LatestBattLevel = val;
|
||||||
|
}
|
||||||
/*************************************************
|
/*************************************************
|
||||||
Function: sf_battery_value_get
|
Function: sf_battery_value_get
|
||||||
Description: get battery value x%
|
Description: get battery value x%
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#include "sys_fastboot.h"
|
#include "sys_fastboot.h"
|
||||||
#if HUNTING_CAMERA_MCU == ENABLE
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
#include "sf_mcu.h"
|
#include "sf_mcu.h"
|
||||||
|
#include "sf_battery.h"
|
||||||
#endif
|
#endif
|
||||||
#define CFG_BOOTARG_EXTRA_MAX_LEN 0x100 /* for init.d script parsing by (dmesg | grep xxx) */
|
#define CFG_BOOTARG_EXTRA_MAX_LEN 0x100 /* for init.d script parsing by (dmesg | grep xxx) */
|
||||||
|
|
||||||
|
@ -854,7 +855,7 @@ static int make_bootargs(LINUXTMP_PARTITION *p_linuxtmp, unsigned int bootts_beg
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
snprintf(PowerOnModeStr, sizeof(PowerOnModeStr), "Mode=%d UpFw=%d mcu=%d",sf_get_power_on_mode(), sf_in_update() , sf_in_mcu_update());
|
snprintf(PowerOnModeStr, sizeof(PowerOnModeStr), "Mode=%d UpFw=%d mcu=%d sf=%d",sf_get_power_on_mode(), sf_in_update() , sf_in_mcu_update(), sf_battery_level_get());
|
||||||
linuxboot_set_extra_bootarg(PowerOnModeStr);
|
linuxboot_set_extra_bootarg(PowerOnModeStr);
|
||||||
#endif
|
#endif
|
||||||
p_linuxtmp->bootargs_addr = p_linuxtmp->tmp_curr;
|
p_linuxtmp->bootargs_addr = p_linuxtmp->tmp_curr;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user