12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Basic_Terminal
- {
- class Data_Handler
- {
- //FileDownload fileDownload;
- Update_Serial fileDownload;
- const byte Terminal_Controller_Update_Ack = 0x11;
- const byte Terminal_Controller_Update_Nak = 0x22;
- const byte Terminal_Controller_FirmwareUpdateLen = 250;
- const byte Terminal_Reset = 0x0A;
- const byte Terminal_BootStart = 0x0B;
- private Boolean HeaderCheck(byte[] data)
- {
- Boolean ret = false;
- if(data[0] == 0xbe)
- {
- ret = true;
- }
- return ret;
- }
- private byte CrcCheck(byte[] data)
- {
- byte ret = 0;
- Crc16 crc = new Crc16();
- byte length,crcindex;
- length = data[2];
- crcindex = (byte)(length + 1);
- ret = crc.STH30_CheckCrc(data,length,data[crcindex]);
- return ret;
- }
- public void Recv_dataCheck(object fileDownload, byte[] data)
- {
- Boolean Header_Check;
- byte Crc_Check,seq = data[1];
- if (fileDownload != null)
- {
- this.fileDownload = (Update_Serial)fileDownload;
- }
- else
- {
- this.fileDownload = new Update_Serial();
- }
- if (this.fileDownload.Update_ready == true)
- {
- Header_Check = HeaderCheck(data);
- if (Header_Check == false)
- {
- return;
- }
- Crc_Check = CrcCheck(data);
- if(Crc_Check == 0)
- {
- return;
- }
- switch (seq)
- {
- case Terminal_Reset:
- case Terminal_BootStart:
- case Terminal_Controller_Update_Ack:
- case Terminal_Controller_Update_Nak:
- //int DataAckcnt = data[(int)Bluepro_t.bluecell_type + 1];
- //this.fileDownload.UpdateFileSend(data, DataAckcnt);
- this.fileDownload.Termianl__Operate(data);
- break;
- case 3:
- break;
- default:
- break;
- }
-
- }
- }
- }
- }
|