private bool _SendSetConfigTime(DateTime dtNow, DateTime correctTime, double TempNow, int trytimes) { string head = "681013"; StringBuilder msgsb = new StringBuilder(); msgsb.Append(Utils.IntToHexString(dtNow.Year % 100, 1)); msgsb.Append(Utils.IntToHexString(dtNow.Month % 100, 1)); msgsb.Append(Utils.IntToHexString(dtNow.Day % 100, 1)); msgsb.Append(Utils.IntToHexString(dtNow.Hour % 100, 1)); msgsb.Append(Utils.IntToHexString(dtNow.Minute % 100, 1)); msgsb.Append(Utils.IntToHexString(dtNow.Second % 100, 1)); msgsb.Append(Utils.IntToHexString(correctTime.Year % 100, 1)); msgsb.Append(Utils.IntToHexString(correctTime.Month % 100, 1)); msgsb.Append(Utils.IntToHexString(correctTime.Day % 100, 1)); msgsb.Append(Utils.IntToHexString(correctTime.Hour % 100, 1)); msgsb.Append(Utils.IntToHexString(correctTime.Minute % 100, 1)); msgsb.Append(Utils.ToHexString(TempSenHelper.TempDouble2Byte(TempNow))); string msg = msgsb.ToString(); msg = AddFCS(msg); string end = "0A"; SPWrite(Utils.HexToByte(head + msg + end)); if (autoreceive) { return(true); } string result = spRead(); if (!result.StartsWith("68110000")) { if (trytimes > 0) { return(_SendSetConfigTime(dtNow, correctTime, TempNow, --trytimes)); } else { throw new Exception("retry n times all faild ."); } } return(true); }
private bool _SendSetConfigInfo(int sn, string recordtype, string alerttype, double upTemp, double downTemp, DateTime alertDelay, DateTime startDelay, DateTime dtNow, bool isFastRecord, int trytimes) { string head = "681222"; StringBuilder msgsb = new StringBuilder(); msgsb.Append(Utils.IntToHexString(sn, 4)); msgsb.Append(recordtype); msgsb.Append(alerttype); msgsb.Append(Utils.ToHexString(TempSenHelper.TempDouble2Byte(upTemp))); msgsb.Append(Utils.ToHexString(TempSenHelper.TempDouble2Byte(downTemp))); msgsb.Append(Utils.IntToHexString(alertDelay.Hour % 100, 1)); msgsb.Append(Utils.IntToHexString(alertDelay.Minute % 100, 1)); msgsb.Append(Utils.IntToHexString(alertDelay.Second % 100, 1)); msgsb.Append(Utils.IntToHexString(startDelay.Hour % 100, 1)); msgsb.Append(Utils.IntToHexString(startDelay.Minute % 100, 1)); msgsb.Append(Utils.IntToHexString(startDelay.Second % 100, 1)); msgsb.Append(Utils.IntToHexString(dtNow.Year % 100, 1)); msgsb.Append(Utils.IntToHexString(dtNow.Month % 100, 1)); msgsb.Append(Utils.IntToHexString(dtNow.Day % 100, 1)); msgsb.Append(Utils.IntToHexString(dtNow.Hour % 100, 1)); msgsb.Append(Utils.IntToHexString(dtNow.Minute % 100, 1)); msgsb.Append(Utils.IntToHexString(dtNow.Second % 100, 1)); if (isFastRecord) { msgsb.Append("FF"); } else { msgsb.Append("00"); } string msg = msgsb.ToString(); msg = AddFCS(msg); string end = "0A"; SPWrite(Utils.HexToByte(head + msg + end)); if (autoreceive) { return(true); } string result = spRead(); if (!result.StartsWith("68130000")) { if (trytimes > 0) { return(_SendSetConfigInfo(sn, recordtype, alerttype, upTemp, downTemp, alertDelay, alertDelay, dtNow, isFastRecord, --trytimes)); } else { throw new Exception("retry n times all faild ."); } } return(true); }