示例#1
0
        private void readStatusSystem(byte[] array)
        {
            Structures.FlashResult buffer = new Structures.FlashResult();
            object obj = new Structures.FlashResult();

            StructConvert.ByteArrayToStructure(array, ref obj);
            buffer = (Structures.FlashResult)obj;

            Enums.Status status;

/*			if (commandOut != Enums.Commands.StatusSystem)
 *                      {
 *                              if (commandOut == Enums.Commands.ReadFlash)
 *                              {
 *                                      MainWindow.Logger.Info("Чтение EEPROM завершено");
 *                                      Device.StatusProgress = Enums.StatusProgress.Finish;
 *                                      // TODO разрешить работать кнопке сохранить ЕЕПРОМ
 *                              }
 *                              commandOut = Enums.Commands.ZeroCommand;
 *                      }
 */         status = (Enums.Status)buffer.Status;
            if (status != Enums.Status.OK)
            {
                MainWindow.Logger.Error("Ошибка операции: {0}", status);
                commandOut            = Enums.Commands.ZeroCommand;
                Device.StatusProgress = Enums.StatusProgress.Alarm;                //Finish
                Function = Enums.FunctionalMode.Disable;
            }
        }
示例#2
0
        private byte[] prepareStatusSystem()
        {
            Structures.FlashResult buffer = new Structures.FlashResult();

            buffer.ToNetAddress   = NetAddressDevice;
            buffer.FromNetAddress = NetAddressPc;
            buffer.LengthMessage  = StructConvert.LengthStruct(buffer);
            buffer.Command        = Enums.Commands.StatusSystem;

            buffer.Task   = 0;
            buffer.Status = 0;

            buffer.Crc = CalculateCrc.CreateCRC(buffer);
            byte[] array = StructConvert.StructureToByteArray(buffer);
            return(array);
        }
示例#3
0
        private void readProgramVerifyFlash(byte[] array)
        {
            Structures.FlashResult buffer = new Structures.FlashResult();
            object obj = new Structures.FlashResult();

            StructConvert.ByteArrayToStructure(array, ref obj);
            buffer = (Structures.FlashResult)obj;

            Enums.Status status = (Enums.Status)buffer.Status;
            if (status != Enums.Status.OK)
            {
                MainWindow.Logger.Error("Ошибка операции: {0}", status);
                commandOut            = Enums.Commands.ZeroCommand;
                Device.StatusProgress = Enums.StatusProgress.Alarm;
                Function = Enums.FunctionalMode.Disable;
            }
            //Device.AddressOffset += Device.LengthSend; // TODO uncomment
            if (TaskToProcess == 1)
            {
                TaskToProcess = 0;
            }
        }
示例#4
0
        private void readEraseFlash(byte[] array)
        {
            Structures.FlashResult buffer = new Structures.FlashResult();
            object obj = new Structures.FlashResult();

            StructConvert.ByteArrayToStructure(array, ref obj);
            buffer = (Structures.FlashResult)obj;

            Enums.Status status = (Enums.Status)buffer.Status;
            if (status != Enums.Status.OK)
            {
                MainWindow.Logger.Error("Ошибка операции: {0}", status);
                Device.StatusProgress = Enums.StatusProgress.Alarm;
                Function = Enums.FunctionalMode.Disable;
            }
            else
            {
                MainWindow.Logger.Trace("Очистка завершена");
                Device.StatusProgress = Enums.StatusProgress.Finish;
                Function = Enums.FunctionalMode.Disable;
            }

            commandOut = Enums.Commands.ZeroCommand;
        }