/* * FUNCTION * bmt_set_guardtimer * * DESCRIPTION * This function is to initialize the bmt_stop timer in bmt task. * * CALLS * * PARAMETERS * tick: timer tick(1 tick=4.615ms) * * RETURNS * None * * GLOBALS AFFECTED * None */ void bmt_set_guardtimer(kal_uint32 tick) { #ifdef BMT_KAL_DEBUG kal_trace(TRACE_FUNC, BMT_STOP_TIMER_START_TRC); #endif drv_trace0(TRACE_GROUP_10, BMT_STOP_TIMER_START_TRC); stack_start_timer(timer_guardcharge, 0, tick); }
/***************************************************************************** * FUNCTION * jma_audio_recorder_timer_expired * DESCRIPTION * This function handles if audio recorder timer is expired * PARAMETERS * mma_type [IN] * java_recorder [IN] * int reocrder(?) * RETURNS * void *****************************************************************************/ void jma_audio_recorder_timer_expired(kal_int32 vm_id) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ kal_uint32 record_size = 0; kal_int32 ticks = kal_milli_secs_to_ticks(200); /* 200 ms */ FS_HANDLE file_handle; kal_int32 result; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ kal_trace(TRACE_GROUP_4, FUNC_J2ME_JMA_AUDIO_RECORDER_TIMER_EXPIRED, vm_id, audio_recorder[vm_id].id, audio_recorder[vm_id].state); JMA_CS_ENTER(vm_id, JMA_VOID); if (audio_recorder[vm_id].state != JAVA_MEDIA_STATE_RECORDING) { JMA_CS_LEAVE(JMA_VOID); } EXT_ASSERT(audio_recorder[vm_id].state == JAVA_MEDIA_STATE_RECORDING, 0, 0, 0); /* Get file size */ file_handle = FS_Open(audio_recorder[vm_id].filename, FS_READ_ONLY | FS_OPEN_SHARED); if (file_handle <= 0) { kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_MARKER_FAIL); kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_D, file_handle); JMA_CS_LEAVE(JMA_VOID); } result = FS_GetFileSize(file_handle, &record_size); result = FS_Close(file_handle); if(1 == result) { kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_D, record_size+1); } kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_D, record_size); /* Reach record size limit */ if (record_size >= audio_recorder[vm_id].record_size_limit) { /* State will be changed */ jma_mvm_audio_recorder_commit(vm_id, audio_recorder[vm_id].id); jvm_post_mma_event(MMA_EVENT_RECORD_STOPPED, audio_recorder[vm_id].id, audio_recorder[vm_id].current_time); } else /* re-start timer */ { kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_STACK_START_TIMER); stack_start_timer(&java_media_timer, JAVA_MEDIA_TIMER_AUDIO_RECORDER + vm_id, ticks); } JMA_CS_LEAVE(JMA_VOID); }
/* * FUNCTION * bmt_charge_start * * DESCRIPTION * This function is to start charging algorithm. * * CALLS * * PARAMETERS * None * * RETURNS * None * * GLOBALS AFFECTED * None */ void bmt_charge_start(void) { kal_uint8 index; BMT_Charge(KAL_FALSE); BMT.pmictrl_state = PMIC_CHARGEOFF; BMT.bat_state = CHR_PRE; BMT.VBAT_UEM= VBAT_UEM_CHR_IN_FISRT; bmt_charge_time_value = 10; low_charger_count = 0; low_current_count = 0; low_temper_count = 0; over_temper_count = 0; #ifdef MTK_SLEEP_ENABLE L1SM_SleepDisable(bmt_sm_handle); #endif for(index=0;index<BMT_MAX_CHANNEL;index++) { adc_sche_modify_parameters(bmt_bmtid_adcscheid[index],1,1); adc_sche_add_item(bmt_bmtid_adcscheid[index],bmt_measure_complete1[index], bmt_adc_sche_measure); } adc_sche_set_timer_page_align(KAL_FALSE); stack_start_timer(&ChargeTimeout_timer, 0, KAL_TICKS_1_MIN*60*6); #ifdef BMT_KAL_DEBUG kal_trace(TRACE_FUNC, BMT_SAFETY_TIMER_START_TRC); #endif SaftyTimer_Flag = BMT_SaftyTimer_On; #if defined(MT6318) #if !defined(__CHARGER_USB_DETECT_WIHT_ONE_EINT__) if(pmic_is_chr_det(AC_CHR)) pmic_charging_currnet_ctrl(pmic_return_current(AC_CHR)); #ifdef __USB_MULTI_CHARGE_CURRENT__ else if (bmt_support_usb_charge()) /* If not support, charging current is not set here. */ pmic_charging_currnet_ctrl(pmic_return_current(USB_CHR)); #else /* __USB_MULTI_CHARGE_CURRENT__ */ else pmic_charging_currnet_ctrl(pmic_return_current(USB_CHR)); #endif /* __USB_MULTI_CHARGE_CURRENT__ */ #else/*defined(__CHARGER_USB_DETECT_WIHT_ONE_EINT__)*/ if(chr_usb_detect.chr_usb_present == CHARGER_PRESENT) pmic_charging_currnet_ctrl(pmic_return_current(AC_CHR)); else if(chr_usb_detect.chr_usb_present == USB_PRESENT) { #ifdef __USB_MULTI_CHARGE_CURRENT__ if (bmt_support_usb_charge()) /* If not support, charging current is not set here. */ pmic_charging_currnet_ctrl(pmic_return_current(USB_CHR)); #else /* __USB_MULTI_CHARGE_CURRENT__ */ pmic_charging_currnet_ctrl(pmic_return_current(USB_CHR)); #endif /* __USB_MULTI_CHARGE_CURRENT__ */ } #endif #endif /* defined(MT6318) */ }
/***************************************************************************** * FUNCTION * nvram_restart_timer * DESCRIPTION * Restart schedule event * PARAMETERS * void * RETURNS * void *****************************************************************************/ void nvram_restart_timer(void) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ stack_start_timer(&nvram_shadow_timer, 0, 10 * KAL_TICKS_1_SEC); /* 10sec */ }
/***************************************************************************** * FUNCTION * jma_audio_recorder_set_record_size_limit * DESCRIPTION * This function set the size limit of recorded data * PARAMETERS * mma_type [IN] Int recorder * java_recorder [IN] * limit_size [IN] * RETURNS * int - limit_size set *****************************************************************************/ kal_int32 jma_mvm_audio_recorder_set_record_size_limit(kal_int32 vm_id, kal_int32 java_recorder, kal_int32 limit_size) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ kal_int32 ticks = kal_milli_secs_to_ticks(200); /* 200 ms */ /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ kal_trace(TRACE_GROUP_4, FUNC_J2ME_JMA_MVM_AUDIO_RECORDER_SET_RECORD_SIZE_LIMIT, vm_id, java_recorder, audio_recorder[vm_id].state, limit_size); JMA_CS_ENTER(vm_id, 0); if (audio_recorder[vm_id].id != java_recorder) { kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_RESOURCE_ERROR, audio_recorder[vm_id].id); JMA_CS_LEAVE(0); } /* Save parameter */ audio_recorder[vm_id].record_size_limit = limit_size; if (vm_id != jam_mvm_get_current_vm_id()) { JMA_CS_LEAVE(limit_size); } //#ifdef __MMI_BACKGROUND_CALL__ if (jma_media_player_is_in_background_call()) { JMA_CS_LEAVE(limit_size); } //#endif /* __MMI_BACKGROUND_CALL__ */ /* start timer */ if (audio_recorder[vm_id].state == JAVA_MEDIA_STATE_RECORDING) { if(audio_recorder[vm_id].record_size_limit != -1) { kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_STACK_START_TIMER); stack_start_timer(&java_media_timer, JAVA_MEDIA_TIMER_AUDIO_RECORDER + vm_id, ticks); } } JMA_CS_LEAVE(limit_size); }
/***************************************************************************** * FUNCTION * jma_audio_recorder_start_record * DESCRIPTION * This function submit Record request to media task. * PARAMETERS * mma_type [IN] Int recorder * java_recorder [IN] * RETURNS * int - 0 *****************************************************************************/ kal_bool jma_mvm_audio_recorder_start_record(kal_int32 vm_id, kal_int32 java_recorder) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ mdi_result ret = MDI_AUDIO_FAIL; kal_int32 ticks = kal_milli_secs_to_ticks(200); /* 200 ms */ /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ kal_trace(TRACE_GROUP_4, FUNC_J2ME_JMA_MVM_AUDIO_RECORDER_START_RECORD, vm_id, java_recorder, audio_recorder[vm_id].state); JMA_CS_ENTER(vm_id, KAL_FALSE); if (audio_recorder[vm_id].id != java_recorder) { kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_RESOURCE_ERROR, audio_recorder[vm_id].id); JMA_CS_LEAVE(KAL_FALSE); } if (vm_id != jam_mvm_get_current_vm_id()) { JMA_CS_LEAVE(KAL_TRUE); } //#ifdef __MMI_BACKGROUND_CALL__ if (jma_media_player_is_in_background_call()) { JMA_CS_LEAVE(KAL_FALSE); } //#endif /* __MMI_BACKGROUND_CALL__ */ if (mmi_ucs2strlen((PS8) audio_recorder[vm_id].filename) == 0) { JMA_CS_LEAVE(KAL_FALSE); } if (audio_recorder[vm_id].state == JAVA_MEDIA_STATE_READY) { ret = mdi_audio_start_record(audio_recorder[vm_id].filename, audio_recorder[vm_id].format, 0, jma_audio_recorder_record_result_hdlr, NULL); } else if (audio_recorder[vm_id].state == JAVA_MEDIA_STATE_PAUSED) { ret = mdi_audio_resume(jma_audio_recorder_record_result_hdlr, NULL); } /* Handle result */ if (ret == MDI_AUDIO_SUCCESS) { kal_trace(TRACE_GROUP_4, J2ME_MMA_STATE_TRANSITION, vm_id, audio_recorder[vm_id].state, JAVA_MEDIA_STATE_RECORDING); audio_recorder[vm_id].state = JAVA_MEDIA_STATE_RECORDING; if (audio_recorder[vm_id].record_size_limit != -1) { kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_STACK_START_TIMER); stack_start_timer(&java_media_timer, JAVA_MEDIA_TIMER_AUDIO_RECORDER + vm_id, ticks); } JMA_CS_LEAVE(KAL_TRUE); } else { kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_MARKER_FAIL); kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_D, ret); JMA_CS_LEAVE(KAL_FALSE); } }
/* * FUNCTION * bmt_charge_start * * DESCRIPTION * This function is to start charging algorithm. * * CALLS * * PARAMETERS * None * * RETURNS * None * * GLOBALS AFFECTED * None */ void bmt_charge_start(void) { #if defined(__EVB__) && defined(__MTK_INTERNAL__) /* under construction !*/ #elif defined(__DRV_BMT_NO_CHARGING__) return; #else //#if defined(__EVB__) #if defined(__DRV_BMT_PRECHARGE_TO_FULL_DIRECTLY__) double adc; #endif //#if defined(__DRV_BMT_PRECHARGE_TO_FULL_DIRECTLY__) DCL_STATUS adc_status; ADC_CTRL_MODIFY_PARAM_T adc_para; #if defined(MT6236) || defined(MT6252) PMU_CTRL_CHR_SET_CHR_CURRENT set_chr_current; #endif //#ifdef __DRV_BMT_SW_POLLING_CHARGER_OV__ // kal_set_timer(bmt_sw_polling_timerId, (kal_timer_func_ptr)bmt_sw_polling_ov, NULL,43 , 0); //#endif //#ifdef __DRV_BMT_SW_POLLING_CHARGER_OV__ BMT_Charge(KAL_FALSE); BMT.pmictrl_state = PMIC_CHARGEOFF; #if defined(__DRV_BMT_PRECHARGE_TO_FULL_DIRECTLY__) if(g_battery_pre_voltage == 0) BMT_Current_Voltage(DCL_VBAT_ADC_CHANNEL, &g_battery_pre_voltage,&adc); BMT.bat_state = CHR_PRE_FULL_CHECK; #else //defined(__DRV_BMT_PRECHARGE_TO_FULL_DIRECTLY__) BMT.bat_state = CHR_PRE; #endif //defined(__DRV_BMT_PRECHARGE_TO_FULL_DIRECTLY__) BMT.VBAT_UEM= VBAT_UEM_CHR_IN_FISRT; low_charger_count = 0; low_current_count = 0; low_temper_count = 0; over_temper_count = 0; #if defined(DRV_BMT_HW_PRECC_WORKAROUND) SW_Workaround_Flag = KAL_TRUE; HW_Plug_Status = bmt_chr_uninit; Manual_Disable_Charge_Flag = KAL_FALSE; #endif #if defined(DRV_BMT_HIGH_VCHG_ADAPTIVE_CHARGE_CURRENT_SUPPORT) First_Time_Charge_Enable = KAL_TRUE; bmt_high_vchg_current = 0xFFFFFFF; Pre_VCharge_AVG = 0; Cur_VCharge_MAX = 0; #endif bmt_enable_sleepmode(KAL_FALSE); // #ifdef MTK_SLEEP_ENABLE // L1SM_SleepDisable(bmt_sm_handle); // #endif adc_para.u4Period = 1; adc_para.u1EvaluateCount = 1; adc_status = DclSADC_Control(bmt_adc_handle, ADC_CMD_MODIFY_PARAM, (DCL_CTRL_DATA_T *)&adc_para); if(adc_status != STATUS_OK) { ASSERT(0); } adc_status = DclSADC_Control(bmt_adc_handle, ADC_CMD_START_MEASURE, NULL); if(adc_status != STATUS_OK) { ASSERT(0); } #ifdef __BMT_CHARGE_GUARD_TIME__ bmt_set_guardtimer(KAL_TICKS_1_MIN*BMT_CHARGE_GUARD_TIME_PERIOD); drv_trace2(TRACE_GROUP_10, BMT_SAFETY_AND_GUARD_TIMER_START_TRC, BMT_TOTAL_CHARGE_TIME, BMT_CHARGE_GUARD_TIME_PERIOD); #else // __BMT_CHARGE_GUARD_TIME__ #if defined(DRV_BMT_HIGH_VCHG_ADAPTIVE_CHARGE_CURRENT_SUPPORT) bmt_safety_timer_config = KAL_FALSE; #else stack_start_timer(&ChargeTimeout_timer, 0, KAL_TICKS_1_MIN*BMT_TOTAL_CHARGE_TIME); drv_trace1(TRACE_GROUP_10, BMT_SAFETY_TIMER_START_TRC, BMT_TOTAL_CHARGE_TIME); SaftyTimer_Flag = BMT_SAFETY_TIMER_ON; #endif //#if defined(DRV_BMT_HIGH_VCHG_ADAPTIVE_CHARGE_CURRENT_SUPPORT) #endif // __BMT_CHARGE_GUARD_TIME__ #if defined(MT6236) || defined(MT6252) set_chr_current.current = PMU_CHARGE_CURRENT_200_00_MA; // Pre-CC 200mA DclPMU_Control(bmt_PmuHandler, CHR_SET_CHR_CURRENT, (DCL_CTRL_DATA_T *)&set_chr_current); #else bmt_set_chr_current(); #endif #if defined(PMIC_CHARGE_WDT) // Defined in pmic_features.h bmt_charge_enable_wdt(KAL_TRUE); #endif // #if defined(PMIC_CHARGE_WDT) drv_trace0(TRACE_GROUP_10, BMT_CHARGING_START_TRC); #endif//#if defined(__EVB__) }
/* * FUNCTION * bmt_set_estimativetimer * * DESCRIPTION * This function is to initialize the bmt_stop timer in bmt task. * * CALLS * * PARAMETERS * tick: timer tick(1 tick=4.615ms) * * RETURNS * None * * GLOBALS AFFECTED * None */ void bmt_set_estimativetimer(kal_uint32 tick) { drv_trace0(TRACE_GROUP_10, BMT_STOP_TIMER_START_TRC); stack_start_timer(timer_estimative, 0, tick); }