It updates the image to the meter. target is ImageUpdate object. identification is manufacturer specific image name. and data is updated firmware. You can use it to update the image.
i m using the above code but when in ImageUpdate method it goes for "Initiate the Image transfer process" it gives the exception Device reports a hardware fault.
Same file is used in Gurux tool it works fine.
Do i have to update any property of ImageUpdateobject before sending to the ImageUpdate Method
They are using the same library and source code. Check identification and data values?
I believe the reason is in the identification if it fails here. Check that.
foreach (GXDLMSImageActivateInfo it in target.ImageActivateInfo)
{
if (it.Identification == identification)
{
bFound = true;
break;
}
}
This method is creating problem
Both it.Identification == identification have same value but still it is not entering the loop to get bFound true.
Don't know why both values are showing mismatch instead both are having 9 bytes and same value
Hi,
Hi,
Here is an example:
https://www.gurux.fi/Gurux.DLMS.Client
BR,
Mikko
public void ImageUpdate
public void ImageUpdate(GXDLMSImageTransfer target, byte[] identification, byte[] data)
can you explain the info which i have to pass in this method.
What is target and data
Hi,
Hi,
It updates the image to the meter. target is ImageUpdate object. identification is manufacturer specific image name. and data is updated firmware. You can use it to update the image.
BR,
Mikko
GXDLMSImageTransfer
GXDLMSImageTransfer imageTransfer = new GXDLMSImageTransfer();
byte[] ident = ASCIIEncoding.ASCII.GetBytes(tb_identification.Text);
_media.reader.ImageUpdate(imageTransfer, ident, FirmwareBytes);
i m using the above code but when in ImageUpdate method it goes for "Initiate the Image transfer process" it gives the exception Device reports a hardware fault.
Same file is used in Gurux tool it works fine.
Do i have to update any property of ImageUpdateobject before sending to the ImageUpdate Method
Hi,
Hi,
They are using the same library and source code. Check identification and data values?
I believe the reason is in the identification if it fails here. Check that.
BR,
Mikko
foreach
foreach (GXDLMSImageActivateInfo it in target.ImageActivateInfo)
{
if (it.Identification == identification)
{
bFound = true;
break;
}
}
This method is creating problem
Both it.Identification == identification have same value but still it is not entering the loop to get bFound true.
Don't know why both values are showing mismatch instead both are having 9 bytes and same value
Hi,
Hi,
This is fixed. Change this:
if (it.Identification == identification)
to:
if (GXCommon.EqualBytes(it.Identification, identification))
BR,
Mikko