#include "UWater_frame_app.h"
#include "UWater_rtcc_app.h"
#include "UWater_lcd_app.h"	
#include "UWater_gp22_app.h"
#include "UWater_pt_app.h" 
#include "UWater_frame_func_ReplyWT.h"
#include "UWater_encryption_driver.h"
#include "UWater_DataTools_App.h"
#include "UWater_uart_driver.h"
#include "UWater_eeprom_driver.h"
#include "UWater_frame_func_ReplyShenYang.h"

#if PRODUCT_SY

//解商河水务规约
u8 crack_frame_SHTCP(u16 frame_lenth,u8 *frame_buffer)//
{
     u16 tmp_i = 0;
     u16 tmp_j = 0;
     u8 tmp_check = 0;
    for (tmp_i = 0; tmp_i < frame_lenth; tmp_i++)
    {
        if (FM_HEAD_MARK == *(frame_buffer + tmp_i))
        {
			if ((MET_TYPE_TCP == *(s_frame_rcv_buf + tmp_i + 1))&&(1 == s_frame_flag.data_sourse))
			{
				s_frame_struct.met_type = MET_TYPE_TCP;
				s_frame_struct.head_site = tmp_i; //记录帧头
				s_frame_struct.len = *(s_frame_rcv_buf + tmp_i + 10);//数据长度
				s_frame_struct.end_site = s_frame_struct.head_site + 10 + s_frame_struct.len + 2;
				s_frame_struct.check_len = s_frame_struct.end_site - s_frame_struct.head_site - 1;
				 if(FM_END_MARK == *(s_frame_rcv_buf + s_frame_struct.end_site))
				 {
					//计算校验和
					 tmp_check = 0;
					for (tmp_j = s_frame_struct.head_site; tmp_j < (s_frame_struct.end_site - 1); tmp_j++)
					{
						tmp_check += *(s_frame_rcv_buf + tmp_j);
					}
					if (tmp_check == *(s_frame_rcv_buf + s_frame_struct.end_site - 1))
					{
						s_frame_struct.ctrl = *(s_frame_rcv_buf + s_frame_struct.head_site + 9);
						s_frame_struct.DI0 = *(s_frame_rcv_buf + s_frame_struct.head_site + 11);
						s_frame_struct.DI1 = *(s_frame_rcv_buf + s_frame_struct.head_site + 12);
						return  SUCCESS_IES;
					}
				 }
			}
        }
    }
    return ERROR_IES;
}

#endif



