123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- 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;
- public Boolean HeaderCheck(byte[] data)
- {
- Boolean ret = false;
- if(data[0] == 0xbe)
- {
- ret = true;
- }
- return ret;
- }
- public bool CrcCheck(byte[] data)
- {
- bool ret = false;
- Crc16 crc = new Crc16();
- byte length,crcindex;
- try
- {
- length = data[2];
- }
- catch
- {
- return ret;
- }
- crcindex = (byte)(length + 1);
- try
- {
- ret = crc.STH30_CheckCrc(data, length, data[crcindex]);
- }
- catch(Exception e)
- {
- return ret;
- }
- return ret;
- }
- Serial serial;
- Main_Form main_Form; //= new Main_Form();
- public void Recv_dataCheck(object serial,object main_form, object fileDownload, byte[] data)
- {
- Boolean DataCheck;
- Bluecell_BootProtocol bluecell_BootProtocol = new Bluecell_BootProtocol();
- this.serial = (Serial)serial;
- this.main_Form = (Main_Form)main_form;
- byte 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)
- {
- DataCheck = HeaderCheck(data);
- if (DataCheck == false)
- {
- return;
- }
- DataCheck = CrcCheck(data);
- if(DataCheck == false)
- {
- 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;
- }
-
- }
- else/* * * * * * * * * * * * * *API RECV 부분 * * * * * * * * * * * * * */
- {
- DataCheck = HeaderCheck(data);
- if (DataCheck == false)
- {
- return;
- }
- DataCheck = CrcCheck(data);
- if (DataCheck == false)
- {
- return;
- }
- bluecell_BootProtocol.Bluecell_RF_Status_Get(this.serial,this.main_Form, data);
- }
- }
- }
- }
|