diff --git a/code/application/source/sf_app/code/source/4gMng/sf_sms.c b/code/application/source/sf_app/code/source/4gMng/sf_sms.c index 273567ffb..129e0ac2d 100755 --- a/code/application/source/sf_app/code/source/4gMng/sf_sms.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_sms.c @@ -2447,6 +2447,10 @@ SINT32 sf_power_off_check_sms(void) UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); SLOGD(" s %d %d\n",sf_get_sim_insert(), sf_app_while_flag()); + if((0 != puiPara->SendType) && ((PowerOnMode == PWR_ON_TIMELAPSE) || (PowerOnMode == PWR_ON_PIR))) + { + return 0; + } /*instant, hybrid mode*/ if((!sf_get_signal_ready_flag()) && (sf_get_sim_insert()) && (sf_app_while_flag()) && (puiPara->GprsSwitch)) { diff --git a/rtos/code/driver/na51089/source/mcu/sf_mcu.c b/rtos/code/driver/na51089/source/mcu/sf_mcu.c index 2d87fe043..0a7419f6b 100755 --- a/rtos/code/driver/na51089/source/mcu/sf_mcu.c +++ b/rtos/code/driver/na51089/source/mcu/sf_mcu.c @@ -1770,51 +1770,64 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) mcuData[i++] = puiPara->TimeSend4.Min; }else if(attrId == SF_MCU_CTRL_MODULE_PIR){ - mcuReg[i] = FUNCTION_SWTICH2;//dbg test - mcuData[i++] = 2; - mcuReg[i] = WDT_TIME; - mcuData[i++] = 5;//sf_mcu_wdg_set(5); - - mcuReg[i] = ANALOG_PIR_SENSITIVITY; + PowerOnMode = sf_get_power_on_mode(); + if((0 != puiPara->SendType) && ((PowerOnMode == PWR_ON_TIMELAPSE) || (PowerOnMode == PWR_ON_PIR))) + { + mcuReg[i] = FUNCTION_SWTICH2;//dbg test + mcuData[i++] = 2; - temp = (puiPara->PirSensitivity);//sf_mcu_analog_pir_sen_convert(SysGetFlag(DigPirSensitivity)); - - if(puiPara->GprsMode)//hybrid mode 4G module keep sleep - { - temp |= 0x40; - } - - if((puiPara->GprsSwitch) && (val == 1)) - { - temp |= 0x80; + mcuReg[i] = WDT_TIME; + mcuData[i++] = 5;//sf_mcu_wdg_set(5); } else { - //sf_pdp_flg_set(0); - } + mcuReg[i] = FUNCTION_SWTICH2;//dbg test + mcuData[i++] = 2; - mcuData[i++] = temp; + mcuReg[i] = WDT_TIME; + mcuData[i++] = 5;//sf_mcu_wdg_set(5); - if(ConfigureModeFlag) - { - mcuReg[i] = DIGITAL_PIR_SENSITIVITY; - mcuData[i++] = (puiPara->DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)]; - mcuReg[i] = DIGITAL_PIR_CFG; - mcuData[i++] = ((puiPara->DigitPirWindowTime) << 4) | (puiPara->DigitPirCnt); - } + mcuReg[i] = ANALOG_PIR_SENSITIVITY; - if(((puiPara->GpsSwitch) || (puiPara->FristSendDailyAndGps)) && (ConfigureModeFlag || paraSyncFlag)) - { - mcuReg[i] = GPS_POWER_TIMER_CLEAR; - mcuData[i++] = 1; - mcuReg[i] = GPS_POWER_CTRL; - mcuData[i++] = 1; - } - else - { - mcuReg[i] = GPS_POWER_CTRL; - mcuData[i++] = 0; + temp = (puiPara->PirSensitivity);//sf_mcu_analog_pir_sen_convert(SysGetFlag(DigPirSensitivity)); + + if(puiPara->GprsMode)//hybrid mode 4G module keep sleep + { + temp |= 0x40; + } + + if((puiPara->GprsSwitch) && (val == 1)) + { + temp |= 0x80; + } + else + { + //sf_pdp_flg_set(0); + } + + mcuData[i++] = temp; + + if(ConfigureModeFlag) + { + mcuReg[i] = DIGITAL_PIR_SENSITIVITY; + mcuData[i++] = (puiPara->DigitPirSensitivity);//PirDigtSensRegValue[SysGetFlag(PirSensitivity)]; + mcuReg[i] = DIGITAL_PIR_CFG; + mcuData[i++] = ((puiPara->DigitPirWindowTime) << 4) | (puiPara->DigitPirCnt); + } + + if(((puiPara->GpsSwitch) || (puiPara->FristSendDailyAndGps)) && (ConfigureModeFlag || paraSyncFlag)) + { + mcuReg[i] = GPS_POWER_TIMER_CLEAR; + mcuData[i++] = 1; + mcuReg[i] = GPS_POWER_CTRL; + mcuData[i++] = 1; + } + else + { + mcuReg[i] = GPS_POWER_CTRL; + mcuData[i++] = 0; + } } }else if(attrId == SF_MCU_PARA){ mcuReg[i] = ANALOG_PIR_SENSITIVITY;