/// <summary>
/// Generate write reply.
/// </summary>
/// <param name="settings"></param>
/// <param name="results"></param>
/// <param name="replyData"></param>
internal static void GenerateWriteResponse(GXDLMSSettings settings, GXByteBuffer results, GXByteBuffer replyData)
{
GXByteBuffer bb = new GXByteBuffer((UInt16)(2 * results.Size));
byte ret;
for (int pos = 0; pos != results.Size; ++pos)
{
ret = results.GetUInt8(pos);
// If meter returns error.
if (ret != 0)
{
bb.SetUInt8(1);
}
bb.SetUInt8(ret);
}
GXDLMSSNParameters p = new GXDLMSSNParameters(settings, Command.WriteResponse, results.Size, 0xFF, null, bb);
GXDLMS.GetSNPdu(p, replyData);
}