/******************************************************************************** //FUNCTION: // FT_DispatchMessage //DESCRIPTION: // this function is called to switch the testcase, del the header of peer buf. // //PARAMETERS: // Local_buf: [IN] local buf (cnf cmd) // Local_len: [IN] local buf size // pPeerBuf [IN] peer buff // Peer_len: [IN] peer buff size //RETURN VALUE: // TRUE is success, otherwise is fail // //DEPENDENCY: // the FT module must have been loaded. // //GLOBALS AFFECTED // None ********************************************************************************/ void FT_DispatchMessage(void *pLocalBuf, void *pPeerBuf, int local_len, int peer_len) { FT_H *ft_header; ft_header =(FT_H *)pLocalBuf; kal_int16 ft_peer_len = peer_len -8; //del the size of peer buf header char *pft_PeerBuf = (char *)pPeerBuf; pft_PeerBuf += 8; // skip the header of peer buffer FT_LOG("[FTT_Drv:] FTMainThread ID : %d ", ft_header->id); switch (ft_header->id) { case FT_IS_ALIVE_REQ_ID: //test alive FT_TestAlive((FT_IS_ALIVE_REQ *)pLocalBuf); break; #ifdef FT_WIFI_FEATURE case FT_WIFI_REQ_ID: //wifi test FT_WIFI_OP((FT_WM_WIFI_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #endif case FT_SDCARD_REQ_ID: //sdcard test FT_SDcard_OP((SDCARD_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_NVRAM_READ_REQ_ID: //nvram read FT_APEditorRead_OP((FT_AP_Editor_read_req *)pLocalBuf); break; case FT_NVRAM_WRITE_REQ_ID: //nvram write FT_APEditorWrite_OP((FT_AP_Editor_write_req *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_NVRAM_RESET_REQ_ID: //nvram reset FT_APEditorReset_OP((FT_AP_Editor_reset_req *)pLocalBuf); break; case FT_VER_INFO_REQ_ID: //get version info FT_GetVersionInfo((FT_VER_INFO_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_GPIO_REQ_ID: FT_GPIO_OP((GPIO_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; /* case FT_CHECK_META_VER_REQ_ID: //require meta dll version FT_CheckMetaDllVersion((FT_CHECK_META_VER_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; */ case FT_POWER_OFF_REQ_ID: //power off target FT_PowerOff(); break; case FT_REG_WRITE_ID: //baseband reg wirte FT_CPURegW_OP((FT_REG_WRITE_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_REG_READ_ID: //baseband reg read FT_CPURegR_OP((FT_REG_READ_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_CCT_REQ_ID: FT_CCAP_OP((FT_CCT_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_UTILITY_COMMAND_REQ_ID: //utility command FT_Peripheral_OP((FT_UTILITY_COMMAND_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #ifdef FT_BT_FEATURE case FT_BT_REQ_ID: //bt test FT_BT_OP((BT_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #endif case FT_ADC_GETMEADATA_ID: //adc test FT_AUXADC_OP((AUXADC_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #ifdef FT_GPS_FEATURE case FT_GPS_REQ_ID: FT_GPS_OP((GPS_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #endif #ifdef FT_FM_FEATURE case FT_FM_REQ_ID: FT_FM_OP((FM_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #endif case FT_L4AUD_REQ_ID: FT_L4AUDIO_OP((FT_L4AUD_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_NVRAM_BACKUP_REQ_ID: FT_NVRAM_Backup_OP((FT_NVRAM_BACKUP_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_NVRAM_RESTORE_REQ_ID: FT_NVRAM_Restore_OP((FT_NVRAM_RESTORE_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_GSENSOR_REQ_ID: FT_GSENSOR_OP((GS_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_META_MODE_LOCK_REQ_ID: FT_META_MODE_LOCK((FT_META_MODE_LOCK_REQ *)pLocalBuf); break; #ifdef FT_MATV_FEATURE case FT_MATV_CMD_REQ_ID: FT_MATV_OP((FT_MATV_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #endif case FT_REBOOT_REQ_ID: FT_Reboot((FT_META_REBOOT_REQ *)pLocalBuf); break; case FT_CUSTOMER_REQ_ID: FT_CUSTOMER_OP((FT_CUSTOMER_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_GET_CHIPID_REQ_ID: FT_GET_CHIPID_OP((FT_GET_CHIPID_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_MSENSOR_REQ_ID: FT_MSENSOR_OP((FT_MSENSOR_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_ALSPS_REQ_ID: FT_ALSPS_OP((FT_ALSPS_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_GYROSCOPE_REQ_ID: FT_GYROSENSOR_OP((GYRO_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_CTP_REQ_ID: FT_CTP_OP((Touch_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_VER_INFO_V2_REQ_ID: FT_GetVersionInfoV2((FT_VER_INFO_V2_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #ifdef FT_CMMB_FEATURE case FT_CMMB_REQ_ID: FT_CMMB_OP((MetaCmmbReq *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #endif case FT_BUILD_PROP_REQ_ID: FT_BUILD_PROP_OP((FT_BUILD_PROP_REQ *)pLocalBuf,(char *)pft_PeerBuf, ft_peer_len); break; #ifdef FT_EMMC_FEATURE case FT_EMMC_REQ_ID: FT_CLR_EMMC_OP((FT_EMMC_REQ *)pLocalBuf,(char *)pft_PeerBuf, ft_peer_len); break; case FT_CRYPTFS_REQ_ID: FT_CRYPTFS_OP((FT_CRYPTFS_REQ *)pLocalBuf,(char *)pft_PeerBuf, ft_peer_len); break; #endif default: FT_LOG("[FTT_Drv:] FTMainThread Error:!!! ID "); break; } }
/******************************************************************************** //FUNCTION: // FT_DispatchMessage //DESCRIPTION: // this function is called to switch the testcase, del the header of peer buf. // //PARAMETERS: // Local_buf: [IN] local buf (cnf cmd) // Local_len: [IN] local buf size // pPeerBuf [IN] peer buff // Peer_len: [IN] peer buff size //RETURN VALUE: // TRUE is success, otherwise is fail // //DEPENDENCY: // the FT module must have been loaded. // //GLOBALS AFFECTED // None ********************************************************************************/ void FT_DispatchMessage(void *pLocalBuf, void *pPeerBuf, int local_len, int peer_len) { FT_H *ft_header; ft_header =(FT_H *)pLocalBuf; kal_int16 ft_peer_len = peer_len -8; //del the size of peer buf header char *pft_PeerBuf = (char *)pPeerBuf; pft_PeerBuf += 8; // skip the header of peer buffer FT_LOG("[FTT_Drv:] FTMainThread ID : %d ", ft_header->id); switch (ft_header->id) { case FT_IS_ALIVE_REQ_ID: //test alive FT_TestAlive((FT_IS_ALIVE_REQ *)pLocalBuf); break; #ifdef FT_WIFI_FEATURE case FT_WIFI_REQ_ID: //wifi test FT_WIFI_OP((FT_WM_WIFI_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #endif case FT_SDCARD_REQ_ID: //sdcard test FT_SDcard_OP((SDCARD_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_NVRAM_READ_REQ_ID: //nvram read FT_APEditorRead_OP((FT_AP_Editor_read_req *)pLocalBuf); break; case FT_NVRAM_WRITE_REQ_ID: //nvram write FT_APEditorWrite_OP((FT_AP_Editor_write_req *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_NVRAM_RESET_REQ_ID: //nvram reset FT_APEditorReset_OP((FT_AP_Editor_reset_req *)pLocalBuf); break; case FT_GPIO_REQ_ID: FT_GPIO_OP((GPIO_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_VER_INFO_REQ_ID: //get version info FT_GetVersionInfo((FT_VER_INFO_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; /* case FT_CHECK_META_VER_REQ_ID: //require meta dll version FT_CheckMetaDllVersion((FT_CHECK_META_VER_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; */ case FT_POWER_OFF_REQ_ID: //power off target FT_PowerOff((FT_POWER_OFF_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_REG_WRITE_ID: //baseband reg wirte FT_CPURegW_OP((FT_REG_WRITE_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_REG_READ_ID: //baseband reg read FT_CPURegR_OP((FT_REG_READ_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_CCT_REQ_ID: FT_CCAP_OP((FT_CCT_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_UTILITY_COMMAND_REQ_ID: //utility command FT_Peripheral_OP((FT_UTILITY_COMMAND_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_PMIC_REG_READ_ID: //pmic read FT_PMICRegR_OP((FT_PMIC_REG_READ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_PMIC_REG_WRITE_ID: //pmic write FT_PMICRegW_OP((FT_PMIC_REG_WRITE *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #ifdef FT_BT_FEATURE case FT_BT_REQ_ID: //bt test FT_BT_OP((BT_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #endif /* case FT_WM_DVB_REQ_ID: //dvb test FT_DVBT_OP((FT_DVB_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_WM_BAT_REQ_ID: FT_BAT_OP((FT_BATT_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; */ case FT_ADC_GETMEADATA_ID: //adc test FT_AUXADC_OP((AUXADC_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #ifdef FT_GPS_FEATURE case FT_GPS_REQ_ID: FT_GPS_OP((GPS_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #endif case FT_BATT_READ_INFO_REQ_ID: FT_BAT_FW_OP((FT_BATT_READ_INFO_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_BAT_CHIPUPDATE_REQ_ID: FT_BAT_ChipUpdate_OP((FT_BATT_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #ifdef FT_FM_FEATURE case FT_FM_REQ_ID: FT_FM_OP((FM_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #endif case FT_L4AUD_REQ_ID: FT_L4AUDIO_OP((FT_L4AUD_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_LOW_POWER_REQ_ID: FT_LOW_POWER_OP((FT_LOW_POWER_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_NVRAM_BACKUP_REQ_ID: FT_NVRAM_Backup_OP((FT_NVRAM_BACKUP_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_NVRAM_RESTORE_REQ_ID: FT_NVRAM_Restore_OP((FT_NVRAM_RESTORE_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_GSENSOR_REQ_ID: FT_GSENSOR_OP((GS_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_MATV_CMD_REQ_ID: #ifdef FT_MATV_FEATURE FT_MATV_OP((FT_MATV_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); #else FT_MATV_CNF matv_cnf; memset(&matv_cnf, 0, sizeof(FT_MATV_CNF)); matv_cnf.header.id = FT_MATV_CMD_CNF_ID; matv_cnf.header.token = ((FT_MATV_REQ *)pLocalBuf)->header.token; matv_cnf.status = META_NOT_SUPPORT; matv_cnf.type = ((FT_MATV_REQ *)pLocalBuf)->type; WriteDataToPC(&matv_cnf, sizeof(matv_cnf), NULL, 0); #endif break; // Reboot device case FT_REBOOT_REQ_ID: FT_Reboot((FT_META_REBOOT_REQ *)pLocalBuf); break; case FT_CUSTOMER_REQ_ID: FT_CUSTOMER_OP((FT_CUSTOMER_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_GET_CHIPID_REQ_ID: FT_GET_CHIPID_OP((FT_GET_CHIPID_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_MSENSOR_REQ_ID: FT_MSENSOR_OP((FT_MSENSOR_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_ALSPS_REQ_ID: FT_ALSPS_OP((FT_ALSPS_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; case FT_GYROSCOPE_REQ_ID: FT_GYROSENSOR_OP((GYRO_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; // Touch panel case FT_CTP_REQ_ID: FT_CTP_OP((Touch_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; // Get version info V2 case FT_VER_INFO_V2_REQ_ID: FT_GetVersionInfoV2((FT_VER_INFO_V2_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #ifdef FT_NFC_FEATURE case FT_NFC_REQ_ID: FT_NFC_OP((NFC_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; #endif #ifdef FT_EMMC_FEATURE case FT_EMMC_REQ_ID: FT_CLR_EMMC_OP((FT_EMMC_REQ *)pLocalBuf,(char *)pft_PeerBuf, ft_peer_len); break; case FT_CRYPTFS_REQ_ID: FT_CRYPTFS_OP((FT_CRYPTFS_REQ *)pLocalBuf,(char *)pft_PeerBuf, ft_peer_len); break; #endif case FT_BUILD_PROP_REQ_ID: FT_BUILD_PROP_OP((FT_BUILD_PROP_REQ *)pLocalBuf,(char *)pft_PeerBuf, ft_peer_len); break; case FT_MODEM_REQ_ID: FT_MODEM_INFO_OP((FT_MODEM_REQ *)pLocalBuf,(char *)pft_PeerBuf, ft_peer_len); break; case FT_SIM_NUM_REQ_ID: FT_SIM_NUM_OP((FT_GET_SIM_REQ *)pLocalBuf,(char *)pft_PeerBuf, ft_peer_len); break; case FT_DFO_REQ_ID: FT_DFO_OP((FT_DFO_REQ *)pLocalBuf,(char *)pft_PeerBuf, ft_peer_len); break; case FT_ADC_REQ_ID: FT_ADC_OP((ADC_REQ *)pLocalBuf, (char *)pft_PeerBuf, ft_peer_len); break; default: //printf((TEXT("[FTT_Drv:] FTMainThread Error:!!! ID: %hu "), ft_header->id)); FT_LOG("[FTT_Drv:] FTMainThread Error:!!! ID "); break; } }