Merge branch 'Branch_S550_Fast_Emmc' of gitlab.sifar.tech:linux-em-group/s530-ntk into branch_s550_fast_emmc

This commit is contained in:
xiaojiazhu 2024-01-03 16:48:27 +08:00
commit 9ee4af14eb
28 changed files with 373 additions and 95 deletions

View File

@ -72,10 +72,16 @@ insmod /etc/lib/modules/$KERVER/extra/fs/exfat/exfat.ko
#mdev -s
# Scan for without insert card
if [ ! -f /tmp/.nvt_mounts ]; then
/etc/mdev-script/autosd.sh
rm -rf /tmp/.nvt_mounts;
if [ -d "/sys/class/block/mmcblk0p1" ]; then
mknod /dev/mmcblk0p1 b `cat /sys/class/block/mmcblk0p1/dev | sed "s/:/\ /g"`
fi
if [ -d "/sys/class/block/mmcblk1p1" ]; then
mknod /dev/mmcblk1p1 b `cat /sys/class/block/mmcblk1p1/dev | sed "s/:/\ /g"`
fi
echo "fs" > /proc/nvt_info/bootts
# Scan for without insert card
if [ ! -f /tmp/.nvt_mounts ]; then
/etc/mdev-script/autosd.sh
rm -rf /tmp/.nvt_mounts;
fi

View File

@ -201,8 +201,6 @@ ${PREFIX}/lib/modules/$KERVER/hdal/kdrv_videoout/fbdev/nvt_fb.ko
#insmod ${PREFIX}/lib/modules/$KERVER/hdal/comm/usb2dev/nvt_usb2dev.ko
#fi
mount /dev/mmcblk1p1 /mnt/sd2
if [ -f /usr/bin/isp_demon ]; then
/usr/bin/isp_demon
else

View File

@ -259,16 +259,30 @@ UINT32 pll_get_pll_freq(PLL_ID id)
*/
UINT32 pll_get_clock_rate(PLL_CLKSEL clk_sel)
{
UINT32 ui_mask, ui_reg_offset;
REGVALUE reg_data;
UINT32 ui_mask, ui_reg_offset;
REGVALUE reg_data;
ui_reg_offset = 0x20;
ui_mask = (0x7<<PLL_CLKSEL_IDE_CLKSRC_OFS);
// 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;
return (UINT32)reg_data;
reg_data = INREG32(IOADDR_CG_REG_BASE + ui_reg_offset);
reg_data &= ui_mask;
return (UINT32)reg_data;
}
void pll_set_clock_rate(PLL_CLKSEL clk_sel, UINT32 ui_value)

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

@ -81,6 +81,11 @@ void SF_StrgUnInit(void)
pMMCDev = NULL;
}
int SF_GetMMCDevHandle(MMC_DEV_TYPE dev_type)
{
return sf_mmc_dev[dev_type]->dcf_handle;
}
void SF_StrgSetDcfHandle(UINT32 strg_id, UINT32 handle)
{
sf_mmc_dev[strg_id]->dcf_handle = handle;

View File

@ -87,7 +87,7 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void);
void SF_SetMMCDev(SF_ST_MMC_DEV *pDev);
SF_ST_MMC_DEV *SF_GetMMCDev(void);
int sf_mmc_dev_check_start(void);
int SF_GetMMCDevHandle(MMC_DEV_TYPE dev_type);

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)

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

@ -54,7 +54,7 @@ void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2)
SF_MESSAGE_BUF_S stMessageBuf = {0};
#endif
DBG_IND("Strg_CB: strg_id = %d, status = %d\n", param1, param2);
printf("Strg_CB: strg_id = %d, status = %d\n", param1, param2);
switch (event) {
// part-1
case SYSTEM_CB_CONFIG:

View File

@ -1218,20 +1218,12 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
}
#if HUNTING_CAMERA_MCU == ENABLE
if((FS_DISK_ERROR == System_GetState(SYS_STATE_FS))){
stMessageBuf.arg1 = CMD_SD_STRG_CB_UNMOUNT_FINISH;
stMessageBuf.arg2 = strg_id;
stMessageBuf.cmdId = CMD_SD;
sf_com_message_send_to_app(&stMessageBuf);
#if USE_MMC_DEV_CHECK
if(strg_id == 1)
{
printf("emmc mounted failed, remount\n");
system("mount /dev/mmcblk1p1 /mnt/sd2");
stMessageBuf.arg1 = CMD_SD_STRG_CB_MOUNT_FINISH;
}
SF_StrgRegister(&stMessageBuf);
#endif
printf("System_OnStrgAttach send UNMOUNT! dev_id = %d\n", strg_id);

View File

@ -388,6 +388,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

@ -766,12 +766,40 @@ UINT32 PhotoExe_GetFreePicNum(void)
UINT32 PhotoExe_GetTotalPicNum(void)
{
UINT64 uiSpace;
UINT64 uiSpace = 0;
UINT32 totalImgNum;
UINT32 reserveSize = 0x80000; // 500KB
UINT32 CaptureSize;
UINT32 size;
#if USE_MMC_DEV_CHECK
SF_ST_MMC_DEV *mmc_dev = SF_GetMMCDev();
if(mmc_dev == NULL)
{
DBG_ERR("No MMC_Dev Can use!\n");
return 0;
}
if(mmc_dev->dcf_handle < 0)
{
DBG_ERR("dcf_handle err!\n");
return 0;
}
#endif
#if USE_MMC_DEV_CHECK
if(mmc_dev->dev_type == MMC_DEV_SD)
{
uiSpace = FileSys_GetDiskInfoEx('A', FST_INFO_DISK_SIZE);
}
else if(mmc_dev->dev_type == MMC_DEV_EMMC)
{
uiSpace = FileSys_GetDiskInfoEx('B', FST_INFO_DISK_SIZE);
}
#else
uiSpace = FileSys_GetDiskInfo(FST_INFO_DISK_SIZE);
#endif
//DBG_IND("[cap]Free Space = %d KB\r\n", uiSpace / 1024);

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

@ -14,6 +14,8 @@
#define __DBGFLT__ "*" //*=All, [mark]=CustomClass
#include <kwrap/debug.h>
#include "SF_SysStrgMng.h"
PHOTO_TASK_DATA gPhotoData = { 0 };
static UINT32 g_uiFreePicNum = 0;
@ -28,7 +30,29 @@ CHAR *Get_FreePicNumString(UINT32 uiValue)
return 0;
}
unsigned long fileCount = 0;
#if USE_MMC_DEV_CHECK
SF_ST_MMC_DEV *mmc_dev = SF_GetMMCDev();
if(mmc_dev == NULL)
{
DBG_ERR("No MMC_Dev Can use!\n");
return NULL;
}
if(mmc_dev->dcf_handle < 0)
{
DBG_ERR("dcf_handle err!\n");
return NULL;
}
#endif
#if USE_MMC_DEV_CHECK
if(mmc_dev->dev_type != MMC_DEV_NO)
{
fileCount = DCF_GetDBInfoEx(mmc_dev->dcf_handle, DCF_INFO_TOL_FILE_COUNT);
}
#else
fileCount = DCF_GetDBInfo(DCF_INFO_TOL_FILE_COUNT);
#endif
snprintf(g_cFreePicNumStr, sizeof(g_cFreePicNumStr), "%05ld/%05ld", fileCount, uiValue);
return g_cFreePicNumStr;
}

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,9 @@ extern void PBView_DrawNoFile(void);
static void stop_play(void);
//#NT#2023/11/14#Eric - end
#define HANDLE_SD 1
#define HANDLE_EMMC 0
static BOOL g_PlayBgInitFileSys = FALSE;
#if 1
@ -221,6 +224,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 +298,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 +308,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:
@ -307,33 +328,25 @@ 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);
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);
Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PLAYBACK);
}
ProfileFocused = 0;
hidde_Selection_page();
@ -1271,8 +1284,19 @@ static void set_indev_keypad_group(lv_obj_t* obj)
static void UIFlowPlay_ScrOpen(lv_obj_t* obj)
{
DBG_IND("UIFlowPlay_ScrOpen\r\n");
int SelectedHandle = System_Get_DCF_Handle();
printf("[UIFlowPlay_ScrOpen][*x] select handle: %d.\n", SelectedHandle);
if (SelectedHandle == HANDLE_SD)
{
ProfileSelected = 1;
}
else if (SelectedHandle == HANDLE_EMMC)
{
ProfileSelected = 0;
}
set_indev_keypad_group(obj);
if (UIStorageCheck(STORAGE_CHECK_ERROR, NULL) == TRUE) {

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

View File

@ -2354,6 +2354,7 @@ void sf_power_on_para_check_init(void)
puiPara->FristSendDailyAndGps = 1;
puiPara->GpsSendFlag = 0;
memset(puiPara->SimIccid,'\0',sizeof(puiPara->SimIccid));
memset(puiPara->ServiceProvider,'\0',sizeof(puiPara->ServiceProvider));
}
else if(PowerOnMode == PWR_ON_TIME_SYNC)
{

View File

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

View File

@ -964,17 +964,7 @@ unsigned char sf_commu_parse_mcu_data(unsigned char * src, unsigned int len)
{
sf_set_pir_statu_flag(0);
sf_set_module_sleep_flag(0);
if((PWR_ON_SETUP != sf_poweron_type_get()) && (PWR_ON_USB!= sf_poweron_type_get()))
{
printf("[power off] %s(%d)\n", __FUNCTION__, __LINE__);
sf_set_power_off_flag(1);
//sf_app_battery_stop();
system("watchdog -T 1 -t 5 /dev/watchdog");
}
else
{
sf_com_message_send_to_cardv(&stMessageBuf);
}
sf_com_message_send_to_cardv(&stMessageBuf);
}
else if(0 == stMessageBuf.arg3) //ON->OFF
{

View File

@ -449,7 +449,7 @@ SINT32 sf_hal_ttyusb2_read_buf(SF_TTY_DATA_TYPE_S *recv)
}
else if (0 == s32ret) {
waitTime--;
MLOGW("FIFO select timeout [%d]\n",waitTime);
//MLOGW("FIFO select timeout [%d]\n",waitTime);
continue;
}
}

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;

View File

@ -202,4 +202,6 @@ 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);
#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);
@ -3453,4 +3460,42 @@ 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;
}

View File

@ -804,14 +804,7 @@ void sf_mcu_dataready_ck(UINT8 startMode)
gModuleSleep = 0; //power off 4G module
sf_set_power_off_flag(1);
printf("[power off] %s(%d)\n", __FUNCTION__, __LINE__);
if((startMode == 1) && (PWR_ON_AUTO == sf_cardv_convert_power_on_mode()))
{
system("watchdog -T 1 -t 5 /dev/watchdog");
}
else
{
Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, 0); //shutdown start
}
Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, 0); //shutdown start
}
}

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,20 +405,20 @@ 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};
if(flow_boot_logo_videoout_set_param_in_win(path_id, rect) != HD_OK){
goto exit;
}
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;
}
hd_videoout_start(path_id);
hd_videoout_start(path_id);
exit:
vos_flag_set(task_param->flag, FLAG_VIDEOOUT_TASK_EXIT);
vos_flag_set(task_param->flag, FLAG_VIDEOOUT_TASK_EXIT);
LINUX_BOOT_MSG("%s exit\n", __func__);
THREAD_RETURN(0);
LINUX_BOOT_MSG("%s exit\n", __func__);
THREAD_RETURN(0);
}
static THREAD_RETTYPE thread_videodec(void *ptr)

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

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