Commit b7f0c6d5 authored by 尹佳钦's avatar 尹佳钦

将read rsp转换为物模型格式上报

parent 34eda340
...@@ -133,6 +133,7 @@ void kk_read_attr_response(EmberNodeId nodeId, ...@@ -133,6 +133,7 @@ void kk_read_attr_response(EmberNodeId nodeId,
} }
kk_colorlight_attr_read(nodeId,ep,cluster,attribute,status,dataType,dataSize,data); kk_colorlight_attr_read(nodeId,ep,cluster,attribute,status,dataType,dataSize,data);
} }
void emberAfPluginDeviceTableNewDeviceCallback(EmberEUI64 nodeEui64) void emberAfPluginDeviceTableNewDeviceCallback(EmberEUI64 nodeEui64)
{ {
......
...@@ -845,6 +845,7 @@ bool rpc_ReadAttributesResponseCallback(EmberAfClusterId clusterId, ...@@ -845,6 +845,7 @@ bool rpc_ReadAttributesResponseCallback(EmberAfClusterId clusterId,
uint8_t * bufferTemp; uint8_t * bufferTemp;
uint8_t * bufferPtr = buffer; uint8_t * bufferPtr = buffer;
uint8_t i, bufferSize,typeSize; uint8_t i, bufferSize,typeSize;
uint8_t dataType;
EmberAfAttributeId attributeId; EmberAfAttributeId attributeId;
uint8_t cnt=1; uint8_t cnt=1;
uint8_t Status; uint8_t Status;
...@@ -882,16 +883,16 @@ bool rpc_ReadAttributesResponseCallback(EmberAfClusterId clusterId, ...@@ -882,16 +883,16 @@ bool rpc_ReadAttributesResponseCallback(EmberAfClusterId clusterId,
if(Status == EMBER_ZCL_STATUS_SUCCESS){ if(Status == EMBER_ZCL_STATUS_SUCCESS){
if(emberAfIsStringAttributeType(bufferPtr[3])){ dataType = bufferPtr[3];
if(emberAfIsStringAttributeType(dataType)){
bufferSize = bufferPtr[4]; bufferSize = bufferPtr[4];
typeSize = 1; typeSize = 1;
}else if(emberAfIsLongStringAttributeType(bufferPtr[3])){ }else if(emberAfIsLongStringAttributeType(dataType)){
bufferSize = HIGH_LOW_TO_INT(bufferPtr[5], bufferPtr[4]); bufferSize = HIGH_LOW_TO_INT(bufferPtr[5], bufferPtr[4]);
typeSize = 2; typeSize = 2;
}else { }else {
typeSize = 0; typeSize = 0;
bufferSize = emberAfGetDataSize( bufferSize = emberAfGetDataSize(dataType);
bufferPtr[3]);
} }
bufferSize = bufferSize + 4 + typeSize; bufferSize = bufferSize + 4 + typeSize;
bufferTemp = (uint8_t*)malloc(bufferSize); bufferTemp = (uint8_t*)malloc(bufferSize);
...@@ -920,6 +921,8 @@ bool rpc_ReadAttributesResponseCallback(EmberAfClusterId clusterId, ...@@ -920,6 +921,8 @@ bool rpc_ReadAttributesResponseCallback(EmberAfClusterId clusterId,
uint8_t *dataPtr = &bufferTemp[ATTRIBUTE_BUFFER_REPORT_DATA_TYPE+1+1+typeSize]; uint8_t *dataPtr = &bufferTemp[ATTRIBUTE_BUFFER_REPORT_DATA_TYPE+1+1+typeSize];
rpc_cJSON_AddDataToObject(item_attr,dataPtr,dataLen); rpc_cJSON_AddDataToObject(item_attr,dataPtr,dataLen);
kk_device_config_item_report(nodeEui64,ep,clusterId,attributeId,dataType,dataLen,dataPtr);
kk_read_attr_response(nodeId, kk_read_attr_response(nodeId,
ep, ep,
clusterId, clusterId,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment