feat: 新增激光定时关闭与姿态角持续输出测试功能,编码转UTF-8
1. 激光定时自动关闭:默认10分钟,laser on启动计时,超时自动关并上报 2. laser time <min>可配置定时分钟数,0=关闭定时 3. att on/off持续输出姿态角(Pitch/Roll/Yaw),不注册不低功耗 4. 20个源文件从GB2312编码转为UTF-8 with BOM
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "lsm6dsl_app.h"
|
||||
#include "lsm6dsl_reg.h"
|
||||
@@ -15,7 +15,7 @@ static bool InitFlag;
|
||||
|
||||
#define ACC_CVTTIME (20 * 1000)
|
||||
#define ACC_COLL_CNT_MAX 6
|
||||
#define ACC_FIFO_WATERMASK (ACC_COLL_CNT_MAX * 6) //采集一秒数据
|
||||
#define ACC_FIFO_WATERMASK (ACC_COLL_CNT_MAX * 6) //采集一秒数据
|
||||
#define TX_BUF_DIM 1000
|
||||
#define BOOT_TIME 15 //ms
|
||||
|
||||
@@ -93,7 +93,7 @@ static void Lsm6dsl_Init(void)
|
||||
/* Set Output Data Rate */
|
||||
lsm6dsl_xl_data_rate_set(&dev_ctx, LSM6DSL_XL_ODR_12Hz5);
|
||||
lsm6dsl_gy_data_rate_set(&dev_ctx, LSM6DSL_GY_ODR_12Hz5);
|
||||
//lsm6dsl_gy_data_rate_set(&left_dev_ctx, LSM6DSL_GY_ODR_OFF); //关闭地磁
|
||||
//lsm6dsl_gy_data_rate_set(&left_dev_ctx, LSM6DSL_GY_ODR_OFF); //关闭地磁
|
||||
/* Set full scale */
|
||||
lsm6dsl_xl_full_scale_set(&dev_ctx, LSM6DSL_2g);
|
||||
lsm6dsl_gy_full_scale_set(&dev_ctx, LSM6DSL_2000dps);
|
||||
@@ -110,26 +110,26 @@ static void Lsm6dsl_Init(void)
|
||||
/* Gyroscope - filtering chain */
|
||||
lsm6dsl_gy_band_pass_set(&dev_ctx, LSM6DSL_HP_260mHz_LP1_STRONG);
|
||||
|
||||
//fifo模式设置
|
||||
lsm6dsl_fifo_xl_batch_set(&dev_ctx, LSM6DSL_FIFO_XL_NO_DEC);//fifo加速度写入频率设置
|
||||
lsm6dsl_fifo_gy_batch_set(&dev_ctx, LSM6DSL_FIFO_GY_NO_DEC);//fifo陀螺仪写入频率设置
|
||||
lsm6dsl_fifo_data_rate_set(&dev_ctx, LSM6DSL_FIFO_12Hz5);//FIFO ODR选择
|
||||
//fifo模式设置
|
||||
lsm6dsl_fifo_xl_batch_set(&dev_ctx, LSM6DSL_FIFO_XL_NO_DEC);//fifo加速度写入频率设置
|
||||
lsm6dsl_fifo_gy_batch_set(&dev_ctx, LSM6DSL_FIFO_GY_NO_DEC);//fifo陀螺仪写入频率设置
|
||||
lsm6dsl_fifo_data_rate_set(&dev_ctx, LSM6DSL_FIFO_12Hz5);//FIFO ODR选择
|
||||
|
||||
//中断1设置,watermark full中断
|
||||
//中断1设置,watermark full中断
|
||||
lsm6dsl_int1_route_t int1val ={0, 0, 0};
|
||||
int1val.int1_full_flag = 1; //开阀值中断,fifo存储到缓存深度时触发
|
||||
int1val.int1_full_flag = 1; //开阀值中断,fifo存储到缓存深度时触发
|
||||
lsm6dsl_pin_int1_route_set(&dev_ctx, int1val);
|
||||
lsm6dsl_fifo_watermark_set(&dev_ctx, ACC_FIFO_WATERMASK);//FIFO水印电平设置,阈值设置,缓存深度
|
||||
lsm6dsl_fifo_stop_on_wtm_set(&dev_ctx, 1);//fifo缓存深度存满时,不再存储
|
||||
//lsm6dsl_fifo_xl_gy_8bit_format_set(&left_dev_ctx, 1);//在FIFO中为XL和陀螺启用MSByte记忆,缓存宽度
|
||||
lsm6dsl_block_data_update_set(&dev_ctx, 1); //fifo模式ctrl3_c bdu必须为1,直到读取MSB和LSB后才更新输出寄存器
|
||||
lsm6dsl_auto_increment_set(&dev_ctx, 1); //fifo模式ctrl3_c if_inc必须为1,通过串行接口(I2C或SPI)进行多字节访问时自动增加寄存器地址。
|
||||
lsm6dsl_fifo_watermark_set(&dev_ctx, ACC_FIFO_WATERMASK);//FIFO水印电平设置,阈值设置,缓存深度
|
||||
lsm6dsl_fifo_stop_on_wtm_set(&dev_ctx, 1);//fifo缓存深度存满时,不再存储
|
||||
//lsm6dsl_fifo_xl_gy_8bit_format_set(&left_dev_ctx, 1);//在FIFO中为XL和陀螺启用MSByte记忆,缓存宽度
|
||||
lsm6dsl_block_data_update_set(&dev_ctx, 1); //fifo模式ctrl3_c bdu必须为1,直到读取MSB和LSB后才更新输出寄存器
|
||||
lsm6dsl_auto_increment_set(&dev_ctx, 1); //fifo模式ctrl3_c if_inc必须为1,通过串行接口(I2C或SPI)进行多字节访问时自动增加寄存器地址。
|
||||
lsm6dsl_ctrl3_c_t ctrl3_c;
|
||||
platform_read(LSM6DSL_CTRL3_C, (uint8_t *)&ctrl3_c, 1);
|
||||
//lsm6dsl_fifo_mode_set(&dev_ctx, LSM6DSL_FIFO_MODE);
|
||||
|
||||
//中断2设置,唤醒中断
|
||||
// uint8_t temp = 0x90; //唤醒中断
|
||||
//中断2设置,唤醒中断
|
||||
// uint8_t temp = 0x90; //唤醒中断
|
||||
// platform_write(LSM6DSL_TAP_CFG, &temp, 1);
|
||||
// temp = 0;
|
||||
// platform_write(LSM6DSL_WAKE_UP_DUR, &temp, 1);
|
||||
|
||||
Reference in New Issue
Block a user