/* Motor Test (250-3-x) Test mode 7.8 */ void *testmode_motor_test(uint32_t sub1_cmd, uint32_t sub2_cmd) { struct testmode_relay_result *relay_result; //int cnt =0; relay_result = (struct testmode_relay_result *)kzalloc(sizeof(struct testmode_relay_result), GFP_KERNEL); relay_result->ret_value = TESTMODE_SUCCESS; if(check_lcd_status() <= 0) need_to_wait_for_motor = true; printk(KERN_INFO "[LGE] testmode_motor_test starts ..\n"); testmode_input_report_evt(TESTMODE_INPUT_KEY_INIT); if(need_to_wait_for_motor==true) msleep(10); testmode_input_report_evt(TESTMODE_INPUT_KEY_UNLOCK); if(need_to_wait_for_motor==true) msleep(20); //for(cnt=0;cnt<6;cnt++) //testmode_input_report_evt(TESTMODE_INPUT_KEY_BACK); switch (sub2_cmd) { case MOTOR_TURN_ON: testmode_input_report_evt(TESTMODE_Motor_ON); break; case MOTOR_TURN_OFF: testmode_input_report_evt(TESTMODE_Moter_OFF); break; default: return testmode_reponse_not_supported(); } need_to_wait_for_motor=false; return relay_result; }
void* testmode_accelator(uint32_t sub1_cmd, uint32_t sub2_cmd) { int value; char pitch, roll; struct testmode_relay_result *relay_result; relay_result = (struct testmode_relay_result *)kzalloc(sizeof(struct testmode_relay_result), GFP_KERNEL); relay_result->ret_value = TESTMODE_FAIL; testmode_input_report_evt(TESTMODE_INPUT_KEY_INIT); testmode_input_report_evt(TESTMODE_INPUT_KEY_HOME); switch( sub2_cmd ) { case 0: if(ami304_test_mode_get_value( 0, &value )) relay_result->ret_value = TESTMODE_SUCCESS; else break; value = (int)(value/10); if( value < 0 ) { value = (-1)*value; relay_result->ret_string[0] = 0x01; } else { relay_result->ret_string[0] = 0x02; } if(value > 180 ) value =180; pitch = (char)(value > 90 ? 180-value : value); relay_result->ret_string[1] = pitch; printk("****testmode_accelator****: sign = %d, pitch = %d \n", relay_result->ret_string[0], relay_result->ret_string[1] ); break; case 1: if( ami304_test_mode_get_value( 1, &value )) relay_result->ret_value = TESTMODE_SUCCESS; else break; value = (int)(value/10); if( value < 0 ) { value = (-1)*value; relay_result->ret_string[0] = 0x01; } else { relay_result->ret_string[0] = 0x02; } if(value > 180 ) value =180; roll = (char)(value > 90 ? (180-value) : value); relay_result->ret_string[1] = roll; printk("****testmode_accelator****: sign = %d, roll = %d \n", relay_result->ret_string[0], relay_result->ret_string[1] ); break; default: relay_result->ret_value = TESTMODE_FAIL; break; } return relay_result; }