智能家居系统方案设计文档内容摘要:
《模块设计报告》 机构名称, 2020 Page 37 of 124 unsigned char dev_no。 unsigned char con_cmd。 char con_value。 }。 补充说明 按照协议,组装好设备的控制数据包,从串口发出,并调用取得设备温度,刷新设备状态。 其他设备以 此类类推。 模块名称 auth_user 功能描述 根据传来的用 户名和密码返回验证结果 接口与属性 char auth_user(char *name,char *pass)。 数据结构与算法 无 项目名称,《模块设计报告》 机构名称, 2020 Page 38 of 124 补充说明 模块名称 add_user 功能描述 根据传来的用户名和密码将用户添加到密码文件中 接口与属性 char add_user(char *name,char *pass)。 数据结构与算法 无 补充说明 模块名称 del_user 功能描述 根据传来的用户名将用户从密码文件中删除 项目名称,《模块设计报告》 机构名称, 2020 Page 39 of 124 接口与属性 char del_user(char *name)。 数据结构与算法 无 补充说明 注意此处仅作用户存在性检查不做用户检查,用户检查应该由 UI 发命令使用 auth_user 检查通过后再来调用此函数。 功能性模块尽可能在自己被调用时提供方法而不是策略。 模块名称 change_pass 功能描述 根据传来的用户名和密码将用户从密码文件中修改对应的记录 接口与属性 char change_pass(char *name,char *pass)。 数据结 无 项目名称,《模块设计报告》 机构名称, 2020 Page 40 of 124 构与算法 补充说明 注意事项同上。 用户配置文件格式为用户名和密码定长不足定长使用空格补 足,分隔符为:防止频繁修改文件大小,加剧 Nand Fland 的读写。 模块名称 Load_parm 功能描述 解析器的前端,根据解析器的结果,抛出对应得错误 接口与属性 int load_parm(char *fname) 数据结构与算法 无 补充说明 无 项目名称,《模块设计报告》 机构名称, 2020 Page 41 of 124 模块名称 do_parser 功能描述 解析器主体,根据传进来的文件指针,将文件中相应的参数解析到全局参数表。 接口与属性 int do_parser(FILE *fp)。 数据结构与struct temp_parm { int temp_hi_level。 int temp_low_level。 }。 项目名称,《模块设计报告》 机构名称, 2020 Page 42 of 124 算法 union parm { struct temp_parm temp_parm。 }。 struct dev_parm { char dev_type。 char dev_no。 union parm parm。 }。 struct parm_table { unsigned int nr_parm。 struct dev_parm dev_parm[NR_MAX_PARM]。 }。 struct parm_action { char name[MAX_PARM_NAME_LEN]。 void (*func)(struct dev_parm*, char *)。 }。 项目名称,《模块设计报告》 机构名称, 2020 Page 43 of 124 示例: struct parm_action parm_action[PARM_ACTION_LEN]={ {dev_type,load_dev_type}, {dev_no,load_dev_no}, {temp_hi_level,load_temp_hi_level}, {temp_low_level,load_temp_low_level}, }。 补充说明 模块名称 save_parm 功能描述 根据传进来的文件名 ,将全局参数表存储到配置文件中。 接口与 int save_parm(char *fname)。 项目名称,《模块设计报告》 机构名称, 2020 Page 44 of 124 属性 数据结构与算法 同上 补充说明 模块名称 get_dev_parm 功能描述 根据传来的设备类型和设备号,返回对应设备的参数指针 接口与属性 struct dev_parm *get_dev_parm(char dev_type, char dev_no)。 数据结构与算法 同上 补充说明 项目名称,《模块设计报告》 机构名称, 2020 Page 45 of 124 模块名称 getnline 功能描述 根据传进来的文件指针,从中取得一行,此行最大长度为 count。 接口与属性 size_t getnline(char *buf, size_t count, FILE *fp)。 数据结构与算法 无 补充说明 会将行尾的回车符替换为字符串结束的尾零,并且遇到 EOF 时停止。 返回值为实际取得的字符数(含尾零 /回车)。 模块名称 trim 功能描 将传进来的字符串头尾 的空格以及项目名称,《模块设计报告》 机构名称, 2020 Page 46 of 124 述 制表符砍去,然后将结果复制到dst。 接口与属性 char *trim(char *dst, const char *src)。 数据结构与算法 无 补充说明 各个参数的 handler: 模块名称 load_dev_type 功能描述 将 设 备 类 型 填 入 到 传 入 的dev_parm。 接口与属性 void load_dev_type(struct dev_parm *dev_parm, char *value); 数据结 无 项目名称,《模块设计报告》 机构名称, 2020 Page 47 of 124 构与算法 补充说明 模块名称 load_dev_no 功能描述 将设备号填入到传入的 dev_parm。 接口与属性 void load_dev_type(struct dev_parm *dev_parm, char *value); 数据结构与算法 无 补充说明 模块名 load_temp_hi_level 项目名称,《模块设计报告》 机构名称, 2020 Page 48 of 124 称 功能描述 将温度计最高报警温度填入到传入的 dev_parm。 接口与属性 void load_temp_hi_level(struct dev_parm *dev_parm, char *value) 数据结构与算法 无 补充说明 模块名称 load_temp_low_level 功能描述 将温度计最低报警温度填入到传入的 dev_parm 接口与属性 void load_temp_low_level(struct dev_parm *dev_parm, char 项目名称,《模块设计报告》 机构名称, 2020 Page 49 of 124 *value) 数据结构与算法 无 补充说明 模块名称 temp_parm_save 功能描述 将传入的温度计的 dev_parm 按照格式写入到文件指针里 接口与属性 void temp_parm_save(struct dev_parm *dev_parm, FILE *fp) 数据结构与算法 无 补充说明 项目名称,《模块设计报告》 机构名称, 2020 Page 50 of 124 模块名称 init_list 功能描述 初始化链表头节点 接口与属性 void init_list(struct list *list)。 数据结构与算法 struct list { struct list *prev,*next。 }。 补充说明 模块名称 list_add_node 功能描述 将节点加入链表。 接口与属性 void list_add_node(struct list *new, struct list *node, int 项目名称,《模块设计报告》 机构名称, 2020 Page 51 of 124 location)。 数据结构与算法 同上 补充说明 可以使用 location 标志指定插入node 制定节点的左边还是右边,如果 node 指向头节点,那么左边及为链表尾部, 右边是链表头。 模块名称 list_del_node 功能描述 将节点从量表中删除 接口与属性 void list_del_node(struct list *node)。 数据结构与算法 无 补充说 项目名称,《模块设计报告》 机构名称, 2020 Page 52 of 124 明 模块名称 is_last_node 功能描述 判断节点是否是链表的尾节点 接口与属性 int is_last_node(struct list *list, struct list *node)。 数据结构与算法 无 补充说明 真为尾节点 模块名称 is_empty_list 功能描述 返回链表是否为空链表 接口与 int is_empty_list(struct list 项目名称,《模块设计报告》 机构名称, 2020 Page 53 of 124 属性 *list)。 数据结构与算法 无 补充说明 真为空链表 模块名称 offsetof 宏 功能描述 返回成员在结构体中的偏移 接口与属性 offsetof(TYPE, MEMBER); 数据结构与算法 无 补充说明 TYPE 为对应结构体的类型,MEMBER 为成员在结构体中的名字 项目名称,《模块设计报告》 机构名称, 2020 Page 54 of 124 模块名称 get_node_owner 宏 功能描述 传入指向结构体中成员的指针,返回指向结构体的指针。 接口与属性 get_node_owner(ptr, type, member)。 数据结构与算法 无 补充说明 type,member 定义同 offsetof,ptr 为指向结构体中成员的指针。 模块名称 each_node_in_list 宏 功能描述 使用 pos 指针遍历结构体。 接口与属性 each_node_in_list(pos, head)。 项目名称,《模块设计报告》 机构名称, 2020 Page 55 of 124 数据结构与算法 define each_node_in_list(pos, head) \ for (pos = (head)next。 pos != (head)。 pos = posnext)。智能家居系统方案设计文档
相关推荐
三种情况下,报警器发出警报,警报延时(学号 +300) ms 后结束。 本电路共有 5个端口。 4个输入端口:基准时间源信号、开始键 信号、选手抢中信号、时间到信号。 1个输出端口:报警信号。 三路报警触发信号最终要通过一个与门来进行整合。 ( 2) 模块程序 Company: Engineer: Create Date: 20:55:37 11/13/2020 Design Name:
4. 156S1GT值对絮凝效果影响试验数据 序号 G(S1) T (S) GT SS 去除率 % COD 去除率 % 1 156 5 780 41 46 2 156 10 1560 47 48 3 156 20 3120 43 42 4 156 25 3900 38 40 5 156 30 4680 37 38 图 由图 3可以得出:最佳 GT值 为 1560。 此时 SS、
意固定地点对于车场执行完全控制权,完成各种统计、监视、报警、引导等功能,大大降低了管理人员的劳动量,并可以为业主提供一种全新的现代化气息。 二二 、 系系 统统 的的 构构 成成 与与 设设 计计 1 、 一进一出网络拓扑 图 (()) (()) 车辆检测器 车辆防轧系统 车辆检测器 车辆防轧系统 入口票箱 出口票箱 停车场控制 收费主机 收费读卡机 道闸分控器 入口 远距离 读卡机 出口
南通泰阳幕墙装饰有限公司 石材 沙子 人造石 石材 水泥 人造石 沙子 粘接剂 瓷砖粘接剂 乳胶漆 轻钢龙骨 环保腻子 吊杆 吊件 埃特板 木夹板 乳胶漆 第 六节 、施工准备 一 、现场测量放线 实施施工的首要工作是熟悉施工现场,对土建移 交的施工现场进行测量