Browse Source

update:对exvib的库的模式3进行了数据修改

liszt123 6 months ago
parent
commit
2e738f7099
1 changed files with 8 additions and 4 deletions
  1. 8 4
      script/libs/exvib.lua

+ 8 - 4
script/libs/exvib.lua

@@ -165,6 +165,7 @@ function exvib.read_xyz()
     -- MSB数据格式为: D[11] D[10] D[9] D[8] D[7] D[6] D[5] D[4]
     -- 数据位为12位,需要将MSB数据左移4位,LSB数据右移4位,最后进行或运算
     -- 解析X轴数据 (LSB在前,MSB在后)
+
     local x_data = (string.byte(recv_data, 2) << 4) | (string.byte(recv_data, 1) >> 4)
 
     -- 解析Y轴数据 (LSB在前,MSB在后)
@@ -173,6 +174,7 @@ function exvib.read_xyz()
     -- 解析Z轴数据 (LSB在前,MSB在后)
     local z_data = (string.byte(recv_data, 6) << 4) | (string.byte(recv_data, 5) >> 4)
 
+
     -- 转换为12位有符号整数
     -- 判断X轴数据是否大于2047,若大于则表示数据为负数
     -- 因为12位有符号整数的范围是 -2048 到 2047,原始数据为无符号形式,大于2047的部分需要转换为负数
@@ -185,17 +187,17 @@ function exvib.read_xyz()
 
     -- 转换为加速度值(单位:g)
     
-    if rangemode == 0 then
+    if rangemode == 1 then
         x_accel = x_data / 1024
         y_accel = y_data / 1024
         z_accel = z_data / 1024
 
-    elseif rangemode == 1 then
+    elseif rangemode == 2 then
         x_accel = x_data / 512
         y_accel = y_data / 512
         z_accel = z_data / 512
 
-    elseif rangemode == 2 then
+    elseif rangemode == 3 then
         x_accel = x_data / 256
         y_accel = y_data / 256
         z_accel = z_data / 256
@@ -268,13 +270,15 @@ function exvib.open(mode)
         active_dur_addr = {0x27, 0x01}    -- 设置激活时间
     elseif mode==2 or tonumber(mode)==2 then
         --常规检测
+		log.info("运动检测")
         rangeaddr = {0x0f, 0x01}          -- 设置加速度量程,默认4g
         active_ths_addr = {0x28, 0x26}    -- 设置激活阈值
         odr_addr = {0x10, 0x08}           -- 设置采样率 250Hz
         active_dur_addr = {0x27, 0x14}    -- 设置激活时间
     elseif mode==3 or tonumber(mode)==3 then
+        log.info("高动态检测")
         --高动态检测
-        rangeaddr = {0x0f, 0x10}          -- 设置加速度量程,默认8g
+        rangeaddr = {0x0f, 0x02}          -- 设置加速度量程,默认8g
         active_ths_addr = {0x28, 0x80}    -- 设置激活阈值
         odr_addr = {0x10, 0x0F}           -- 设置采样率 1000Hz
         active_dur_addr = {0x27, 0x04}    -- 设置激活时间