diff --git a/code/application/source/sf_app/code/include/sf_device.h b/code/application/source/sf_app/code/include/sf_device.h index 1cb8b81d4..72ccc0d20 100644 --- a/code/application/source/sf_app/code/include/sf_device.h +++ b/code/application/source/sf_app/code/include/sf_device.h @@ -18,7 +18,13 @@ typedef enum sfHAL_LED_STATE_E SF_HAL_LED_STATE_BUIT, } SF_HAL_LED_STATE_E; +typedef enum sf_MSG_FORMAT_SD_e +{ + CMD_FORMAT_SD_OK = 0, + CMD_FORMAT_SD_STA = 1, + CMD_FORMAT_SD_ERR = 10, +}SF_MSG_FORMAT_SD_E; SINT32 app_pir_monitoring_start(void); @@ -59,6 +65,8 @@ BOOL sf_load_bt_ko(void); SINT32 sf_in_update(void); +void sf_set_card_statu(UINT32 val); +UINT32 sf_get_card_statu(void); #ifdef __cplusplus #if __cplusplus } diff --git a/code/application/source/sf_app/code/include/sf_param_enum.h b/code/application/source/sf_app/code/include/sf_param_enum.h index 179d37b27..491bb5e3f 100755 --- a/code/application/source/sf_app/code/include/sf_param_enum.h +++ b/code/application/source/sf_app/code/include/sf_param_enum.h @@ -482,6 +482,8 @@ typedef enum sf_PARA_MESSAGE_TYPE_E SF_PARA_CMD_BATTERY_LEVEL = 0x1F02, SF_PARA_CMD_WAIT = 0x1F03, SF_PARA_CMD_SIG = 0x1F04, + SF_PARA_CMD_BLE = 0x1F05, + }SF_PARA_MESSAGE_TYPE_E; typedef enum sf_WIFI_MESSAGE_TYPE_E diff --git a/code/application/source/sf_app/code/source/app/sf_common.c b/code/application/source/sf_app/code/source/app/sf_common.c index c975f30eb..7bce977e1 100755 --- a/code/application/source/sf_app/code/source/app/sf_common.c +++ b/code/application/source/sf_app/code/source/app/sf_common.c @@ -709,6 +709,9 @@ static SINT32 sf_app_process_cmd_SD(SF_MESSAGE_BUF_S *pMessageBuf) } break; */ + case CMD_SD_FORMAT: + sf_set_card_statu(pMessageBuf->arg2); + break; default: break; } diff --git a/code/application/source/sf_app/code/source/app/sf_device.c b/code/application/source/sf_app/code/source/app/sf_device.c index f35a5a153..f84944026 100755 --- a/code/application/source/sf_app/code/source/app/sf_device.c +++ b/code/application/source/sf_app/code/source/app/sf_device.c @@ -44,6 +44,7 @@ extern pthread_mutex_t GPIO_mutexLock; static SINT32 IsCardFull = 0; static SINT32 isGoing2Pir = 0; static SINT32 IsCard = 0; +static int formatSD = CMD_FORMAT_SD_ERR; SF_THREAD_S PirMonitorTskCfg = { @@ -560,6 +561,16 @@ void sf_set_pir_statu_flag(SINT32 flag) isGoing2Pir = flag; } +void sf_set_card_statu(UINT32 val) +{ + formatSD = val; +} + +UINT32 sf_get_card_statu(void) +{ + return formatSD; +} + static BOOL sf_system_check_usb_host(void) { char command[26] = "lsmod | grep usbcore"; diff --git a/code/lib/source/sifar/code/include/sf_common.h b/code/lib/source/sifar/code/include/sf_common.h index c1a7116d6..314d9aeeb 100755 --- a/code/lib/source/sifar/code/include/sf_common.h +++ b/code/lib/source/sifar/code/include/sf_common.h @@ -15,6 +15,14 @@ typedef enum MCU_FLAG_INIT { HD_FLAG_INIT_MAX_CNT = 32, //flag max bit cnt is 32 } HD_FLAG_INIT; +typedef enum sfBLE_STATUS_E +{ + SF_BLE_OK = 0x01,/*BLE start success*/ + SF_BLE_CON, /*BLE has been connected*/ + SF_BLE_FAIL, /*BLE start fail*/ + SF_BLE_BUTT, +} SF_BLE_STATUS_E; + void sf_mode_detect(void); int sf_pir_statu_read(void); void sf_set_pir_power_off_flag(BOOL flag); @@ -138,4 +146,6 @@ BOOL sf_cmd_para_printf(unsigned char argc, char **argv); BOOL cmd_blu_switch(unsigned char argc, char **argv); BOOL sf_ota_trigger(void); BOOL sf_ota_result(void); +SF_BLE_STATUS_E sf_get_ble_status(void); +void sf_set_ble_status(SF_BLE_STATUS_E enStatus); #endif diff --git a/code/lib/source/sifar/code/source/common/sf_common.c b/code/lib/source/sifar/code/source/common/sf_common.c index 4e2144af7..8af5c345a 100755 --- a/code/lib/source/sifar/code/source/common/sf_common.c +++ b/code/lib/source/sifar/code/source/common/sf_common.c @@ -91,6 +91,8 @@ static pthread_mutex_t Param_mutexLock; static int shared_condition = 1; static SINT32 WifiSocket = 0; static UINT8 UiparaFlag = 0; +static SF_BLE_STATUS_E BleStatus = SF_BLE_BUTT; + static SF_THREAD_S UpgradeTskParam = { .IsRun = 0, @@ -299,7 +301,7 @@ void sf_mode_detect(void) //countDownOffFlg = 0; } - if(puiPara->AutoOffSwitch == 0 || (0x04 == NetWorkFlag/*SF_4G_SENDING*/) || (0x05 == NetWorkFlag/*SF_4G_SEARCHING*/) || (sf_get_fw_update()) || (sf_get_module_update())/*|| (appActiveStateGet() == APP_STATE_CUSTOMER_TRANSFER)*/) + if(puiPara->AutoOffSwitch == 0 || SF_BLE_CON == sf_get_ble_status() || (0x04 == NetWorkFlag/*SF_4G_SENDING*/) || (0x05 == NetWorkFlag/*SF_4G_SEARCHING*/) || (sf_get_fw_update()) || (sf_get_module_update())/*|| (appActiveStateGet() == APP_STATE_CUSTOMER_TRANSFER)*/) { AutoOfftime=0; } @@ -480,7 +482,7 @@ BOOL sf_cmd_video_size(unsigned char argc, char **argv) int iCurrMode = System_GetState(SYS_STATE_CURRMODE); int iNextMode = PRIMARY_MODE_PHOTO; - if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO)) + if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_VIDEO2)) { iNextMode = PRIMARY_MODE_PHOTO; } @@ -1109,7 +1111,7 @@ BOOL cmd_cam_mode(unsigned char argc, char **argv) int iNextMode = PRIMARY_MODE_PHOTO; if(value < SF_CAM_MODE_MAX){ puiPara->CamMode = value; - if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO)) + if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_VIDEO2)) { iNextMode = PRIMARY_MODE_PHOTO; } @@ -1698,6 +1700,9 @@ static SINT32 sf_cardv_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf) break; case SF_PARA_CMD_SIG: sf_cardv_para_signaling_start(); + break; + case SF_PARA_CMD_BLE: + break; default: break; @@ -2042,6 +2047,8 @@ void sf_hd_flag_clear_done(HD_FLAG_INIT flag) vos_flag_clr(sf_hd_flag_id, (FLGPTN)-1); } +#if !SF_UBOOT_UPDATA_FW + static UINT32 sf_fwupdate(void) { DBG_FUNC_BEGIN("\r\n"); @@ -2066,7 +2073,7 @@ static UINT32 sf_fwupdate(void) DBG_FUNC_END("\r\n"); return result; } - +#else BOOL sf_ota_trigger(void) { UINT32 uiUserData = WDT_OTA_MAKEFOURCC(WDT_OTA_STS_LINUX_TRIGGER); @@ -2074,7 +2081,7 @@ BOOL sf_ota_trigger(void) Ux_PostEvent(NVTEVT_ALGMSG_FOCUSEND, 0); - sprintf(cmd, "mem w %x %x",WDT_REG_ADDR(WDT_DATA_OFS),uiUserData); + sprintf(cmd, "mem w %x %lx",WDT_REG_ADDR(WDT_DATA_OFS),uiUserData); system(cmd); system("watchdog -T 1 -t 5 /dev/watchdog"); @@ -2128,6 +2135,8 @@ BOOL sf_ota_result(void) return TRUE; } +#endif + void* sf_sys_do_upgrade(void *arg) { //int s32Ret = 0; @@ -2620,7 +2629,7 @@ void* sf_cardv_cap_thread(void *arg) UIMenuStoreInfo *puiPara = sf_ui_para_get(); int iCurrMode = System_GetState(SYS_STATE_CURRMODE); int iNextMode = PRIMARY_MODE_PHOTO; - if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO)) + if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_VIDEO2)) { iNextMode = PRIMARY_MODE_PHOTO; } @@ -3144,3 +3153,21 @@ BOOL cmd_blu_switch(unsigned char argc, char **argv) return TRUE; } + +SF_BLE_STATUS_E sf_get_ble_status(void) +{ + return BleStatus; +} + +void sf_set_ble_status(SF_BLE_STATUS_E enStatus) +{ + if(enStatus < SF_BLE_BUTT) + { + BleStatus = enStatus; + } + + else + SLOGE("Type format error\n"); + return; + +} \ No newline at end of file