Merge branch 'Branch_S550_Fast_Emmc' into Branch_S550_Fast_Emmc_Optimize

This commit is contained in:
sober.song 2024-01-03 20:40:11 +08:00
commit 4b89619984
28 changed files with 398 additions and 86 deletions

View File

@ -85,3 +85,5 @@ if [ ! -f /tmp/.nvt_mounts ]; then
/etc/mdev-script/autosd.sh
rm -rf /tmp/.nvt_mounts;
fi
mount /dev/mmcblk1p1 /mnt/sd2

View File

@ -262,8 +262,22 @@ UINT32 pll_get_clock_rate(PLL_CLKSEL clk_sel)
UINT32 ui_mask, ui_reg_offset;
REGVALUE reg_data;
// ui_reg_offset = 0x20;
// ui_mask = (0x7<<PLL_CLKSEL_IDE_CLKSRC_OFS);
if (clk_sel == PLL_CLKSEL_IDE_CLKSRC) {
ui_reg_offset = 0x20;
ui_mask = (0x7<<PLL_CLKSEL_IDE_CLKSRC_OFS);
} else if (clk_sel == PLL_CLKSEL_IDE_CLKDIV) {
ui_reg_offset = 0x34;
ui_mask = (0xFF);
} else if (clk_sel == PLL_CLKSEL_IDE_OUTIF_CLKDIV) {
ui_reg_offset = 0x34;
ui_mask = (0xFF << 8);
} else {
DBG_WRN("pll_get_clock_rate fail, return 0\r\n");
return 0;
}
reg_data = INREG32(IOADDR_CG_REG_BASE + ui_reg_offset);
reg_data &= ui_mask;

View File

@ -224,7 +224,9 @@ const T_PANEL_CMD t_cmd_mode_rgb320[] = {
const T_LCD_PARAM t_mode[] = {
/*********** RGB Serial MODE *************/
{
// T_PANEL_PARAM
#if 0
{
/* Old prototype */
PINMUX_LCDMODE_RGB_SERIAL, //!< LCDMode
@ -264,6 +266,48 @@ const T_LCD_PARAM t_mode[] = {
0x0A, //!< uiHSyncSYNCwidth
0x04, //!< uiVSyncSYNCwidth
},
#else
{
/* Old prototype */
PINMUX_LCDMODE_RGB_THROUGH, //!< LCDMode
// 18000000 / 3 , //24.0f, //!< fDCLK
5000000,
#if 1
1024 / 3,//PANELWIDTH + 69*2, //!< uiHSyncTotalPeriod
720 / 3,//PANELWIDTH, //!< uiHSyncActivePeriod
69 / 3, //!< uiHSyncBackPorch
384,//PANELHEIGHT + 40, //!< uiVSyncTotalPeriod
344, //!< uiVSyncActivePeriod
2, //!< uiVSyncBackPorchOdd
2, //!< uiVSyncBackPorchEven
720 / 3,//320,//PANELWIDTH, //!< uiBufferWidth
320,//720,//PANELHEIGHT, //!< uiBufferHeight
720 / 3,//320,//PANELWIDTH, //!< uiWindowWidth
320,//720,//PANELHEIGHT, //!< uiWindowHeight
#endif
#if 0
PANELWIDTH + 200, //!< uiHSyncTotalPeriod
PANELWIDTH, //!< uiHSyncActivePeriod
10, //!< uiHSyncBackPorch
PANELHEIGHT + 140, //!< uiVSyncTotalPeriod
PANELHEIGHT, //!< uiVSyncActivePeriod
4, //!< uiVSyncBackPorchOdd
4, //!< uiVSyncBackPorchEven
PANELWIDTH, //!< uiBufferWidth
PANELHEIGHT, //!< uiBufferHeight
PANELWIDTH, //!< uiWindowWidth
PANELHEIGHT, //!< uiWindowHeight
#endif
FALSE, //!< bYCbCrFormat
/* New added parameters */
0x0A, //!< uiHSyncSYNCwidth
0x04, //!< uiVSyncSYNCwidth
},
#endif
// tIDE_PARAM
{
@ -273,8 +317,8 @@ const T_LCD_PARAM t_mode[] = {
{FALSE,FALSE}, //!< dithering[2];
DISPLAY_DEVICE_TOPPOLY, //!< **DONT-CARE**
IDE_PDIR_RBG, //!< pdir;
IDE_LCD_G, //!< odd;
IDE_LCD_G, //!< even;
IDE_LCD_B, //!< odd;
IDE_LCD_B, //!< even;
TRUE, //!< hsinv;
TRUE, //!< vsinv;
FALSE, //!< hvldinv;

View File

@ -2,7 +2,9 @@
#include "PrjInc.h"
#include "Mode/UIModePhoto.h"
#if HUNTING_CAMERA_MCU == ENABLE
#include "sf_common.h"
#endif
#if(WIFI_FUNC==ENABLE)
#include "UIModeWifi.h"
#endif
@ -58,6 +60,10 @@ void ModePhoto_Open(void)
}
}
#endif
#if HUNTING_CAMERA_MCU == ENABLE
sf_mem_free();
#endif
#endif
}
void ModePhoto_Close(void)

View File

@ -103,6 +103,7 @@ typedef enum {
#if defined(_UI_STYLE_LVGL_)
NVTEVT_UPDATE_LVGL = 0x80000001, ///< Update lvgl task handel
#endif
NVTEVT_MSG_SCREEN_KEY = 0x80000002,
/* INSERT NEW EVENT HRER */

View File

@ -696,12 +696,6 @@ void UserMainProc(void)
g_keyboard_pressed = false;
leftKeyPressingTime_ms = 0;
}
//call input task immediately for read key state
if(indev_keypad){
_lv_user_task_handler_lock();
indev_keypad->driver.read_task->task_cb(indev_keypad->driver.read_task);
_lv_user_task_handler_unlock();
}
/* workaround to extend key release event for lvgl */
if((paramArray[0] > NVTEVT_KEY_RELEASE_START) && (paramArray[0] < NVTEVT_KEY_RELEASE_END)){
@ -723,6 +717,12 @@ void UserMainProc(void)
DBG_WRN("evt = %lx\r\n", evt);
}
}
//call input task immediately for read key state
if(indev_keypad){
_lv_user_task_handler_lock();
indev_keypad->driver.read_task->task_cb(indev_keypad->driver.read_task);
_lv_user_task_handler_unlock();
}
if(paramArray[0] == NVTEVT_KEY_CONTINUE){
uint32_t nvt_user_key = lv_user_keymap_find(evt);
#define MENU_UNLUCK 0

View File

@ -227,15 +227,15 @@ INT32 System_OnBoot(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
Load_MenuInfo();
#endif
#else
#if (BOOT_RESET_MENU_INFO == ENABLE)
//EMMC_AS_PSTORE
#if (defined(_CPU2_LINUX_) && defined(_EMBMEM_EMMC_))
System_OnStrgInit_PS(); //because ps uses filesys in this case, so ps init was moved here.
Load_MenuInfo();
#else
Load_MenuInfo(); //reset value cause the FL_FSStatus as '0', we do so before NVTEVT_STRG_ATTACH finish
#endif
#endif
// #if (BOOT_RESET_MENU_INFO == ENABLE)
// //EMMC_AS_PSTORE
// #if (defined(_CPU2_LINUX_) && defined(_EMBMEM_EMMC_))
// System_OnStrgInit_PS(); //because ps uses filesys in this case, so ps init was moved here.
// Load_MenuInfo();
// #else
// Load_MenuInfo(); //reset value cause the FL_FSStatus as '0', we do so before NVTEVT_STRG_ATTACH finish
// #endif
// #endif
#endif
//#NT#2016/12/14#Niven Cho -end
#if (BOOT_RESET_MENU_INFO == ENABLE)
@ -409,10 +409,7 @@ INT32 System_OnBoot(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
}
#endif
#if HUNTING_CAMERA_MCU == ENABLE
printf("[%s]:%d sf s\n", __FUNCTION__, __LINE__);
system("sync");
system("echo 3 >/proc/sys/vm/drop_caches");
printf("[%s]:%d sf e\n", __FUNCTION__, __LINE__);
sf_mem_free();
#endif
return NVTEVT_CONSUME;
}

View File

@ -281,6 +281,7 @@ SXCMD_ITEM("uiprint %", sf_cmd_para_printf, "uiprint")
SXCMD_ITEM("blusw %", cmd_blu_switch, "blusw 0/1")
SXCMD_ITEM("wifisw %", cmd_wifi_switch, "wifisw 0/1")
SXCMD_ITEM("lcdbk %", sf_set_backlight_status, "lcdbk 0/1")
SXCMD_ITEM("sfdump %", sf_vos_perf_list_dump, "sfdump")
#endif
#if FS_MULTI_STRG_FUNC /* test cmd */

View File

@ -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);
}
@ -388,6 +396,7 @@ int NvtMain(void)
{
#if HUNTING_CAMERA_MCU == ENABLE
sf_cardv_check_power_on_mode();
sf_cardv_load_menu_info_start();
#endif
System_InstallID();
#if (USB_MODE==ENABLE)

View File

@ -34,6 +34,7 @@ IMAGEAPP_PLAY_CFG_DISP_INFO gPlay_Disp_Info;
static HD_COMMON_MEM_INIT_CONFIG g_play_mem_cfg = {0};
static UINT32 g_PlayExifBufPa = 0, g_PlayExifBufVa = 0;
DCF_HANDLE ChangeHandle = -1;
static ER PlayExe_InitExif(void)
{
@ -258,10 +259,11 @@ INT32 PlayExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
UI_SetData(FL_IsUseFileDB, 0);
#endif
useFileDB = UI_GetData(FL_IsUseFileDB);
printf("[PlayExe_OnOpen]mode open\n");
if (useFileDB) {
CHAR *rootPath = "A:\\";
//CHAR* defaultfolder="A:\\CarDV\\";
printf("[PlayExe_OnOpen]if file db\n");
PPBX_FLIST_OBJ pFlist = PBXFList_FDB_getObject();
pFlist->Config(PBX_FLIST_CONFIG_MEM, uiPoolAddr, POOL_SIZE_FILEDB);
pFlist->Config(PBX_FLIST_CONFIG_MAX_FILENUM, 5000, 0);
@ -276,12 +278,16 @@ INT32 PlayExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
pFlist->Config(PBX_FLIST_CONFIG_SUPPORT_LONGNAME, 1, 0);
PB_SetParam(PBPRMID_FILELIST_OBJ, (UINT32)pFlist);
} else {
printf("[PlayExe_OnOpen]else file %d\n", ChangeHandle);
extern DCF_HANDLE System_Get_DCF_Handle(void);
PPBX_FLIST_OBJ pFlist = PBXFList_DCF_getObject();
DCF_HANDLE handle = System_Get_DCF_Handle();
if (ChangeHandle == -1)
{
ChangeHandle = System_Get_DCF_Handle();
}
pFlist->Config(PBX_FLIST_CONFIG_DCF_HANDLE, (UINT32)handle, 0);
pFlist->Config(PBX_FLIST_CONFIG_DCF_HANDLE, (UINT32)ChangeHandle, 0);
PB_SetParam(PBPRMID_FILELIST_OBJ, (UINT32)pFlist);
}
PB_SetParam(PBPRMID_DEC_VIDEO_CALLBACK, (UINT32)PBDecVideoCB);
@ -362,7 +368,7 @@ INT32 PlayExe_OnClose(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
#if _TODO //refer to NA51055-840 JIRA and using new method
PBView_KeepLastView();
#endif
printf("[PlayExe_OnClose] on close\n");
PlayExe_UninitExif();
ImageApp_Play_Close();

View File

@ -694,7 +694,7 @@ static void qr_page_task_cb(lv_task_t* task){
{
UIMenuStoreInfo *puiPara = sf_ui_para_get();
printf("[qr_page_task_cb]is esim card...%s\n", puiPara->ModuleImei);
if(strlen(puiPara->SimIccidV) == 0 && strlen(puiPara->SimIccidA) == 0)
if (strlen(puiPara->SimIccid) == 0 || strlen(puiPara->ModuleImei) == 0)
{
lv_label_set_text(labelInit, "Please restart the camera");
return;
@ -705,16 +705,16 @@ static void qr_page_task_cb(lv_task_t* task){
{
UIMenuStoreInfo *puiPara = sf_ui_para_get();
printf("[qr_page_task_cb]is sim card...%s\n", puiPara->ModuleImei);
if(strlen(puiPara->SimIccidV) == 0 && strlen(puiPara->SimIccidA) == 0)
if (strlen(puiPara->SimIccid) == 0 || strlen(puiPara->ModuleImei) == 0)
{
lv_label_set_text(labelInit, "Please insert SIM card and restart the camera");
lv_label_set_text(labelInit, "Please restart the camera");
return;
}
snprintf(qr_date, QR_DATA_LENGTH, qr_code_str, puiPara->ModuleImei, puiPara->SimIccidV, puiPara->SimIccidA, "false");
}
else if (ret == -1)
{
if(sf_cardv_4G_status_get() == SF_4G_SEARCHING)
if (sf_cardv_4G_status_get() == SF_4G_SEARCHING)
{
lv_label_set_text(labelInit, "\nQR code loading...");
}

View File

@ -949,12 +949,7 @@ static void UIFlowMenuCommonItem_ScrOpen(lv_obj_t* obj)
gMenuLuck = MENU_UNLUCK;
#if HUNTING_CAMERA_MCU == ENABLE
sf_set_menu_open(TRUE);
printf("[%s]:%d sf s\n", __FUNCTION__, __LINE__);
system("sync");
system("echo 3 >/proc/sys/vm/drop_caches");
printf("[%s]:%d sf e\n", __FUNCTION__, __LINE__);
sf_mem_free();
#endif
}

View File

@ -73,6 +73,7 @@ static BOOL g_PhotoBgInitFileSys = FALSE;
static BOOL g_SysStrg_Chg = FALSE;
//#NT#2023/11/21#Eric - end
static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key);
static void sf_show_send_text(lv_obj_t* obj, const unsigned short status);
static lv_obj_t *g_preview_info_msgbox = NULL;
static lv_obj_t *g_preview_info_label = NULL;
@ -1797,6 +1798,7 @@ void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
{
sf_wifi_server_stop_shoot_respond(0);
}
sf_mem_free();
}
#if HUNTING_CAMERA_MCU == ENABLE
sf_set_cap_statu(FALSE);

View File

@ -27,7 +27,7 @@
//#define PLAY_KEY_PRESS_MASK (FLGKEY_KEY_MASK_DEFAULT)
//#define PLAY_KEY_RELEASE_MASK FLGKEY_KEY_MASK_NULL//(FLGKEY_UP | FLGKEY_DOWN | FLGKEY_LEFT | FLGKEY_RIGHT)
//#define PLAY_KEY_CONTINUE_MASK FLGKEY_KEY_CONT_MASK_DEFAULT
static SF_ST_MMC_DEV *mmc_dev = NULL;
extern int System_Get_DCF_Handle(void);
//static lv_obj_t* pMenu = NULL;
enum SELECTION_SHOW
{
@ -60,6 +60,11 @@ extern void PBView_DrawNoFile(void);
static void stop_play(void);
//#NT#2023/11/14#Eric - end
#define HANDLE_SD 1
#define HANDLE_EMMC 0
DCF_HANDLE FirstHandle = -1;
extern DCF_HANDLE ChangeHandle;
static BOOL g_PlayBgInitFileSys = FALSE;
#if 1
@ -221,6 +226,22 @@ static void update_play_Selection_msg(lv_obj_t* obj)
}
}
}
UINT32 cardStatus = System_GetState(SYS_STATE_CARD);
if (cardStatus == CARD_REMOVED && OPTION_PAGE_SELECT_FUNCTION != gOptionPage)
{
ProfileFocused = 0;
ProfileSelected = 0;
lv_obj_set_state(image_button_option_1_scr_uiflowplay, LV_STATE_FOCUSED);
lv_obj_set_state(label_option1_scr_uiflowplay, LV_STATE_FOCUSED);
lv_plugin_img_set_src(image_option1_scr_uiflowplay, LV_PLUGIN_IMG_ID_SF_LIST_SELECTED);
lv_obj_set_pos(image_option1_scr_uiflowplay, 272, 0);
lv_obj_set_hidden(image_option1_scr_uiflowplay, false);
lv_obj_set_state(image_button_option_2_scr_uiflowplay, LV_STATE_DISABLED);
lv_obj_set_state(label_option2_scr_uiflowplay, LV_STATE_DISABLED);
lv_obj_set_hidden(image_option2_scr_uiflowplay, true);
}
}
@ -279,6 +300,7 @@ void Option_play_Selection_Key(lv_obj_t* obj, uint32_t key)
}
case LV_USER_KEY_LEFT:
{
/*
if (OPTION_PAGE_SELECT_FUNCTION == gOptionPage)
{
hidde_Selection_page();
@ -288,6 +310,7 @@ void Option_play_Selection_Key(lv_obj_t* obj, uint32_t key)
gOptionPage = OPTION_PAGE_SELECT_FUNCTION;
show_Selection_page(obj);
}
*/
break;
}
case LV_USER_KEY_RIGHT:
@ -298,6 +321,7 @@ void Option_play_Selection_Key(lv_obj_t* obj, uint32_t key)
hidde_Selection_page();
UINT32 uiFileSeq;
PB_GetParam(PBPRMID_CURR_FILESEQ, &uiFileSeq);
ProfileFocused = 0;
if (0 != uiFileSeq)
{
stop_play();
@ -307,33 +331,27 @@ void Option_play_Selection_Key(lv_obj_t* obj, uint32_t key)
}
else //GO TO STORAGE OPTIONS
{
mmc_dev = SF_GetMMCDev();
if (mmc_dev->dev_type == 0)//sd 0, emmc 1
{
ProfileFocused = 1;
}
else
{
ProfileFocused = 0;
}
printf(" ================================== storage option init%d\n", ProfileSelected);
ProfileFocused = ProfileSelected;
gOptionPage = OPTION_PAGE_FORMAT;
show_Selection_page(obj);
}
}
else {
if (1 == ProfileFocused)
if (1 == ProfileFocused && ProfileSelected == 0)
{
printf(" ================================== switch sd card.\n");
ProfileSelected = 1;
FileDB_Refresh(0);
ChangeHandle = ProfileSelected;
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PLAYBACK);
}
else
else if (0 == ProfileFocused && ProfileSelected == 1)
{
printf(" ================================== switch emmc.\n");
ProfileSelected = 0;
FileDB_Refresh(1);
ChangeHandle = ProfileSelected;
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PLAYBACK);
}
ProfileFocused = 0;
hidde_Selection_page();
@ -1271,8 +1289,16 @@ static void set_indev_keypad_group(lv_obj_t* obj)
static void UIFlowPlay_ScrOpen(lv_obj_t* obj)
{
if (FirstHandle == -1)
{
FirstHandle = System_Get_DCF_Handle();
printf("[UIFlowPlay_ScrOpen][*x] select handle: %d.\n", FirstHandle);
ProfileSelected = FirstHandle;
}
DBG_IND("UIFlowPlay_ScrOpen\r\n");
set_indev_keypad_group(obj);
if (UIStorageCheck(STORAGE_CHECK_ERROR, NULL) == TRUE) {
@ -2409,7 +2435,6 @@ static void UIFlowPlay_Key(lv_obj_t* obj, uint32_t key)
static void UIFlowPlay_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
{
switch(msg->event)
{
case NVTEVT_CB_MOVIE_FINISH:
@ -2481,6 +2506,18 @@ static void UIFlowPlay_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* ms
break;
}
case NVTEVT_MSG_SCREEN_KEY:
if (1 == msg->paramNum)
{
uint32_t key = msg->paramArray[0];
if (SELECTION_SHOW_TURE == gSeletionShow) {
Option_play_Selection_Key(obj, key);
} else {
/* handle key event */
UIFlowPlay_Key(obj, key);
}
}
break;
default:
break;

View File

@ -45,7 +45,7 @@ static void task_msgbox_timer_cb(lv_task_t* task)
if (0 == autoClose || autoOffTime <= 10)
{
printf("[task_msgbox_timer_cb][*x]auto close\n");
lv_task_del(msgbox_timer);
msgbox_timer = NULL;
@ -56,6 +56,7 @@ static void task_msgbox_timer_cb(lv_task_t* task)
}
if (0 == autoClose)
{
printf("[task_msgbox_timer_cb][*x]set statu flag\n");
sf_set_pir_statu_flag(1);
// OpenClosingScreen(DISPLAY_FINAL_DO_NOT_SHOW_POWER_OFF);
//#define DO_NOT_SHOW_POWER_OFF 0
@ -325,7 +326,11 @@ void message_box_wrnmsg_OnKey(lv_obj_t* msgbox, uint32_t key)
{
// static uint32_t key22 = LV_KEY_END;
// key22 = key;
// lv_event_send(lv_obj_get_parent(UIFlowWrnMsg), LV_USER_EVENT_KEY_RELEASE, &key22);
if(lv_plugin_scr_count() >= 2){
lv_event_send(lv_plugin_scr_by_index(lv_plugin_scr_count() - 2), LV_USER_EVENT_NVTMSG, gen_nvtmsg_data(NVTEVT_MSG_SCREEN_KEY, 1, key));
}else{
lv_event_send(lv_plugin_scr_act(), LV_USER_EVENT_NVTMSG, gen_nvtmsg_data(NVTEVT_MSG_SCREEN_KEY, 1, key));
}
return;
switch(key)
{

View File

@ -1945,6 +1945,9 @@ void SysResetFlag(void)
//#2023/02/10#Payton - end
SysSetFixedFlag();
#if HUNTING_CAMERA_MCU == ENABLE
sf_cardv_statistics_param_reset();
#endif
}

View File

@ -813,12 +813,16 @@ static SINT32 sf_app_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf)
static SINT32 sf_app_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
{
MLOGD("ID = %#x\n",pMessageBuf->arg1);
SF_PDT_PARAM_STATISTICS_S *pSifarPara = sf_statistics_param_get();
switch(pMessageBuf->arg1)
{
case SF_PARA_CMD_UPDATE:
sf_share_mem_customer_update();
break;
case SF_PARA_CMD_RESET:
sf_statistics_param_reset(pSifarPara);
break;
case SF_PARA_CMD_FWUP:
FwUpdate = pMessageBuf->arg2;
//sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, FwUpdate);
@ -840,7 +844,6 @@ static SINT32 sf_app_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
case SF_PARA_CMD_SIG:
sf_app_para_signaling_start();
break;
default:
break;
}

View File

@ -418,11 +418,15 @@ UINT32 sf_battery_adc_value_get_once(void)
}
else
{ first_init--;
if (puiPara->BatteryType == SF_BATT_LI_PACK)
{
puiPara->BatteryType = SF_BATT_ALKALINE;
}
}
}
getBatAdcFlg = 0;
@ -969,9 +973,13 @@ void sf_battery_level_polling(void)
}
}
else{
if(puiPara->BatteryType == SF_BATT_LI_PACK)
{
puiPara->BatteryType = SF_BATT_ALKALINE;
}
}
//ret = sf_check_low_battery();
if(puiPara->BatteryLogSwitch)

View File

@ -237,7 +237,9 @@ const T_PANEL_CMD t_cmd_mode_rgb320[] = {
const T_LCD_PARAM t_mode[] = {
/*********** RGB Serial MODE *************/
{
// T_PANEL_PARAM
#if 0
{
/* Old prototype */
PINMUX_LCDMODE_RGB_SERIAL, //!< LCDMode
@ -277,6 +279,48 @@ const T_LCD_PARAM t_mode[] = {
0x0A, //!< uiHSyncSYNCwidth
0x04, //!< uiVSyncSYNCwidth
},
#else
{
/* Old prototype */
PINMUX_LCDMODE_RGB_THROUGH, //!< LCDMode
// 18000000 / 3 , //24.0f, //!< fDCLK
5000000,
#if 1
1024 / 3,//PANELWIDTH + 69*2, //!< uiHSyncTotalPeriod
720 / 3,//PANELWIDTH, //!< uiHSyncActivePeriod
69 / 3, //!< uiHSyncBackPorch
384,//PANELHEIGHT + 40, //!< uiVSyncTotalPeriod
344, //!< uiVSyncActivePeriod
2, //!< uiVSyncBackPorchOdd
2, //!< uiVSyncBackPorchEven
720 / 3,//320,//PANELWIDTH, //!< uiBufferWidth
320,//720,//PANELHEIGHT, //!< uiBufferHeight
720 / 3,//320,//PANELWIDTH, //!< uiWindowWidth
320,//720,//PANELHEIGHT, //!< uiWindowHeight
#endif
#if 0
PANELWIDTH + 200, //!< uiHSyncTotalPeriod
PANELWIDTH, //!< uiHSyncActivePeriod
10, //!< uiHSyncBackPorch
PANELHEIGHT + 140, //!< uiVSyncTotalPeriod
PANELHEIGHT, //!< uiVSyncActivePeriod
4, //!< uiVSyncBackPorchOdd
4, //!< uiVSyncBackPorchEven
PANELWIDTH, //!< uiBufferWidth
PANELHEIGHT, //!< uiBufferHeight
PANELWIDTH, //!< uiWindowWidth
PANELHEIGHT, //!< uiWindowHeight
#endif
FALSE, //!< bYCbCrFormat
/* New added parameters */
0x0A, //!< uiHSyncSYNCwidth
0x04, //!< uiVSyncSYNCwidth
},
#endif
// tIDE_PARAM
{
@ -286,8 +330,8 @@ const T_LCD_PARAM t_mode[] = {
{FALSE,FALSE}, //!< dithering[2];
DISPLAY_DEVICE_TOPPOLY, //!< **DONT-CARE**
IDE_PDIR_RBG, //!< pdir;
IDE_LCD_G, //!< odd;
IDE_LCD_G, //!< even;
IDE_LCD_B, //!< odd;
IDE_LCD_B, //!< even;
TRUE, //!< hsinv;
TRUE, //!< vsinv;
FALSE, //!< hvldinv;

Binary file not shown.

Binary file not shown.

View File

@ -202,4 +202,9 @@ void sf_set_cammode_statu(char is);
BOOL sf_set_backlight_status(unsigned char argc, char **argv);
UINT8 sf_get_net_generation(void);
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);
void sf_cardv_statistics_param_reset(void);
#endif

View File

@ -134,6 +134,12 @@ static SF_THREAD_S WaiParaTskCfg =
.IsRun = 0,
.TskId = -1,
};
static SF_THREAD_S LoadParaTskCfg =
{
.IsRun = 0,
.TskId = -1,
};
int sf_pir_statu_read(void)
{
static UINT8 state = 0;
@ -278,6 +284,7 @@ void sf_mode_detect(void)
}
else if((sf_get_pir_statu_flag()) && (CMD_FORMAT_SD_STA != sf_get_card_statu()))
{
printf("[sf_mode_detect][*x] empezar going to pir................................\n");
pwroffcnt++;
//printf("[%s:%d]pwroffcnt=%d\n",__FUNCTION__,__LINE__,pwroffcnt);
//sf_enter_auto_mode_count_down_show(4 - pwroffcnt);
@ -2514,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%
@ -3454,3 +3472,57 @@ void sf_set_net_generation(UINT8 value)
printf("[%s:%d]value(%d) invalid,no set.\n", __FUNCTION__, __LINE__, value);
}
}
void* sf_cardv_load_menu_info_thread(void *arg)
{
vos_perf_list_mark(__func__, __LINE__, 0);
SLOGI("thread run\n");
LoadParaTskCfg.IsRun = 1;
Load_MenuInfo();
SLOGI("thread end\n");
LoadParaTskCfg.IsRun = 0;
vos_perf_list_mark(__func__, __LINE__, 0);
return NULL;
}
UINT32 sf_cardv_load_menu_info_start(void)
{
SINT32 ret = 1;
if(LoadParaTskCfg.IsRun)
{
SLOGE("thread has already run !!!\n");
return 1;
}
ret = pthread_create(&LoadParaTskCfg.TskId, NULL, sf_cardv_load_menu_info_thread, NULL);
if(ret != SF_SUCCESS)
{
MLOGD("thread creat fail!\n");
return ret;
}
return SF_SUCCESS;
}
BOOL sf_vos_perf_list_dump(unsigned char argc, char **argv)
{
vos_perf_list_dump();
sleep(1);
system("dmesg");
return TRUE;
}
void sf_mem_free(void)
{
printf("[%s]:%d sf s\n", __FUNCTION__, __LINE__);
system("sync");
system("echo 3 >/proc/sys/vm/drop_caches");
printf("[%s]:%d sf e\n", __FUNCTION__, __LINE__);
}
void sf_cardv_statistics_param_reset(void)
{
SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.arg1 = SF_PARA_CMD_RESET;
stMessageBuf.cmdId = CMD_PARA;
sf_com_message_send_to_app(&stMessageBuf);
printf("[%s]:%d sf e\n", __FUNCTION__, __LINE__);
}

View File

@ -17,7 +17,7 @@
pwm2{pinmux = <0x0000000>;};
ccnt{pinmux = <0x0>;};
audio{pinmux = <0x0>;};
lcd{pinmux = <0x10000000>;};
lcd{pinmux = <0x10000006>;};/* rgb through */
tv{pinmux = <0x0>;};
eth{pinmux = <0x0>;};
misc{pinmux = <0x0>;};

View File

@ -405,9 +405,9 @@ static THREAD_RETTYPE thread_videoout(void *ptr)
pxlfmt) != HD_OK){
goto exit;
}
HD_URECT rect = (HD_URECT){0, 0, 720, 320};
// HD_URECT rect = (HD_URECT){0, 0, 720, 320};
//HD_URECT rect = (HD_URECT){0, 0, videoout_syscaps.output_dim.w, videoout_syscaps.output_dim.h};
HD_URECT rect = (HD_URECT){0, 0, videoout_syscaps.output_dim.w, videoout_syscaps.output_dim.h};
if(flow_boot_logo_videoout_set_param_in_win(path_id, rect) != HD_OK){
goto exit;
}

View File

@ -12,7 +12,9 @@
#endif
#include <gsensor.h>
#include "UIApp/AppDisp_PipView.h"
#if HUNTING_CAMERA_MCU == ENABLE
#include "sys_fastboot.h"
#endif
#define THIS_DBGLVL 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
///////////////////////////////////////////////////////////////////////////////
#define __MODULE__ SysMainCmd
@ -201,6 +203,15 @@ static BOOL Cmd_PowerOff_Test(unsigned char argc, char **argv)
return TRUE;
}
#if HUNTING_CAMERA_MCU == ENABLE
static BOOL sf_log_fastboot_msg_en(unsigned char argc, char **argv)
{
fastboot_msg_en(ENABLE);
DBG_DUMP("log ENABLE\r\n");
return TRUE;
}
#endif
SXCMD_BEGIN(sys_cmd_tbl, "system command")
SXCMD_ITEM("mem %", cmd_sys_mem, "system memory layout")
SXCMD_ITEM("pip %", Cmd_user_pip, "pip view style")
@ -214,7 +225,9 @@ SXCMD_ITEM("curl", Cmd_user_CurlTest, "curl command test")
#endif
SXCMD_ITEM("power_off %", Cmd_PowerOff_Test, "flowpreview power off test")
#if HUNTING_CAMERA_MCU == ENABLE
SXCMD_ITEM("log %", sf_log_fastboot_msg_en, "log on")
#endif
SXCMD_END()

View File

@ -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;

View File

@ -237,7 +237,9 @@ const T_PANEL_CMD t_cmd_mode_rgb320[] = {
const T_LCD_PARAM t_mode[] = {
/*********** RGB Serial MODE *************/
{
// T_PANEL_PARAM
#if 0
{
/* Old prototype */
PINMUX_LCDMODE_RGB_SERIAL, //!< LCDMode
@ -277,6 +279,48 @@ const T_LCD_PARAM t_mode[] = {
0x0A, //!< uiHSyncSYNCwidth
0x04, //!< uiVSyncSYNCwidth
},
#else
{
/* Old prototype */
PINMUX_LCDMODE_RGB_THROUGH, //!< LCDMode
// 18000000 / 3 , //24.0f, //!< fDCLK
5000000,
#if 1
1024 / 3,//PANELWIDTH + 69*2, //!< uiHSyncTotalPeriod
720 / 3,//PANELWIDTH, //!< uiHSyncActivePeriod
69 / 3, //!< uiHSyncBackPorch
384,//PANELHEIGHT + 40, //!< uiVSyncTotalPeriod
344, //!< uiVSyncActivePeriod
2, //!< uiVSyncBackPorchOdd
2, //!< uiVSyncBackPorchEven
720 / 3,//320,//PANELWIDTH, //!< uiBufferWidth
320,//720,//PANELHEIGHT, //!< uiBufferHeight
720 / 3,//320,//PANELWIDTH, //!< uiWindowWidth
320,//720,//PANELHEIGHT, //!< uiWindowHeight
#endif
#if 0
PANELWIDTH + 200, //!< uiHSyncTotalPeriod
PANELWIDTH, //!< uiHSyncActivePeriod
10, //!< uiHSyncBackPorch
PANELHEIGHT + 140, //!< uiVSyncTotalPeriod
PANELHEIGHT, //!< uiVSyncActivePeriod
4, //!< uiVSyncBackPorchOdd
4, //!< uiVSyncBackPorchEven
PANELWIDTH, //!< uiBufferWidth
PANELHEIGHT, //!< uiBufferHeight
PANELWIDTH, //!< uiWindowWidth
PANELHEIGHT, //!< uiWindowHeight
#endif
FALSE, //!< bYCbCrFormat
/* New added parameters */
0x0A, //!< uiHSyncSYNCwidth
0x04, //!< uiVSyncSYNCwidth
},
#endif
// tIDE_PARAM
{
@ -286,8 +330,8 @@ const T_LCD_PARAM t_mode[] = {
{FALSE,FALSE}, //!< dithering[2];
DISPLAY_DEVICE_TOPPOLY, //!< **DONT-CARE**
IDE_PDIR_RBG, //!< pdir;
IDE_LCD_G, //!< odd;
IDE_LCD_G, //!< even;
IDE_LCD_B, //!< odd;
IDE_LCD_B, //!< even;
TRUE, //!< hsinv;
TRUE, //!< vsinv;
FALSE, //!< hvldinv;