gx_dlms 的杂乱记录
DLMS_ERROR_CODE_FALSE
W3Jehpnc543MuwUz6ZWDshy5kwbbE9Cw
CGXDLMSClient::GetData(CGXByteBuffer& reply, CGXReplyData& data)
	CGXDLMS::GetData(m_Settings, reply, data, NULL)
		// hdlc路线,这里的reply 是原始接受的数据,data 要返回的CGXReplyData
		GetHdlcData(settings.IsServer(), settings, reply, data, frame, notify))
			帧类型 U/I/S
			address
			crc
		//tcp路线
		GetTcpData
		if (!target->IsComplete())
			return DLMS_ERROR_CODE_FALSE;
		GetDataFromFrame(reply, *target, settings.GetInterfaceType() == DLMS_INTERFACE_TYPE_HDLC);
			//提取具体的apdu数据
		GetPdu(settings, *target)
			//解析出具体的apdu的头
			case	HandleGetResponse
						// 把数据提取出来
					aare
					....
			GetValueFromData
// ua解析
ParseUAResponse
	CGXDLMS::ParseSnrmUaResponse(data, &m_Settings.GetLimits());
	m_Settings.SetConnected(DLMS_CONNECTION_STATE_HDLC);
// aare
ParseAAREResponse
	CGXAPDU::ParsePDU(m_Settings, m_Settings.GetCipher(),reply, result, sd, NULL)) != 0)
流的处理,数据接受完整的处理与判断
m_Parser->SNRMRequest
	根据类型和数据 构造 hdlc的数据帧
	 CGXDLMS::GetHdlcFrame
ReadDataBlock
		ReadDLMSPacket
			write(m_hComPort, data.GetData(), len);
			Read(0x7E, bb)
			m_Parser->GetData(bb, reply, notify)
				GetHdlcData // 从hdlc 得到数据
				GetDataFromFrame
GetLNPdu   组合  获得 E6 E6 00 开始的数据
GXHelpers::GetData
int CGXDLMSTranslator::DataToXml(CGXByteBuffer& data, std::string& xml)
GetDataTypes
数据读取
m_Parser->Read 组数据
ReadDataBlock
	ReadDLMSPacket	发数据
UpdateValue解析数据	
if 0==GetData
	if(m_Complete==flase)
	else(m_Complete==true)
	有个positon 指示了当前解析的位置
一些有用的定义
DLMS_COMMAND_SNRM  表示了具体的帧类型
faq
	GetHdlcData 里面有些回退操作
待优化
GetHDLCAddress
	可以在size=5时候退出
GetHdlcData 应先检查crc 再去做帧类型检查	
关于构造和析构
												
											gx_dlms 的杂乱记录的更多相关文章
- Kubernetes---网络通讯模式笔记
		
⒈kubernetes网络通讯模式 Kubernetes的网络模型假定了所有Pod都在一个可以直接连通的扁平的网络空间中,这在GCE(Google Compute Engine)里面是现成的网 ...
 - 阅读记录:Learning multiple layers of representation(杂乱笔记)
		
典型的浅层学习结构: 传统隐马尔可夫模型(HMM).条件随机场 (CRFs).最大熵模型(Maxent).支持向量机(SVM).核回归及仅含单隐层的多层感知器(MLP)等. 局部表示,分布式表示和稀疏 ...
 - git bash学习3 -简单杂乱知识点记录
		
branch 新建分支 git init git add git commit 先新建一个仓库以及master 然后新建分支 git branch BranchName 然后切换分支 git chec ...
 - NodeJs学习记录(一)初步学习,杂乱备忘
		
2016/12/26 星期一 1.在win7下安装了NodeJs 1)进入官网 https://nodejs.org/en/download/,下载对应的安装包,我目前下载的是node-v6.2.0- ...
 - CozyRSS开发记录-中断
		
接下来会对CozyRSS做一堆的修改,包括界面和功能.因为比较杂乱,而且大多是体力活,所以就不记录了.等下次再发的时候,见到的就是一个有可用性的CozyRSS了!
 - Git命令行(转用于学习和记录)
		
Git命令行介绍和使用说明(持续更新) 参见:<Git 中文简体教程> 一. 命令“git”或者“git help”查询常用命令 [add]: “git add”——不但是用来添加不在版本 ...
 - 制作Aspose CHM文档的过程记录
		
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
 - 12天学好C语言——记录我的C语言学习之路(Day 6)
		
12天学好C语言--记录我的C语言学习之路 Day 6: 今天,我们要开始学习数组了. //①数组部分,数组的大小不能够动态定义.如下: //int n; scanf("%d,& ...
 - 12天学好C语言——记录我的C语言学习之路(Day 3)
		
12天学好C语言--记录我的C语言学习之路 Day 3: 不知不觉到了第三天的学习,我们前两天学习的东西很杂乱,各个方面都有学习.我觉得这不是不系统,也不是学的不扎实,这种学习对于初学者而言我认为是很 ...
 
随机推荐
- Java_hutool 发起请求
			
//执行接口 String realUrl = "http://localhost:8091/SzeportCodeService/MSGService/encryptAES"; ...
 - Oracle 进程 前台进程-服务进程
			
一.什么是服务进程(前台进程) 当用户运行一个应用进程时,系统会为用户运行的应用建立一个用户程序,该进程通过某种方式启动一个服务器进程(前台进程),用于处理连接到该实例的用户进程的请求. 二.服务进程 ...
 - JXOJ  9.7 NOIP 放松模拟赛  总结
			
比赛链接 T1 数数 题意:有a个红球,b个黄球,c个蓝球,d个绿球排成一列,求任意相邻不同色的排列的数目  1 <= a , b, c, d <= 30 答案对1e9 + 7 取膜 用 ...
 - 原来INF文件是干这个的
			
When the drivers for a device are installed, the installer uses information in an information (INF) ...
 - nginx下载  并将vue项目部署上去
			
这是一个比较全的nginx配置说明:新手可以先忽略,直接往下看:https://www.cnblogs.com/findbetterme/p/11289273.html nginx官网下载地址:htt ...
 - element-ui中el-table表格的使用(如何取到当前列的所有数据)
			
基本使用都不多说了, 我们知道这个表格组件,每个单元格内容是table绑定的data中的某个属性决定的,但是如果我们想根据这个属性值,渲染出另一个值呢,首先问题来了,我如何获得当前列的值, 查了查,我 ...
 - SNMP 协议介绍  转载
			
一.SNMP简单概述 1.1.什么是Snmp SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议& ...
 - 数据库隔离级别,每个级别会引发什么问题,mysql默认是哪个级别
			
1.脏读 脏读是指在一个事务处理过程里读取了另一个未提交的事务中的数据. 当一个事务正在多次修改某个数据,而在这个事务中这多次的修改都还未提交,这时一个并发的事务来访问该数据,就会造成两个事务得到的 ...
 - GA算法及参数对结果的影响
			
1.遗传算法简介 遗传算法是一种基于自然选择和群体遗传机理的搜索算法,它模拟了自然选择和自然遗传过程中的繁殖.杂交和突变现象.再利用遗传算法求解问题时,问题的每一个可能解都被编码成一个“染色体”,即个 ...
 - 在testrpc以太坊测试环境部署智能合约
			
2018年03月13日 09:20:54 思无邪-machengyu 阅读数 2683 版权声明:本文为博主原创文章,转载请务必注明出处,否则追究法律责任 https://blog.csdn.ne ...