如何使得上层java可以获取到距离传感器当前真实值,不止0,1

[PLATFORM]

MT6575 MT6577 MT6589

[SOLUTION]

proximity sensor上报的值是做过处理,一般是固定上报1或是0,如果需要取得proximity sensor实时的值,依据不同的处理模式:

1、polling模式,XXX_ps_operate()函数中

case SENSOR_GET_DATA:

……

sensor_data->values[0]=XXX_get_ps_value(……);//上传判断后的值,即0或是1;

sensor_data->values[1]=obj->ps;//使用values[1]上传proximity sensor的raw data;

……

2、中断模式,在XXX_eint_work函数中:

……

sensor_data->values[0]=XXX_get_ps_value(……);//上传判断后的值,即0或是1;

sensor_data->values[1]=obj->ps;//使用values[1]上传proximity sensor的raw data;

1和2方式都还需要在hwmsen_dev.c:

在hwmsen_get_interrupt_data(int sensor,hwm_sensor_data *data)函数中,需要把proximity sensor单独提出来处理,即增加这么一段代码:

if(sensor == ID_PROXIMITY)

{

if(data->values[1] != obj_data.sensors_data[sensor].values[1])

{

mutex_lock(&obj_data.lock);

obj_data.data_updata[sensor] = 1;

obj_data.sensors_data[sensor].values[1] = data->values[1];

obj_data.sensors_data[sensor].time = nt;

obj_data.sensors_data[sensor].value_divide = data->value_divide;

mutex_unlock(&obj_data.lock);

}

}

这样,在应用层,监听onSensorChanged的时候,就可以:

用values[0]即可得到表示靠近和远离的0和1;

用values[1]即可得到sensor 的raw data。

java 层

private SensorManager sensorManager;

private Sensor P_sensor;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_fullscreen);

sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

P_sensor = sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);

}

@Override

protected void onResume() {

super.onResume();

sensorManager.registerListener(sensorEventListener, P_sensor, SensorManager.SENSOR_DELAY_NORMAL);

}

@Override

protected void onPause() {

super.onPause();

sensorManager.unregisterListener(sensorEventListener);

}

/**

*

*/

private SensorEventListener sensorEventListener = new SensorEventListener() {

@Override

public void onSensorChanged(SensorEvent event) {

float f_proximiny = event.values[0];

float f_proximiny2 = event.values[1];

String f_proximinystr=String.valueOf(f_proximiny);

String f_proximinystr2=String.valueOf(f_proximiny2);

String str="P-Sensor"+"\n"+"靠近或远离values[0]="+f_proximinystr+"\n"+"真实距离values[1]="+f_proximinystr2;

controlsView1.setText(str);

// Toast.makeText(FullscreenActivity.this , f_proximinystr, 0).show();

}

@Override

public void onAccuracyChanged(Sensor sensor, int accuracy) {

// TODO Auto-generated method stub

}};

java获取传感器重量数据,通过距离感应器获取实际距离[FAQ04538][Sensor]java层获得P_sensor距离传感器当前真实值,不止0,1...相关推荐

  1. 通过距离感应器获取实际距离[FAQ04538][Sensor]java层获得P_sensor距离传感器当前真实值,不止0,1

    [DESCRIPTION] 如何使得上层java可以获取到距离传感器当前真实值,不止0,1 [PLATFORM] MT6575 MT6577 MT6589 [SOLUTION] proximity s ...

  2. Android 如何获取传感器的数据

    1 传感器简介 传感器 Sensor 是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输.处理.存储.显示.记录和控制等要求. ...

  3. Java通过steam实现数据去重、去重获取最新一条

    目录 1.添加依赖 2.测试实体类 3.三种方式去 1.添加依赖 <dependency><groupId>com.alibaba</groupId><art ...

  4. android获取app用户数据,Android 原生app获取用户授权访问Autodesk云应用数据

    oAuth机制对于网站间的授权管理是很容易实现的,设置好app回调端口,当数据服务提供方拿到其用户授权,则返回授权码发送到回调端口.上一篇文章介绍了如何授权Forge app访问Autodesk 云应 ...

  5. java 接受传感器的数据_java中调用第三方接口获取数据的方式

    //get请求方式 private String getInfo(Map params,String URL) { // 创建Httpclient对象 CloseableHttpClient http ...

  6. java request get json数据_Java中,获取request中json数据

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.io.IOException; import javax.servlet.http.HttpServletRequest; /** ...

  7. java获取vdx文件数据_通过文件名获取文件类型ContentType

    第一种方法: 引用System.Web.dll v4.5,就可以通过var mimeType = MimeMapping.GetMimeMapping(fileName);直接获取文件类型 第二种方法 ...

  8. java获取新insert数据自增id_java获取新insert数据自增id的实现方法

    在MySQL中,使用auto_increment类型的id字段作为表的主键,并用它作为其他表的外键,形成"主从表结构",这是数据库设计中常见的用法.但是在具体生成id的时候,我们的 ...

  9. 最新!中国天气网api接口调用,key获取方式,数据请求秘钥获取,城市id获取方法

    以前的天气获取方式已经不支持了,虽然能获取到数据,但是获取到的信息已经不对了. 中国天气网提供的最新接口需要数据请求秘钥key.而且有效期只有7天,用完了还要重新购买,很麻烦,但是获取到的内容绝对是最 ...

最新文章

  1. 【数据结构与算法】图论基础与图存储结构
  2. 解决pjax加载页面不执行js插件的问题
  3. NB-IoT标准落定 规模商用还需跨过成本关
  4. java.util.ConcurrentModificationException 解决办法
  5. inline函数包涵static变量,调用时是否会有多份拷贝
  6. cmd安装linux服务器,cmdbuild安装
  7. ArcGISServer10安装与地图发布
  8. java规定日期格式输出_Java格式化输出日期百分比时间等
  9. 阿里如何面试MySQL优化CPU消耗
  10. 17.立体匹配——动态规划公式(Dynamic Programming Formulation),二维网格上的相干立体_4
  11. java中的容器问题
  12. 第十节 4基于ashx方式的ASP.Net开发
  13. 【C++】C++类和对象
  14. Jquery.dataTables分页排序参数详解
  15. mysql设置远程访问的权限
  16. 【Interfacenavigation】规划多个触摸屏尺寸(57)
  17. jsp无法提交nicEdit中的内容的解决办法
  18. Java程序员简历模板,内含个人专业技能和项目经验介绍
  19. matlab不定式的除法,MATLAB练习作业(已做)2012
  20. pmap gdb 分析堆外内存泄露情况

热门文章

  1. 简直无语,台湾省停电后,竟要求程序员用纸笔手写代码
  2. Houdini JoyOfVex 教程04
  3. 手机邮件客户端哪个好用,2019移动办公工具盘点
  4. 2021,shell脚本手机微信8.0,微信运动,自动点赞小伙伴的一些总结
  5. Google免费GPU Colab使用教程
  6. 写给那些拼命工作的程序员
  7. IG厂和N厂的全面真实测评
  8. 浪潮退去,才知道谁在裸泳
  9. Android逆向--APP通信解密技巧
  10. 2022年安全员-A证上岗证题库及模拟考试