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 *pStrUpFw = "UpFw=";
 | 
			
		||||
    char *pStrUpMcu = "mcu=";
 | 
			
		||||
    char *pStrSF = "sf=";
 | 
			
		||||
 | 
			
		||||
    char *temp = NULL;
 | 
			
		||||
	UINT8 startup = 0;
 | 
			
		||||
	UINT8 UpFw = 0;
 | 
			
		||||
	UINT8 Upmcu = 0;
 | 
			
		||||
	UINT8 sftmp = 0;
 | 
			
		||||
 | 
			
		||||
    system("cat /proc/cmdline > /tmp/Mode.txt");
 | 
			
		||||
    fp = fopen("/tmp/Mode.txt","r");
 | 
			
		||||
| 
						 | 
				
			
			@ -371,7 +373,13 @@ UINT8 sf_cardv_check_power_on_mode(void)
 | 
			
		|||
            sscanf(temp, "%hhd", &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);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -205,4 +205,5 @@ void sf_set_net_generation(UINT8 value);
 | 
			
		|||
UINT32 sf_cardv_load_menu_info_start(void);
 | 
			
		||||
BOOL sf_vos_perf_list_dump(unsigned char argc, char **argv);
 | 
			
		||||
void sf_mem_free(void);
 | 
			
		||||
void sf_cardv_battery_level_set(UINT32 val);
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2521,7 +2521,18 @@ UINT32 sf_cardv_battery_level_get(void)
 | 
			
		|||
	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
 | 
			
		||||
  Description: get battery value x%
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,6 +25,7 @@
 | 
			
		|||
#include "sys_fastboot.h"
 | 
			
		||||
#if HUNTING_CAMERA_MCU == ENABLE
 | 
			
		||||
#include "sf_mcu.h"
 | 
			
		||||
#include "sf_battery.h"
 | 
			
		||||
#endif
 | 
			
		||||
#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);
 | 
			
		||||
#endif
 | 
			
		||||
	p_linuxtmp->bootargs_addr = p_linuxtmp->tmp_curr;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user