Commit Graph

200 Commits

Author SHA1 Message Date
大石头X2 226f837205 优先使用int替换为uint,方便运算,能够准确识别产生的负数。 2017-02-28 14:21:30 +08:00
大石头X2 fc216e5f69 基础类库和系统内核尽可能的使用int替代uint,方便计算,避免溢出了也不知道。 2017-02-27 18:36:07 +08:00
Stone 078da19f55 去掉检测指针有效范围的宏定义 2016-07-02 08:26:20 +00:00
nnhy 854b412ef8 拆分微网消息和微网控制器 2016-05-18 06:37:29 +00:00
nnhy 5bea03b730 发送请求时自动加上序号,创建响应时拷贝序号 2016-04-11 02:32:07 +00:00
nnhy 216d641640 0开始时,允许截取0长度 2016-03-31 10:03:44 +00:00
cdyong d4e1ae553b 显示微网消息,不能没有串口名称就不显示 2016-03-24 07:01:49 +00:00
nnhy b0c7e1595c 集体修改断言 2016-03-18 01:48:17 +00:00
nnhy 106949adfc 关闭2401和微网协议的调试开关,解决三位触摸开关固件超过64k的问题 2016-03-18 01:24:29 +00:00
nnhy 54ce3408fc 修正清空内存时长度计算错误的BUG 2016-03-16 16:05:24 +00:00
nnhy effbaa463b Stream废除字节指针读写,DNS测试通过
网关C测试,不断重启
2016-03-16 04:09:35 +00:00
cdyong 472f2b2a92 转为object基类居然也能为空指针,先判空。 2016-03-16 01:41:38 +00:00
nnhy 8c71f8223a 调试版不显示日志信息 2016-03-15 06:43:04 +00:00
nnhy 19d0853e82 修正传输口字符串名称的问题 2016-03-14 08:09:16 +00:00
nnhy c6bfa47be5 GCC编译通过,但是sizeof/offsetof有警告 2016-03-14 07:18:01 +00:00
nnhy bef7df0d7c 使用字符串替代字符指针操作,未测试 2016-03-14 05:06:04 +00:00
nnhy d1f6245d9b 所有NULL更换为nullptr,GCC要求更严格。
Sys.h头文件不再包含string.h,禁止SmartOS除了Type和String以外的地方使用内存管理函数
2016-03-14 04:28:04 +00:00
nnhy bdfd8e6273 Array => Buffer 2016-03-11 13:03:38 +00:00
Stone dbb0a80ff8 发现微网控制器一个Bug
消息队列清空没有完整,难怪有时候会出现快速重发的问题
2016-03-11 04:38:59 +00:00
nnhy 11ec1084fd ulong => UInt64
_REV/_REV16 独立汇编实现,不依赖固件库
2016-03-07 10:46:10 +00:00
nnhy ea7191ba8b 减少一次配置保存 2016-03-02 10:13:46 +00:00
nnhy 7e1e6472b0 减少微网调试日志,默认屏蔽心跳指令日志 2016-01-19 07:47:19 +00:00
cdyong 535afa1a02 调后发现是外部问题,2014注释改回 2016-01-15 10:52:55 +00:00
cdyong 39879dd258 注释重消息发打印 2016-01-15 09:32:03 +00:00
nnhy de46b80994 避免微网间隔和超时时间超大 2016-01-15 07:11:16 +00:00
Stone d1a0606879 独立一套REV,不依赖固件库 2016-01-13 17:39:37 +00:00
nnhy 9da4aa12f7 增加配置基类ConfigBase,统一微网配置和令牌配置 2016-01-12 10:10:15 +00:00
nnhy 30a8d7ab26 修正微网配置加载时输出日志有误的BUG 2016-01-04 09:53:04 +00:00
nnhy af1f4d9a23 调整微网控制器初始化配置的逻辑 2016-01-02 08:26:17 +00:00
cdyong 199c45fa3a 2016-01-02 07:29:02 +00:00
cdyong 4b754852c2 修正微网控制器,地址错误 2016-01-02 07:27:33 +00:00
cdyong 6ce9461d8e 地址附值 赋反了 2016-01-02 07:12:37 +00:00
nnhy 41d6e593ea 微网配置TinyConfig增加无线发射间隔和超时时间,编译通过,未测试 2015-12-31 10:09:15 +00:00
nnhy a541e50d18 2401间隔40ms,超时800ms
最大重发次数50,统计间隔1000次
2015-12-30 14:23:45 +00:00
nnhy b97bdf2bab 2015-12-30 13:04:22 +00:00
nnhy 9c758a0830 修正微网统计时间有误的BUG 2015-12-30 12:57:44 +00:00
cdyong b3d4b2a26f 心跳加密 2015-12-23 00:45:25 +00:00
cdyong e10c095b3d 重发次数不允许超过5次 2015-12-22 07:37:32 +00:00
nnhy 0f719a5075 重复消息标记为失败,不允许继续向下 2015-12-21 06:21:41 +00:00
nnhy 74c1355063 重复请求处理BUG 2015-12-21 06:03:38 +00:00
nnhy ad93ebfa0c 增加抓取微网控制器异常的日志 2015-12-21 05:40:46 +00:00
nnhy 6acd69864c 初步怀疑微网消息发送时长度超长是因为发送队列初始化时没有清零 2015-12-19 09:48:41 +00:00
nnhy df2c9c67d4 进一步拦截2401错误 2015-12-19 07:33:21 +00:00
nnhy a1fa60fed7 增加日志,拦截2401超长的异常,未解决 2015-12-19 07:17:57 +00:00
nnhy 9788e26453 未使用,或者即使使用也要抢走已过期的节点
微网发送队列没有请求消息的时候可能会暂停任务轮训,导致超时任务得不到及时处理,而插入队列的时候并没有检查是否产品
所以导致发送队列很容易爆满
但只要任意发送一条请求消息,唤醒队列,就可以清空超时消息

然而也有最悲剧的时候,队列里面全都是响应消息,队列睡眠去了,新的请求消息又进不来,永远爆满!

灵感,就在那一瞬间!
2015-12-19 02:13:30 +00:00
nnhy 14807f341c 重构客户端读写数据操作,编译通过,未测试 2015-12-18 15:43:08 +00:00
cdyong 6f7bba1574 整理代码 2015-12-18 11:15:25 +00:00
nnhy 3168abb1be Mac地址分配原则:
1,所有节点0通道为本地私有地址,1通道为广播地址0xFF
2,主节点2通道为组网广播地址0x00
3,发送通道为远程地址,节点组网前,远程地址为0x00

经网关C和触摸开关联合进行拥挤测试,网关C频发发送无线指令给0地址,触摸开关接收缓冲区没有溢出,无线监测点表明有频繁的无线指令发出。初步证明隔离方案可行。
2015-12-16 15:49:37 +00:00
nnhy 214221807a 修正Mac拷贝错误 2015-12-16 14:59:15 +00:00
nnhy 7470598557 2401收到数据的时候,读取相应通道的无线物理地址。
组网时,网关存储设备无线物理地址
2015-12-16 13:42:39 +00:00