P4UWaterShenYang/app/UWater_Frame/UWater_frame_func_ReplyJian...

515 lines
14 KiB
C
Raw Permalink Normal View History

2024-06-03 15:49:39 +08:00
#include "sys_config.h"
#if PRODUCT_JS
#include "sys_processor.h"
#include "UWater_eeprom_driver.h"
#include "UWater_timer1uS_driver.h"
#include "UWater_DataTools_App.h"
#include "UWater_JX_Store_App.h"
#include "UWater_frame_func_ReplyNB.h"
#include "UWater_frame_func_ReplyJiangShui.h"
static u8 s_eep_complete_JiangShui=0;
static u8 task_complete_JiangShui = PTL_PACK_BUSY;
static u8 g_frame_temp_buf_JiangShui[UP_BUF_SIZE]; //<2F><><EFBFBD>ݲ<EFBFBD><DDB2>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
static u16 g_frame_temp_len_JiangShui=0;
static STRUCT_FRAME_IES frame_struct_JiangShui; //<2F><>Լ<EFBFBD><D4BC>Ϣ
static u8 *new_message_data_rev_JiangShui;
static u8 up_deal_stat_JiangShui = UP_DEAL_S0;//<2F><>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>״̬<D7B4><CCAC>
/*******<2A><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>*****************************************/
static u16 upload_serial_num_JiangShui=0;
static STRUCT_FRAME_IES upload_struct_JiangShui; //<2F><>Լ<EFBFBD><D4BC>Ϣ
static u8 upload_frame_stat_JiangShui=0; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>֡״̬
static u8 upload_task_complete_JiangShui = PTL_PACK_FAIL;
static u8 temp_format_error;//<2F>ϱ<EFBFBD><CFB1><EFBFBD>ʽ<EFBFBD><EFBFBD><ECB3A3>־
static u8 jx_upload_fail_times=0;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>
static u8 upload_temp_buf_JiangShui[PACK_NUM_GPRS_TOTAL];
static u16 upload_temp_len_JiangShui=0;//<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
static u16 jx_upload_record_cnts = 0;//<2F><>Ҫ<EFBFBD>ϱ<EFBFBD><CFB1>ļ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
static u8 jx_upload_total_packs=0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD>ܰ<EFBFBD><DCB0><EFBFBD>
static u8 jx_upload_cur_pack=0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ϱ<EFBFBD><CFB1>ĵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
static u16 s_upload_connect_time=0;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
//<2F>ϴ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
static void frame_func_reply_NB_AckUpload(void)
{
g_frame_temp_len_JiangShui =0;
u8 sernum0 = upload_serial_num_JiangShui&0xFF;
u8 sernum1 = (upload_serial_num_JiangShui>>8)&0xFF;
if(*(new_message_data_rev_JiangShui + 6) == 1)//<2F>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ<EFBFBD>
{
if(frame_struct_JiangShui.serial_num0 == sernum0)
{
if(frame_struct_JiangShui.serial_num1 == sernum1)
{
FrameSetMsgApp(MsgNbUplaod_AckOk);//<2F><><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7>ظ<EFBFBD>ʽ<EFBFBD>쳣,Ӧ<>жϹ<D0B6>
NB_SS_Control_SetPara(NB_SS_FormatError, 1);//<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>ʽ<EFBFBD><EFBFBD><ECB3A3>־
}
}
}
else
{
if(frame_struct_JiangShui.serial_num0 == sernum0)
{
if(frame_struct_JiangShui.serial_num1 == sernum1)
{
FrameSetMsgApp(MsgNbUplaod_AckOk);
}
}
NB_SS_Control_SetPara(NB_SS_FormatError, 0);//<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>ʽ<EFBFBD><EFBFBD><ECB3A3>־
}
task_complete_JiangShui = PTL_PACK_FAIL;//<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>Ӧ<EFBFBD><D3A6>֡,<2C><><EFBFBD>ش<EFBFBD><D8B4><EFBFBD>,<2C><><EFBFBD>Ʋ<EFBFBD>Ӧ<EFBFBD><D3A6>
}
//<2F><>¼֡------------------------<2D>жϵ<D0B6>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD>PTL_PACK_FAIL
static void frame_func_reply_NB_AckLogin(void)
{
FrameSetMsgApp(MsgNbUplaod_AckLoginOk);
}
//<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>
static void frame_func_s3_NB_ClearFailTimes(void)
{
static u8 temp_clear_buf[4];
if(TASK_IDLE == EepIfIdle())
{
g_frame_temp_len_JiangShui = 0;
NB_SS_Control_SetPara(NB_SS_FormatError, 0);
NB_SS_Control_SetPara(NB_UploadFailTimes, 0);
temp_clear_buf[0]=0;
temp_clear_buf[1]=0;
temp_clear_buf[2]=0;
temp_clear_buf[3]=0;
EepWrite(temp_clear_buf, FRAME_NBIot_BUBAO_FLAG, 4, &s_eep_complete_JiangShui);
task_complete_JiangShui = PTL_PACK_SUCCESS;
}
}
//<2F><><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>:<3A><><EFBFBD><EFBFBD><EFBFBD>ܼ<EFBFBD><DCBC><EFBFBD><E6B4A2><EFBFBD><EFBFBD>
static void frame_func_s3_NB_SetStorageFrequency(void)
{
switch(up_deal_stat_JiangShui)
{
case UP_DEAL_S0:
{
if(TASK_IDLE == EepIfIdle())//<2F><EFBFBD><E6B4A2><EFBFBD>ݵ<EFBFBD>EEPROM
{
g_frame_temp_len_JiangShui = 0;
if(*new_message_data_rev_JiangShui> 0x5A) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>90min
{
task_complete_JiangShui = PTL_PACK_FAIL;
return;
}
Sys_data_object.P1.storage_frequency = *(new_message_data_rev_JiangShui);
EepWrite(&Sys_data_object.P1.storage_frequency, EEP_FRAME_STORAGE_FREQUENCY, 1, &s_eep_complete_JiangShui);
Frame_Para_Init();
task_complete_JiangShui = PTL_PACK_SUCCESS;
}
}
break;
default:
{
up_deal_stat_JiangShui = UP_DEAL_S0;
task_complete_JiangShui = PTL_PACK_FAIL;
}
break;
}
}
//<2F><><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>:<3A><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>Ƶ<EFBFBD><C6B5>
static void frame_func_s3_NB_SetSamplingFrequecy(void)
{
if(TASK_IDLE == EepIfIdle())//<2F><EFBFBD><E6B4A2><EFBFBD>ݵ<EFBFBD>EEPROM
{
g_frame_temp_len_JiangShui = 0;
Sys_data_object.P1.jx_sampling_frequency[0] = *(new_message_data_rev_JiangShui + 0);
Sys_data_object.P1.jx_sampling_frequency[1] = *(new_message_data_rev_JiangShui + 1);
EepWrite(&Sys_data_object.P1.jx_sampling_frequency[0], EEP_FRAME_JX_SAMPLING_FREQUENCY_ADDR, 2, &s_eep_complete_JiangShui);
Frame_Para_Init();
task_complete_JiangShui = PTL_PACK_SUCCESS;
}
}
//<2F><><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>:<3A><><EFBFBD><EFBFBD>NBģ<42><C4A3>ΪPSM<53><4D><EFBFBD>ϵ<EFBFBD>ģʽ
static void frame_func_s3_NB_SetPsmOrPwDown(void)
{
if(TASK_IDLE == EepIfIdle())
{
g_frame_temp_len_JiangShui = 0;
Sys_data_object.P1.jx_psm_pwdown = *new_message_data_rev_JiangShui;
EepWrite(&Sys_data_object.P1.jx_psm_pwdown, EEP_FRAME_JX_PSM_PWDOWN_ADDR, 1, &s_eep_complete_JiangShui);
Frame_Para_Init();
task_complete_JiangShui = PTL_PACK_SUCCESS;
}
}
/************************************************************************************************************/
//<2F><><EFBFBD><EFBFBD>Լ
u8 crack_frame_JiangShui(u16 frame_lenth,u8 *frame_buffer)
{
u8 temp_res = crack_frame_IES_Base(frame_lenth, frame_buffer, &frame_struct_JiangShui);
if(temp_res == SUCCESS_IES)
{
frame_struct_JiangShui.sta &= 0xFD; //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>bit1Ϊ1ʱ<31><CAB1>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>0<EFBFBD><30>ʾӦ<CABE><D3A6><EFBFBD><EFBFBD>
frame_struct_JiangShui.DI0 = *(frame_buffer + frame_struct_JiangShui.head_site + 12);
frame_struct_JiangShui.DI1 = *(frame_buffer + frame_struct_JiangShui.head_site + 13);
frame_struct_JiangShui.serial_num0 = *(frame_buffer + frame_struct_JiangShui.head_site + 14);
frame_struct_JiangShui.serial_num1 = *(frame_buffer + frame_struct_JiangShui.head_site + 15);
new_message_data_rev_JiangShui = frame_buffer + frame_struct_JiangShui.head_site + 16;
frame_lenth = 0;
return SUCCESS_IES;
}
return ERROR_IES;
}
//<2F><>ˮ<EFBFBD><CBAE>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>:<3A><>չ<EFBFBD><D5B9><EFBFBD>ɹ<EFBFBD>Լ
u8 up_deal_code_JiangShui(void)
{
task_complete_JiangShui = PTL_PACK_BUSY;
switch(frame_struct_JiangShui.ctrl)
{
case SS_ACK_UPLOAD_CTRL:
{
frame_func_reply_NB_AckUpload();
}
break;
case SS_ACK_SIGN_IN_CTRL:
{
frame_func_reply_NB_AckLogin();
}
break;
case SS_CLEAR_FAIL_TIMES_CTRL:
{
frame_func_s3_NB_ClearFailTimes();;
frame_struct_JiangShui.ack_ctrl = SS_ACK_CLEAR_FAIL_TIMES_CTRL;
}
break;
case FM_SET_MJJI_SPACE_TIME_CTRL:
{
frame_func_s3_NB_SetStorageFrequency();;
frame_struct_JiangShui.ack_ctrl = FM_SET_MJJI_SPACE_TIME_REPLY_CTRL;
}
break;
case FM_SET_SAMPLING_FREQUENCY_CTRL:
{
frame_func_s3_NB_SetSamplingFrequecy();;
frame_struct_JiangShui.ack_ctrl = FM_SET_SAMPLING_FREQUENCY_REPLY_CTRL;
}
break;
case FM_SET_PSM_PWDOWN_CTRL:
{
frame_func_s3_NB_SetPsmOrPwDown();;
frame_struct_JiangShui.ack_ctrl = FM_SET_PSM_PWDOWN_REPLY_CTRL;
}
break;
default:
{
up_deal_stat_JiangShui = UP_DEAL_S0;
task_complete_JiangShui = PTL_PACK_FAIL;
}
break;
}
return task_complete_JiangShui;
}
void Frame_ResetDealState_JiangShui(void)
{
up_deal_stat_JiangShui = UP_DEAL_S0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>״̬<D7B4><CCAC>λ
}
//Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡
void Frame_ack_JiangShui(u8* p_send_buf, u16* p_send_len)
{
STRUCT_FRAME_IES temp_struct;
temp_struct.ack_ctrl = frame_struct_JiangShui.ack_ctrl;
temp_struct.DI0 = frame_struct_JiangShui.DI0;
temp_struct.DI1 = frame_struct_JiangShui.DI1;
temp_struct.sta = frame_struct_JiangShui.sta;
temp_struct.serial_num0 = frame_struct_JiangShui.serial_num0;
temp_struct.serial_num1 = frame_struct_JiangShui.serial_num1;
Frame_ack_IesBase(temp_struct,g_frame_temp_buf_JiangShui, g_frame_temp_len_JiangShui, p_send_buf, p_send_len);
}
/****************************************************************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD>ݵĴ<DDB5><C4B4><EFBFBD>*********************************************/
static u8 upload_frame_retry_times=0;
//static u8 temp_upload_step=0;
void GetUploadDataResetState_JX(void)
{
upload_frame_stat_JiangShui =UP_DEAL_S0;
upload_task_complete_JiangShui = PTL_PACK_BUSY;
}
u8 GetUploadDataCheckIdle_JX(void)
{
if(UP_DEAL_S0 == upload_frame_stat_JiangShui)
{
return TASK_IDLE;
}
else
{
return TASK_BUSY;
}
}
u8 GetUploadDataCheckTask_JX(void)
{
return upload_task_complete_JiangShui;
}
/***********************************************
<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
***********************************************/
u16 GetUploadConnectTime_JX(u8 type)
{
if(type == 0)
{
return s_upload_connect_time;
}
else
{
return (Get100msTimer(TIMER_100MS_WAIT_SLEEP_GPRS)/1000000);
}
}
void GetUploadDataMachine_JX(u8 data_step, u8* p_send_buf, u16* p_send_len)
{
switch(upload_frame_stat_JiangShui)
{
case UP_DEAL_S0:
{
if(data_step == UPLOAD_FRAME_REQUEST_NEW)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>
{
s_upload_connect_time = Get100msTimer(TIMER_100MS_WAIT_SLEEP_GPRS)/1000000;
upload_frame_retry_times = 0;
upload_frame_stat_JiangShui = UP_DEAL_S1;
}
else if(data_step == UPLOAD_FRAME_UPLOAD_OK)//<2F><><EFBFBD>ͳɹ<CDB3>
{
jx_upload_fail_times = 0;
upload_frame_retry_times = 0;
SystemClearUploadAgain();//<2F>ش<EFBFBD><D8B4><EFBFBD>0
upload_frame_stat_JiangShui = UP_DEAL_S10;//<2F><>ȡ<EFBFBD><C8A1>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else if(data_step == UPLOAD_FRAME_UPLOAD_RETRY)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>
{
upload_frame_stat_JiangShui = UP_DEAL_S21;
}
else if(data_step == UPLOAD_FRAME_ONLINE_FAIL) //<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
{
if(UPLOAD_TYPE_FIX_TIME == GetEventUploadType()||
(UPLOAD_TYPE_RETRY_AGAIN == GetEventUploadType()))//<2F><>ʱ<EFBFBD>ϴ<EFBFBD>
{
SystemAddUploadAgain();//<2F>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD>
}
if((Sys_data_object.P1.func_cfg_bytes[0]>0)&&NbiotIfOnline())//<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ֵ,<2C>򲻱<EFBFBD><F2B2BBB1><EFBFBD><EFBFBD><EFBFBD>
{
NB_SS_Control_SetPara(NB_UploadFailTimes, 0);
}
else
{
jx_upload_fail_times++;//ʧ<>ܴ<EFBFBD><DCB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
upload_task_complete_JiangShui = PTL_PACK_FAIL;
upload_frame_stat_JiangShui = UP_DEAL_S0;
}
else
{
upload_task_complete_JiangShui = PTL_PACK_FAIL;
upload_frame_stat_JiangShui = UP_DEAL_S0;
}
}
break;
case UP_DEAL_S1://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>,<2C><>ȡ<EFBFBD><C8A1>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
if(Copy_R_W_Count() == SUCCESS)//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>Ĵ洢<C4B4><E6B4A2><EFBFBD><EFBFBD>дָ<D0B4><D6B8>
{
jx_upload_record_cnts = get_com_rx_num_copy(); //<2F><>ȡ<EFBFBD><C8A1>Ҫ<EFBFBD>ϴ<EFBFBD><CFB4>ļ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
if(jx_upload_record_cnts >0)
{
jx_upload_total_packs = (jx_upload_record_cnts/JX_ONE_PACKET_COUNTS);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD>ܰ<EFBFBD><DCB0><EFBFBD>,45<34><35><EFBFBD><EFBFBD>¼һ<C2BC><D2BB>
if(jx_upload_record_cnts % JX_ONE_PACKET_COUNTS)
{
jx_upload_total_packs += 1;
}
if(jx_upload_total_packs > MAX_PACKS_TOUPLOAD)//<2F><><EFBFBD><EFBFBD>65<36><35>
{
jx_upload_total_packs = MAX_PACKS_TOUPLOAD;
}
}
else//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ洢<DDB4><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>
{
jx_upload_total_packs = 1;//<2F>ܰ<EFBFBD><DCB0><EFBFBD>
}
jx_upload_cur_pack = 1;//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>Ŵ<EFBFBD>1<EFBFBD><31>ʼ
upload_frame_stat_JiangShui = UP_DEAL_S2;
}
}
break;
case UP_DEAL_S10://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ָ<EFBFBD><D6B8>,<2C><>ȡ<EFBFBD><C8A1>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
if(Renew_Rcount() == SUCCESS)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
{
jx_upload_cur_pack += 1;//<2F>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD>1
if(jx_upload_cur_pack > jx_upload_total_packs)//<2F>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>
{
upload_task_complete_JiangShui = PTL_PACK_FAIL;//ʧ<><CAA7>
upload_frame_stat_JiangShui = UP_DEAL_S0;
}
else
{
jx_upload_record_cnts = get_com_rx_num_copy();//<2F><>ȡ<EFBFBD><C8A1>Ҫ<EFBFBD>ϴ<EFBFBD><CFB4>ļ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
upload_frame_stat_JiangShui = UP_DEAL_S2;
}
}
}
break;
case UP_DEAL_S2://<2F><>ȡ<EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>֡
{
if(get_com_rx_data() == SUCCESS)//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
{
NB_JX_Frame_Upload_Data(upload_temp_buf_JiangShui, &upload_temp_len_JiangShui, jx_upload_total_packs, jx_upload_cur_pack);//<2F><><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>
upload_struct_JiangShui.ack_ctrl = SS_UPLOAD_CTRL;
upload_struct_JiangShui.DI0 = SS_UPLOAD_CTRL_ID0;
upload_struct_JiangShui.DI1 = SS_UPLOAD_CTRL_ID1;
upload_struct_JiangShui.sta = 0x03;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>
upload_serial_num_JiangShui++;
upload_struct_JiangShui.serial_num0 = upload_serial_num_JiangShui&0xFF;
upload_struct_JiangShui.serial_num1 = (upload_serial_num_JiangShui>>8)&0xFF;
Frame_ack_IesBase(upload_struct_JiangShui, upload_temp_buf_JiangShui, upload_temp_len_JiangShui, p_send_buf, p_send_len);
upload_task_complete_JiangShui = PTL_PACK_SUCCESS;// <20>ɹ<EFBFBD>
upload_frame_stat_JiangShui = UP_DEAL_S0;
}
}
break;
case UP_DEAL_S21://<2F><><EFBFBD><EFBFBD>
{
if(upload_frame_retry_times < 1) //<2F><>Ϊ<EFBFBD>ط<EFBFBD>1<EFBFBD><31>
{
upload_frame_retry_times++;
upload_frame_stat_JiangShui = UP_DEAL_S2;
}
else//<2F><><EFBFBD>·<EFBFBD><C2B7><EFBFBD>ʧ<EFBFBD><CAA7>3<EFBFBD>εĴ<CEB5><C4B4><EFBFBD>
{
if((UPLOAD_TYPE_FIX_TIME == GetEventUploadType())|| //<2F><>ʱ<EFBFBD>ϴ<EFBFBD>
(UPLOAD_TYPE_RETRY_AGAIN == GetEventUploadType())) //<2F>ش<EFBFBD>
{
SystemAddUploadAgain();//<2F>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD>
}
if((Sys_data_object.P1.func_cfg_bytes[0]>0)&&NbiotIfOnline())//<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ֵ,<2C>򲻱<EFBFBD><F2B2BBB1><EFBFBD><EFBFBD><EFBFBD>
{
NB_SS_Control_SetPara(NB_UploadFailTimes, 0);
}
else
{
jx_upload_fail_times++;//ʧ<>ܴ<EFBFBD><DCB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
upload_task_complete_JiangShui = PTL_PACK_FAIL;
upload_frame_stat_JiangShui = UP_DEAL_S0;
}
}
break;
default:
{
upload_task_complete_JiangShui = PTL_PACK_FAIL;
upload_frame_stat_JiangShui = UP_DEAL_S0;
}
break;
}
}
/*******************************************************************************
* @fun_name:NB_SS_Control_GetPara
* @brief :
* @param[in] :<EFBFBD><EFBFBD>ȡ<EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD>
* @param[out]: None
* @retval : None
* @other :
******************************************************************************/
u8 NB_SS_Control_GetPara(NB_SS_ControlParaTypeDef paraType)
{
switch(paraType)
{
// case NB_UploadFailTimes://<2F><>Ҫ<EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>
// {
// u8 temp_fail_times=JiangXiStore_UploadPacks();
// return temp_fail_times;
// }
case NB_UploadFailTimes://ʧ<>ܴ<EFBFBD><DCB4><EFBFBD>
{
u8 temp_fail_times=0;
if(Sys_data_object.P3.ProductUpoadFailFlag)//<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ʧ<EFBFBD><CAA7>
{
temp_fail_times = Sys_data_object.P3.ProductUpoadFailFlag;
}
else
{
temp_fail_times = jx_upload_fail_times;
}
return temp_fail_times;
}
case NB_SS_FormatError://<2F>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
{
return temp_format_error;
}
default:
break;
}
return 0;
}
/*******************************************************************************
* @fun_name:NB_SS_Control_SetPara
* @brief :
* @param[in] :<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD>
* @param[out]: None
* @retval : None
* @other :
******************************************************************************/
void NB_SS_Control_SetPara(NB_SS_ControlParaTypeDef paraType, u8 data)
{
switch(paraType)
{
case NB_SS_FormatError://<2F>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
{
temp_format_error = data;
break;
}
case NB_UploadFailTimes://ʧ<>ܴ<EFBFBD><DCB4><EFBFBD>
{
SystemClearUploadAgain();
Sys_data_object.P3.ProductUpoadFailFlag = 0;
jx_upload_fail_times = 0;
break;
}
default:
break;
}
}
//<2F><>Լ<EFBFBD><D4BC><EFBFBD>ݴ洢<DDB4><E6B4A2><EFBFBD>ֳ<EFBFBD>ʼ<EFBFBD><CABC>
void DataStoreInit(void)
{
JiangXiStore_InitApp();
}
//<2F><>Լ<EFBFBD><D4BC><EFBFBD>ݴ洢״̬<D7B4><CCAC>
void DataStoreMachine(void)
{
JiangXiStore_Machine();
}
//<2F><>Լ<EFBFBD><D4BC><EFBFBD>ݴ洢<DDB4><E6B4A2><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
u8 DataStoreIfIdle(void)
{
return JiangXiStore_IfSleep();
}
#endif