当前位置: 首页 > news >正文

广州网站优化电影网页制作模板

广州网站优化,电影网页制作模板,景德镇seo,做教程网站如何查用户搜索文章目录 Sensor Hub 设计思想分层设计Sensor Hub 层(tdl)Sensor Driver 层(tdd) 传感数据元素类型抽象传感器采集策略 Sensor Hub 对上数据与接口数据结构1. 数据读取的触发模式2. 元素型数据订阅规则3. 数据就绪通知回调4. 传感设备信息 应用接口1. 创建传感器实例2. 启动传感… 文章目录 Sensor Hub 设计思想分层设计Sensor Hub 层(tdl)Sensor Driver 层(tdd) 传感数据元素类型抽象传感器采集策略 Sensor Hub 对上数据与接口数据结构1. 数据读取的触发模式2. 元素型数据订阅规则3. 数据就绪通知回调4. 传感设备信息 应用接口1. 创建传感器实例2. 启动传感器3. 停止传感器4. 配置传感器参数5. 读取传感器实时数据 Sensor Hub 对下数据与接口数据结构驱动接口抽象驱动注册接口 驱动开发流程Sensor Hub使用流程 Sensor Hub 是 TuyaOS 传感器管理组件可以实现对传感器设备的硬件抽象设备管理和数据处理。基于 sensor_hub 开发传感器应用时开发者无需关注传感器的传输协议只需要对传感器挂载硬件接口、工作方式、采集间隔等进行配置然后在事件回调中读取传感器处理即可。 通过 Sensor Hub 管理传感器可快速新增、切换新的传感器而无需修改上层应用程序。 开发者可使用 tuyaos_sensor_hub_demo_quickstart 体验 Sensor Hub 组件将多种传感器设备加入到智能设备中实现更多设备智能化。 Sensor Hub 设计思想 分层设计 Sensor Hub 组件采用软硬件分层设计分为 sensor hub 逻辑实现层、sensor driver 驱动层可在驱动层添加新驱动实现新传感器快速接入。 Sensor Hub 层(tdl) 主要功能 对应用提供统一的传感交互接口对传感驱动提供统一的适配接口给应用提供多种比较通用的采集策略 Sensor Driver 层(tdd) 主要功能 传感器实例化对应用提供挂载到 Sensor Hub 上的注册接口 传感数据元素类型抽象 传感上报的数据类型由 Sensor Driver 层配置即由传感器实例决定。 元素型 传感器采集的某一类数据可以根据其物理含义抽象为一种元素 (element)复合型传感则包含多种元素如温湿度传感器就包含了 2 种元素温度、湿度。一组数据中包含了 几种元素、各元素名称 (ID)、各元素值的数据类型 均由 Sensor Driver 层配置。 元素值的数据类型可分为整型、浮点型。 透传型 传感数据存储的具体格式由 Sensor Driver 层配置以二进制形式存储。 传感器采集策略 目前 Sensor Hub 支持以下采集策略配置 数据读取的触发模式 软定时轮询硬件定时轮询IO中断 传感数据组缓存 fifo 深度 数据订阅模式 元素组每次返回都是所有元素数据单元素每次返回仅一种元素数据 数据订阅规则设定 数据组数过滤规则最大值/最小值/步进值 Sensor Hub 对上数据与接口 数据结构 1. 数据读取的触发模式 /*** brief 采集触发模式*/ typedef BYTE_T SR_TRIG_MODE_E; #define SR_MODE_POLL_SOFT_TM 0 // 轮询(软件定时) #define SR_MODE_POLL_HARD_TM 1 // 轮询(硬件定时) #define SR_MODE_EXTI 2 // 外部中断(GPIO)/*** brief 工作模式配置*/ typedef struct {SR_TRIG_MODE_E trig_mode; // 采集触发方式UINT_T poll_intv_ms; // 轮询方式采集间隔(ms)TUYA_GPIO_NUM_E irq_pin; // 中断方式中断引脚TUYA_GPIO_IRQ_E irq_mode; // 中断方式中断模式 } SR_WORK_MODE_T;2. 元素型数据订阅规则 /*** brief 元素型数据订阅类型*/ typedef BYTE_T SR_ELE_SUB_TP_E; #define SR_ELE_SUB_TP_GROUP 0 // 以组的形式上报应用订阅的所有元素的数据 #define SR_ELE_SUB_TP_SINGLE 1 // 一一上报应用订阅的每个元素的数据/*** brief 过滤规则*/ typedef union {struct {INT_T max; // 最大值INT_T min; // 最小值UINT_T step; // 步进值(非0前后变化低于该值的会被过滤)} i; // 整型struct {FLOAT_T max; // 最大值FLOAT_T min; // 最小值FLOAT_T step; // 步进值(非0前后变化低于该值的会被过滤)} f; // 浮点型 } SR_FILTETR_U;/*** brief 元素型数据订阅规则* note val_num仅在订阅类型为SR_ELE_SUB_TP_SINGLE时有效且其值不能超过fifo_size*/ typedef struct {UCHAR_T id; // 元素IDUCHAR_T val_num; // 每次订阅的元素值个数SR_FILTETR_U filter; // 过滤规则 } SR_ELE_SUB_RULE_T;/*** brief 元素型数据订阅配置* 拓展功能 (可选)*/ typedef struct {SR_ELE_SUB_TP_E tp; // 元素型数据订阅方式UCHAR_T num; // 元素订阅数量也是元素型数据订阅规则数量SR_ELE_SUB_RULE_T *rule; // 元素型数据订阅规则 } SR_ELE_SUB_CFG_T;3. 数据就绪通知回调 /*** brief 元素型数据缓存结构*/ typedef struct {UCHAR_T id; // 元素IDSR_VAL_TP_E val_tp; // 元素值类型UCHAR_T val_num; // 元素值个数SR_VAL_U *val; // 元素值(存储地址) } SR_ELE_BUFF_T;/*** brief 数据就绪通知回调*/ typedef VOID_T (*SR_ELE_INFORM_CB)(CHAR_T* name, UCHAR_T buf_num, SR_ELE_BUFF_T *ele_data); typedef VOID_T (*SR_RAW_INFORM_CB)(CHAR_T* name, UINT_T raw_num, SR_RAW_DATA_T *raw_data); typedef union {SR_ELE_INFORM_CB ele; // 用于元素型数据SR_RAW_INFORM_CB raw; // 用于透传型数据 } SR_INFORM_CB_T;4. 传感设备信息 /*** brief 传感设备注册信息*/ typedef struct {SR_WORK_MODE_T mode; // 数据采集模式SR_INFORM_CB_T inform_cb; // 数据就绪通知回调UCHAR_T fifo_size; // 存放返回给app数据的缓存大小SR_ELE_SUB_CFG_T *ele_sub; // 元素型数据订阅模型配置(不使用则写NULL) } SR_DEV_CFG_T;/*** brief 传感设备句柄*/ typedef VOID_T* SENSOR_HANDLE_T;应用接口 1. 创建传感器实例 /*** brief 查找传感设备* param[in] dev_name: 传感设备名称* param[out] handle: 传感设备句柄* return 操作结果*/ OPERATE_RET tdl_sensor_dev_find(CHAR_T *dev_name, SENSOR_HANDLE_T* handle);2. 启动传感器 /*** brief 启动传感设备* param[in] handle: 传感设备句柄* param[in] config: 设备配置参数* return 操作结果*/ OPERATE_RET tdl_sensor_dev_open(SENSOR_HANDLE_T handle, SR_DEV_CFG_T* config);3. 停止传感器 /*** brief 启动传感设备* param[in] handle: 传感设备句柄* return 操作结果*/ OPERATE_RET tdl_sensor_dev_close(SENSOR_HANDLE_T handle);4. 配置传感器参数 /*** brief 配置传感设备* param[in] handle: 传感设备句柄* param[in] cmd: 配置命令* param[in] param: 配置命令参数* return 操作结果*/ OPERATE_RET tdl_sensor_dev_config(SENSOR_HANDLE_T handle, UCHAR_T cmd, VOID_T *param);5. 读取传感器实时数据 /*** brief 读取传感实时数据* param[in] handle: 设备句柄* param[in] ele_num: 元素个数0表示透传型* param[inout] ele_data: 元素型数据不使用时写NULL* param[out] raw_data: 透传型数据不使用时写NULL* return 操作结果*/ OPERATE_RET tdl_sensor_dev_read(IN SENSOR_HANDLE_T handle, IN UCHAR_T ele_num,INOUT SR_ELE_DATA_T *ele_data, OUT SR_RAW_DATA_T *raw_data);Sensor Hub 对下数据与接口 数据结构 元素数据类型配置 /*** brief 元素数据类型配置*/ typedef struct {UCHAR_T id; // 元素IDSR_VAL_TP_E val_tp; // 元素值类型 } SR_ELE_CFG_T;驱动依赖资源信息 /*** brief 资源信息*/ typedef struct {UCHAR_T type; // 资源类型(I2C/SPI/...)UCHAR_T port; // 资源端口VOID_T* handle; // 资源句柄(暂时没有用到)UCHAR_T info[SR_RSRC_INFO_LEN]; // 其他资源信息 } SR_RSRC_T;驱动接口抽象 /*** brief 驱动接口抽象*/ typedef struct {OPERATE_RET (*open)(SR_RSRC_T* dev);OPERATE_RET (*close)(SR_RSRC_T* dev);OPERATE_RET (*control)(SR_RSRC_T* dev, UCHAR_T cmd, VOID_T *param);OPERATE_RET (*read_ele)(SR_RSRC_T* dev, SR_ELE_DATA_T *ele_data, UCHAR_T ele_num); OPERATE_RET (*read_raw)(SR_RSRC_T* dev, SR_RAW_DATA_T *raw_data); } SR_INTFS_T;驱动注册接口 /*** brief 注册传感设备* param[in] dev_name: 传感设备名称* param[in] intfs: 传感设备操作接口内存由具体的传感器分配* param[in] ele_num: 传感数据元素个数0表示采用透传型内存由具体的传感器分配* param[in] ele_cfg: 每个元素的数据类型配置* param[in] resource: 传感设备依赖的资源信息* return 操作结果*/ OPERATE_RET tdl_sensor_register(CHAR_T *dev_name, SR_INTFS_T *intfs, UCHAR_T ele_num, \SR_ELE_CFG_T *ele_cfg, SR_RSRC_T *resource);驱动开发流程 确定传感数据存储方式如果选择元素型则需确定有哪些 元素 及每个元素值的 数据类型确定传感驱动的 外设 类型和需要配置的内容比如 I2C、SPI …确定注册设备时需要做哪些处理有哪些 资源信息 需要暂存至 SensorHub实现 tdd_sensor_xxx_register 接口传感的通用初始化可以在注册时进行或者使用控制命令进行即由用户决定何时初始化确定传感是否有启动测量和停止测量命令实现 open 和 close 接口确定传感读数据的过程实现 read_ele 或 read_raw 接口确定除读数据外是否需要增加其他的配置命令实现 control 接口。 Sensor Hub使用流程 调用 tdd_sensor_xxx_register 注册 xxx 设备。调用 tdl_sensor_dev_find 查找 xxx 设备获得设备句柄确认 xxx 设备是否注册成功。调用 tdl_sensor_dev_config 配置 xxx 设备启动前的一些必要配置启动后也可通过调用该接口控制设备。调用 tdl_sensor_dev_open 启动 xxx 设备在需要启动时调用同时需要编写数据通知回调函数。调用 tdl_sensor_dev_read 读取 xxx 设备的实时数据有需要时。调用 tdl_sensor_dev_close 停止 xxx 设备在需要停止时调用。
http://www.w-s-a.com/news/480736/

相关文章:

  • 上海外贸网站开发公司建设内容
  • 网站制作品牌公司网站的字体颜色
  • 外贸wordpress模板常德seo快速排名
  • 网站后台认证码专门做网页的网站
  • 宁波企业品牌网站建设物流公司招聘
  • 北京机建网站做网站用angular
  • 攀枝花市网站建设outlook企业邮箱注册申请
  • 企业网站建设报价单免费劳务网站建设
  • 天津平台网站建设方案国际新闻最新消息今天乌克兰与俄罗斯
  • 食用油 网站 模板网页游戏网站在线玩
  • 做网站用的书新能源东莞网站建设技术支持
  • 漯河网站超市建设软件开发的五个阶段
  • 制作深圳网站建设阿里OSS做网站图库费用
  • 网页设计与网站建设 入门必练宜都网站seo
  • 网站设计沟通阆中网站网站建设
  • 缩短网址做钓鱼网站如何确保网站安全
  • 网店网站开发怎样用ps做企业网站
  • 南京门户网站建设做网站一般注册哪几类商标
  • 企业咨询管理服务wordpress seo tdk
  • 做网站前期创建文件夹flash 开发的网站
  • 天津网站制作培训搭建网站的工具
  • 江西网站建设价格低网上卖产品怎么推广
  • 做aelogo动效有什么好的网站建立网站站点的步骤
  • 无锡网站推广公司排名网站赚钱平台
  • 网站物理结构利用公共dns做网站解析
  • 苍南做网站微信建设网站哪家好
  • 华中农业大学基因编辑在线设计网站网站蓝色配色
  • 洛阳建设工程信息网站怎么在服务器建立网站
  • 陕西省建设部官方网站微信小程序怎么关闭这个功能
  • 唐河县住房和城乡建设局网站公司需要做网站