Commit Graph

158 Commits

Author SHA1 Message Date
nnhy b33368b8e7 2016-03-16 16:15:47 +00:00
nnhy d1f6245d9b 所有NULL更换为nullptr,GCC要求更严格。
Sys.h头文件不再包含string.h,禁止SmartOS除了Type和String以外的地方使用内存管理函数
2016-03-14 04:28:04 +00:00
Stone eba9043046 除了Buffer其它任何地方不得使用memcpy/memset 2016-03-11 04:39:30 +00:00
nnhy ba51c2b068 Buffer增加布尔型运算符重载 2016-03-08 11:17:24 +00:00
nnhy 21c843e4f0 改名 2016-03-07 06:07:37 +00:00
Stone 243de19352 分离出来内存缓冲区Buffer,编译通过,未测试! 2016-03-06 02:14:53 +00:00
nnhy 94ab7fc27b 调试版检查内存的申请与释放,正在释放不是本系统申请的内存
网关C测试通过
2016-03-03 04:27:11 +00:00
nnhy 68ab705cfd 重构DNS/DHCP,传入ISocketHost对象引用,内部创建Socket并在结束时销毁,这样子设计能够让外部无需关系Socket的创建和销毁。代价是多了一堆new/delete 2016-03-03 03:42:30 +00:00
nnhy e0a21254ba 重构DNS/DHCP,增加快速DNS查询
重构W5500的HardSocket,传入引用而不是指针
网关C测试通过
2016-03-03 02:38:40 +00:00
nnhy f0b9020e99 统一DHCP停止事件,默认最大10次尝试,超过后重启系统,因为可能硬件故障 2016-03-02 12:49:50 +00:00
nnhy 3b96d9e495 增加 ISocketHost::CreateSocket
增加 ISocket::Protocol
2016-02-23 03:26:38 +00:00
WangQiang 24bfe0f9e1 添加网络连接判断 2016-02-19 02:40:00 +00:00
cdyong eada25ed1f w5500初始化要延迟600ms,否则打开模块失败 2016-02-18 06:18:40 +00:00
cdyong 8cae118b26 修改测试通过 2016-02-18 01:44:56 +00:00
cdyong 7f3590863e TCP UDP数值修改未成功 2016-02-18 01:25:55 +00:00
Stone d1a0606879 独立一套REV,不依赖固件库 2016-01-13 17:39:37 +00:00
nnhy 61379e79f3 关闭功能已稳定的模块日志,包括W5500/DHCP/DNS 2016-01-04 10:06:54 +00:00
nnhy c18e6c2cd4 不用加锁,协作式调度 2015-12-16 03:42:47 +00:00
nnhy 2d003f1c64 NSS、CE、IRQ、RST等引脚一般直连单片机,没有上拉下拉来确定初始电平,所以可以固定倒置方向 2015-12-16 03:31:19 +00:00
nnhy 0d943d19e3 W5500中断脚注册中断失败以后,加速任务间隔时间到10ms。
网关C测试通过
2015-12-08 03:33:51 +00:00
nnhy 6e5db0c5e9 增加日志 2015-12-04 14:04:24 +00:00
nnhy dc6ddf13bd 合并整理网关代码,网关C测试通过 2015-12-01 04:03:30 +00:00
nnhy 01366598c2 修正DHCP到期后无法重新获取的BUG。
在软路由上测试通过
2015-11-30 14:13:27 +00:00
nnhy 91d8a546c6 加大打开端口时的等待时间 2015-11-30 13:20:02 +00:00
nnhy b6113f4c40 屏蔽过多的日志 2015-11-26 02:13:47 +00:00
nnhy 36ae7184a5 W5500发送后控制轮询任务,加快处理,即使没有使用IRQ引脚,也能确保快速处理响应数据 2015-11-21 05:37:08 +00:00
nnhy a12294c9ff 每个设备驱动的初始化日志之前增加一个空行,方便查看 2015-11-21 04:49:47 +00:00
nnhy 2d1b1fa152 修正输入输出端口自动探测后倒置的SPI和W5500驱动错误,网关B测试通过 2015-11-20 14:11:00 +00:00
nnhy 7aadf1b42b 锁定5500定时器间隔 2015-11-13 14:29:08 +00:00
nnhy 232caf7e34 全面使用Array,尽可能的减少使用指针。
编译通过,网关C基础测试通过
2015-11-13 12:39:45 +00:00
nnhy 9523a0c4e2 大部分数据操作参数可以使用Array替代ByteArray,大大减少ByteArray构造函数的执行 2015-11-13 11:46:00 +00:00
nnhy 6a1c869f39 放大缓冲区,避免堆分配 2015-11-11 09:03:18 +00:00
nnhy 2b2ddd8961 数据传输接口增加一个带附加数据的Write,用于令牌协议指定指令发送的目标地址,首先在UDP上测试通过 2015-11-11 08:29:29 +00:00
nnhy 70c173d1f3 给一批常见传感器增加电源管理,编译通过,未测试 2015-11-08 02:49:10 +00:00
nnhy 586b14d99c 输入口增加按下时间统计,利于长按按钮的功能统计 2015-11-03 09:50:06 +00:00
nnhy c597bfd165 重构InputPort.Mode,指定上升沿下降沿,减少一次中断
精简OutputPort.Speed
2015-11-01 07:15:16 +00:00
nnhy 0462cfb034 打开5500时,稍带一点延迟,确保正确打开 2015-10-30 02:09:11 +00:00
nnhy e9c6777b30 W5500的IRQ逻辑有误,导致中断通知无效,而由定时任务支撑,导致以太网响应变慢。
网关C上测试通过,心跳时间从783ms减小到10ms
2015-10-22 11:28:16 +00:00
nnhy 358e6d327a 减少日志 2015-10-11 02:43:41 +00:00
nnhy d45e8b0886 数据流Stream去掉读写模版,改用普通读写函数,针对整数进行操作。
模版容易错误识别,并且导致可以直接写入字符串指针等隐含错误。
2015-10-10 14:20:37 +00:00
nnhy b93b272a4e 没有收到数据时,需要给缓冲区置零,否则系统逻辑会混乱 2015-10-08 03:03:05 +00:00
nnhy 52926ca9d6 W5500的TCP客户端测试通过 2015-10-08 01:59:00 +00:00
nnhy 5860970c88 任务操作函数全部修改为以毫秒ms为单位,所以需要减小1000倍
测试通过
2015-10-05 12:57:37 +00:00
nnhy d631e0d3b4 闪烁端口
默认慢闪,Start后快闪一定时间,-1时间表示一直快闪,Stop停止
支持数据操作指令,参数为快闪毫秒数
2015-09-29 06:51:57 +00:00
nnhy f8f7ec128e 传输口增加MaxSize,允许指定最大数据帧大小。
而相反,数据帧最小大小由协议决定。
四位触摸开关Zigbee版上测试通过,组网成功
2015-09-24 07:04:36 +00:00
nnhy c4cb854a9f 增加快闪慢闪指示灯,网关B测试通过 2015-09-22 09:39:41 +00:00
nnhy b599ffa1ba 增加5500指示灯 2015-09-22 08:31:55 +00:00
nnhy 4addc326e2 为解决芯片有时候无法接收数据的问题,需要守护任务辅助
网关C-4测试通过
2015-09-20 14:15:37 +00:00
nnhy 55087f64a8 切换端口时,要把中断一起配置,测试通过 2015-09-20 08:36:49 +00:00
nnhy f5db45f864 整理5500驱动的任务,网关B上测试通过 2015-09-20 08:22:38 +00:00
nnhy 09f8fbd8ea Socket增加SendTo方法,用于支持UDP广播,运行时切换目标地址和端口,网关B上测试通过 2015-09-20 07:58:46 +00:00
nnhy 58fb3da8b4 获取IP成功,重新设置参数 2015-09-20 07:41:46 +00:00
nnhy 01ba19c1d9 优化复制IP地址 2015-09-20 07:32:35 +00:00
nnhy ce1b811973 网关C上测试通过,成功在参数里面返回远程地址 2015-09-17 10:11:29 +00:00
nnhy f11eb549c6 全面升级数据传输接口,使用安全的字节数据来传递数据。
回调函数中增加额外的参数,用于传递会话参数,比如UDP中的远程地址
2015-09-17 10:08:22 +00:00
nnhy 7510046b56 打开多播以后,反而出问题 2015-09-17 07:58:12 +00:00
nnhy e62ff588e3 W5500的DHCP,首次通过
令牌网,握手登录心跳成功
2015-09-16 13:37:31 +00:00
nnhy e772547197 统一以太网接口,2860和5500均升级,未测试
统一DHCP,简单测试,成功发出Request,收到Offer,但是程序未处理
2015-09-16 10:09:57 +00:00
nnhy 97c560deae 2015-09-15 12:59:38 +00:00
nnhy b9102f843a IRQ输入口采用硬件中断 2015-09-15 12:46:31 +00:00
nnhy 4b1d56b077 优化Sys.RemoveTask,自动把ID清零 2015-09-07 09:07:58 +00:00
nnhy 7a2f27418c UDP可用,网关C测试通过,暂时不知道什么原因 2015-09-05 09:31:31 +00:00
WangQiang 6703873a99 回滚之前udp粘包处理 Port类编译不通过 无法测试 2015-09-05 09:08:11 +00:00
nnhy e51f51ebde 关掉一些日志 2015-09-05 06:48:13 +00:00
nnhy 1b679f5d6d 优化输入输出引脚控制 2015-09-05 04:08:46 +00:00
nnhy 320629b277 输入输出端口Port.Config拆分为Open/Close,更贴近实际使用意义 2015-09-05 03:40:38 +00:00
WangQiang 6b7ff34a5a W5500::UDP 拆包测试通过 比之前版本稳定 2015-09-04 00:42:48 +00:00
WangQiang 7806f45bde tcp 收数据部分 稍写了些
配置部分 OnOpen 没动
2015-09-03 13:54:36 +00:00
WangQiang 7708970cb9 UDP数据拆包出错太多
数据读取分步进行
udpclient::OnRead(buf,len) 内部可能buf被偷梁换柱而得不到数据
2015-09-02 15:02:08 +00:00
nnhy 5fc29639b7 增加打开关闭日志 2015-09-02 04:26:01 +00:00
nnhy 553f151525 C++的多接口跟C#不一样,不能简单转换了事,还需要注意两个接口的先后顺序,让它偏移
网关C v1.3测试通过
2015-08-30 02:42:07 +00:00
WangQiang 8a8aee60e3 过滤掉udp数据包数据长度不对的数据包 2015-08-29 09:50:32 +00:00
nnhy 4dd89982ff 整理5500架构 2015-08-27 01:14:11 +00:00
nnhy e3b1eac979 2015-08-26 09:39:05 +00:00
nnhy 9c6f4f0a4e 修正5500读取接收数据时动态分配内存的一个BUG 2015-08-26 07:42:14 +00:00
nnhy 8ce94452a3 完成代码Review,网关C v1.3测试通过,令牌握手、登录、心跳通过 2015-08-26 04:11:33 +00:00
nnhy e47a8fba2a UDP数据接收测试通过,令牌客户端登录通过 2015-08-26 03:39:12 +00:00
nnhy a9af82daeb 初始化时先开电源,再硬件复位 2015-08-26 03:28:29 +00:00
nnhy b0e21b9f64 调整IRQ和RST用法 2015-08-26 03:13:43 +00:00
nnhy 6a75e3fb88 代码收缩,对外屏蔽基础函数 2015-08-26 02:36:11 +00:00
WangQiang 73755261de 2015-08-19 01:58:50 +00:00
WangQiang 91e71edb72 UDP数据接收完成
中断分发 和 异步处理基本完成
待处理粘包问题 及 分离出数据包EndPoint信息
2015-08-18 14:29:21 +00:00
WangQiang f399b9f8ee 输出中断信息 定位中断类型
UDP 中断方面配置没有问题
调试工具问题  需要使用UDP客户端进行发送数据
好像与不监听广播有关 (猜测)
2015-08-18 13:17:53 +00:00
WangQiang 6b3dbbc718 清理不必要测试用的废弃代码
现状  UDP 发送基本完善,接收异步结构写好  具体收取数据未写
2015-08-17 15:02:19 +00:00
WangQiang 6abc0f5f75 进一步完善UDP 中断分发 2015-08-17 14:58:21 +00:00
WangQiang f5a52da23a 完善中断配置 测试未检测到中断信号 2015-08-17 14:33:39 +00:00
WangQiang 9eeea0d999 BlockSelect Socket 位域高低位弄反
发送数据测试正常
2015-08-17 13:25:40 +00:00
WangQiang 675c342e63 W5500::WriteByte2,W5500::ReadByte2 存在问题 即Spi::Write16 , Spi::Read16 存在问题
端口写入不对
2015-08-17 11:33:41 +00:00
WangQiang 5a4484e034 同步等待 终于等到了 Send——OK 但是接收端没有收到数据 2015-08-17 09:02:33 +00:00
WangQiang 34b16c0d34 Socket 0 被初始化时 ping 失效
原因不明
猜测,ARP占用Socket 0
2015-08-17 06:37:07 +00:00
WangQiang 4dbec6fea6 通过对比寄存器 还有ping 的响应与否 确定与W500类内的配置无关 与强迫ARP 无关 2015-08-17 06:18:01 +00:00
WangQiang 839ce02786 修正 BlockSelect UdpClient 测试继续不通过 2015-08-17 03:44:57 +00:00
WangQiang 138ab6163a HardSocket Write Read 与ITransport 基类冲突 2015-08-17 01:39:10 +00:00
WangQiang 4ddaf41008 完善IRQ结构 编译通过 未填充具体具体代码 2015-08-16 15:24:18 +00:00
nnhy 50fab05352 增加2字节的读写操作,编译通过,测试可启动,未全面测试 2015-08-14 15:06:28 +00:00
nnhy 936c1c5e8f 合并完成一份5500例程的收发数据,编译通过,未测试 2015-08-14 14:51:07 +00:00
Stone baaf067a6c 合并收发数据的代码,编译未通过 2015-08-11 18:02:07 +00:00
Stone ad2faa7cf1 合并第三方Tcp/Udp源码,编译通过,未测试 2015-08-11 17:41:48 +00:00
Stone 968093e670 独立单字节读写 2015-08-11 16:18:09 +00:00
nnhy 35b3017411 必须设定为1字节对齐,否则offsetof会得到错误的位置 2015-08-11 15:26:43 +00:00