static void mmi_em_misc_rf_desense_mode_ctp_no_sweep(void) { rf_desense_set_curr_mode(RF_DESENSE_MODE_CTP_NO_SWEEP); #if defined(__TOUCH_PANEL_CAPACITY__) touch_panel_capacitive_power_on(KAL_FALSE); #endif // #if defined(__TOUCH_PANEL_CAPACITY__) }
DCL_STATUS DclSTS_Control(DCL_HANDLE handle, DCL_CTRL_CMD cmd, DCL_CTRL_DATA_T *data) { if(DCL_STS_IS_HANDLE_MAGIC(handle) == 0) { return STATUS_INVALID_ARGUMENT; } switch(cmd) { case STS_CMD_GET_EVENT: { kal_bool fg; TouchPanelMultipleEventStruct prTouchData; STS_CTRL_GET_T *prCtrlGE; prCtrlGE = &(data->rTSCtrlGE); fg = touch_panel_get_event_(&prTouchData); if(fg!=KAL_FALSE) CopyEvent(prCtrlGE, &prTouchData); // copy prTouchData to prCtrlGE return fg; } case STS_CMD_PEEK_EVENT: { extern kal_bool touch_panel_peek_event_(TouchPanelMultipleEventStruct *touch_data); kal_bool fg; TouchPanelMultipleEventStruct prTouchData; STS_CTRL_GET_T *prCtrlGE; prCtrlGE = &(data->rTSCtrlGE); fg = touch_panel_peek_event_(&prTouchData); if(fg!=KAL_FALSE) { CopyEvent(prCtrlGE, &prTouchData); // copy prTouchData to prCtrlPE } return fg; } case STS_CMD_ENABLE: { STS_CTRL_EN_T *prCtrlEN; prCtrlEN = &(data->rTSCtrlEN); touch_panel_enable_((kal_bool)prCtrlEN->fgEnable);/*enable/disable touch panel*/ break; } case STS_CMD_FLUSH: { touch_panel_flush_();/*flsuh data in ring buffer*/ break; } case STS_CMD_START_CALI: { STS_CTRL_SC_T *prCtrlSC; prCtrlSC = &(data->rTSCtrlSC); touch_panel_start_cali_((TouchPanelCoordStruct *)(prCtrlSC->rpPoint), prCtrlSC->u2Num); break; } case STS_CMD_STOP_CALI: { touch_panel_stop_cali_(); break; } case STS_CMD_READ_CALI: { STS_CTRL_RC_T *prCtrlRC; TouchPanelCaliStruct rTPCali; prCtrlRC = &(data->rTSCtrlRC); touch_panel_read_cali_(&rTPCali ); prCtrlRC->rCali.x_slope = rTPCali.x_slope; prCtrlRC->rCali.x_offset = rTPCali.x_offset; prCtrlRC->rCali.y_slope = rTPCali.y_slope; prCtrlRC->rCali.y_offset = rTPCali.y_offset; break; } case STS_CMD_SET_CALI: { STS_CTRL_SETC_T *prCtrlSETC; TouchPanelCaliStruct rTPCali; prCtrlSETC = &(data->rTSCtrlSETC); rTPCali.x_slope = prCtrlSETC->rCali.x_slope; rTPCali.x_offset = prCtrlSETC->rCali.x_offset; rTPCali.y_slope = prCtrlSETC->rCali.y_slope; rTPCali.y_offset = prCtrlSETC->rCali.y_offset; touch_panel_set_cali_(rTPCali); break; } case STS_CMD_RESET: { STS_CTRL_RESET_T *prCtrlRESET; prCtrlRESET = &(data->rTSCtrlRESET); touch_panel_reset_((kal_bool)prCtrlRESET->fgSkipUnreleaseEnable); break; } case STS_CMD_RESET_HANDWRITING: { touch_panel_reset_handwriting_(); break; } case STS_CMD_CONF_SAMPLE_PERIOD: { STS_CTRL_CSP_T *prCtrlCSP; prCtrlCSP = &(data->rTSCtrlCSP); touch_panle_conf_sample_period_(prCtrlCSP->u4Low, prCtrlCSP->u4High); break; } case STS_CMD_CONF_MOVE_OFFSET: { STS_CTRL_CMO_T *prCtrlCMO; prCtrlCMO = &(data->rTSCtrlCMO); touch_panel_conf_move_offset_(prCtrlCMO->u2Pen_offset, prCtrlCMO->u2Stroke_offset, prCtrlCMO->u2Longtap_pen_offset, prCtrlCMO->u2Longtap_stroke_offset); break; } case STS_CMD_CONF_HANDWRITING: { STS_CTRL_CHW_T *prCtrlCHW; prCtrlCHW = &(data->rTSCtrlCHW); touch_panel_conf_handwriting_((TouchPanelHandAreaStruct*)(prCtrlCHW->rArea), prCtrlCHW->u2n, (TouchPanelHandAreaStruct*)(prCtrlCHW->rExtArea) ); break; } case STS_CMD_CONF_TIMEOUT_PERIOD: { STS_CTRL_CTP_T *prCtrlCTP; prCtrlCTP = &(data->rTSCtrlCTP); touch_panle_conf_timeout_period_(prCtrlCTP->u4Longtap, prCtrlCTP->u4Repeat, prCtrlCTP->u4Handwriting_longtap); break; } case STS_CMD_POWER_ON: { #if defined(__TOUCH_PANEL_CAPACITY__) STS_CTRL_POWER_ON_T *prCtrlPO; prCtrlPO = &(data->rTSCtrlPO); touch_panel_capacitive_power_on((kal_bool)prCtrlPO->fgPowerOn); #endif break; } case STS_CMD_SET_DEVICE: { #if defined(__TOUCH_PANEL_CAPACITY__) STS_CTRL_SET_DEVICE_T *prCtrlSD; prCtrlSD = &(data->rTSCtrlSD); touch_panel_capacitive_set_device((ctp_device_mode_enum)prCtrlSD->mode); #endif break; } case STS_CMD_COMMAND: { #if defined(__TOUCH_PANEL_CAPACITY__) STS_CTRL_COMMAND_T *prCtrlCmd; prCtrlCmd = &(data->rTSCtrlCmd); touch_panel_capacitive_command(prCtrlCmd->u4Command, prCtrlCmd->pVoid1, prCtrlCmd->pVoid2); #endif break; } case STS_CMD_CTRL_CUSTOM_PARAM: { DCL_CTRL_CUSTOM_PARAM_T* prCtrlCCP; prCtrlCCP = &(data->rTSCtrlCustomParam); Touch_Panel_Ctrl_Param(*prCtrlCCP); break; } case STS_CMD_CTRL_CUSTOM_PARAM_RANGE: { DCL_CTRL_CUSTOM_PARAM_RANGE_T* prCtrlCPR; prCtrlCPR = &(data->rTSCtrlCustomParamRang); Touch_Panel_Ctrl_Param_Range(*prCtrlCPR); break; } case STS_CMD_CTRL_MICRONMETER_TO_COORD: { DCL_CTRL_MICRONMETER_COORD_T* prCtrlCMP; prCtrlCMP = &(data->rTSCtrlMicronMeter_Pixel); Touch_Panel_MicronMeter_To_Coord(prCtrlCMP); break; } case STS_CMD_CTRL_COORD_TO_MICRONMETER: { DCL_CTRL_MICRONMETER_COORD_T* prCtrlCM; prCtrlCM = &(data->rTSCtrlMicronMeter_Pixel); Touch_Panel_Pixel_To_MicronMeter(prCtrlCM); break; } case STS_CMD_QUERY_TP_TYPE: { DCL_TP_TYPE_T* prCtrlTP; prCtrlTP = &(data->rTSCtrlTouchPanelType); #if defined(__TOUCH_PANEL_CAPACITY__) prCtrlTP->TouchPanelType = CTP_Type; #else prCtrlTP->TouchPanelType = RTP_Type; #endif break; } default: { return STATUS_INVALID_CMD; } } return STATUS_OK; }