123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace RF_TRIO_PLL_ZIG
- {
- 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;
- try
- {
- length = data[2];
- }
- catch
- {
- return ret;
- }
- 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;
- try
- {
- seq = data[1];
- }
- catch {
- return;
- }
- 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;
- }
-
- }
- }
- }
- }
|