コード例 #1
0
int mag_data_report(MAG_TYPE type,int x, int y, int z, int status)
{
	//MAG_LOG("update!valus: %d, %d, %d, %d\n" , x, y, z, status);
    struct mag_context *cxt = NULL;
    check_repeat_data(x,y,z);
    check_abnormal_data(x,y,z,status);
	//int err =0;
	cxt = mag_context_obj;
	if(MAGNETIC==type)
	{
        input_report_abs(cxt->idev, EVENT_TYPE_MAGEL_STATUS, status);
		input_report_abs(cxt->idev, EVENT_TYPE_MAGEL_X, x);
	    input_report_abs(cxt->idev, EVENT_TYPE_MAGEL_Y, y);
	    input_report_abs(cxt->idev, EVENT_TYPE_MAGEL_Z, z);
	    input_report_rel(cxt->idev, EVENT_TYPE_MAGEL_UPDATE, 1);
		input_sync(cxt->idev);  	
	}
	if(ORIENTATION==type)
	{
   		input_report_abs(cxt->idev, EVENT_TYPE_O_STATUS, status);
		input_report_abs(cxt->idev, EVENT_TYPE_O_X, x);
	  	input_report_abs(cxt->idev, EVENT_TYPE_O_Y, y);
	   	input_report_abs(cxt->idev, EVENT_TYPE_O_Z, z);
	   	input_report_rel(cxt->idev, EVENT_TYPE_O_UPDATE, 1);
		input_sync(cxt->idev); 
	}

	return 0;
}
コード例 #2
0
ファイル: gyroscope.c プロジェクト: Swapnil133609/Zeus_exp
int gyro_data_report(int x, int y, int z,int status)
{
    //GYRO_LOG("+gyro_data_report! %d, %d, %d, %d\n",x,y,z,status);
        struct gyro_context *cxt = NULL;
    int err =0;
    check_repeat_data(x,y,z);
    cxt = gyro_context_obj;
      input_report_abs(cxt->idev, EVENT_TYPE_GYRO_X, x);
    input_report_abs(cxt->idev, EVENT_TYPE_GYRO_Y, y);
    input_report_abs(cxt->idev, EVENT_TYPE_GYRO_Z, z);
    input_report_abs(cxt->idev, EVENT_TYPE_GYRO_STATUS, status);
    input_sync(cxt->idev);
    return err;
}
コード例 #3
0
int gyro_data_report(int x, int y, int z, int status, int64_t nt)
{
	struct gyro_context *cxt = NULL;
	int err = 0;

	check_repeat_data(x, y, z);
	cxt = gyro_context_obj;
	input_report_abs(cxt->idev, EVENT_TYPE_GYRO_X, x);
	input_report_abs(cxt->idev, EVENT_TYPE_GYRO_Y, y);
	input_report_abs(cxt->idev, EVENT_TYPE_GYRO_Z, z);
	input_report_abs(cxt->idev, EVENT_TYPE_GYRO_STATUS, status);
	input_report_rel(cxt->idev, EVENT_TYPE_GYRO_UPDATE, 1);
	input_report_rel(cxt->idev, EVENT_TYPE_GYRO_TIMESTAMP_HI, nt >> 32);
	input_report_rel(cxt->idev, EVENT_TYPE_GYRO_TIMESTAMP_LO, nt & 0xFFFFFFFFLL);
	input_sync(cxt->idev);
	return err;
}