优化代码和脱机时长判断
diff --git a/supwisdom/sp_communicate.c b/supwisdom/sp_communicate.c
index 080a61d..7ed34f9 100644
--- a/supwisdom/sp_communicate.c
+++ b/supwisdom/sp_communicate.c
@@ -27,7 +27,7 @@
}
static uint8 sp_usart_recv(sp_pos_t* pos, sp_protocol_response_t* resp,
- uint32 timeout_ms)
+ uint32 timeout_ms)
{
uint32 tick;
uint16 len;
@@ -108,31 +108,31 @@
sp_unpack_value(&unpack,&field);
if(IS_KEY(PK_INT_PERMIT, field.key))
{
- card->permit = field.val.intval;
+ card->permit = (uint8)field.val.intval;
}
else if(IS_KEY(PK_STR_LIMITMSG, field.key))
{
- MEMCPY(card->limitmsg, field.val.strval, field.strlen);
+ snprintf(card->limitmsg,,sizeof(card->limitmsg),"%s", field.val.strval, field.strlen);
}
else if(IS_KEY(PK_INT_WATERLIMIT,field.key))
{
- card->waterlimit = field.val.intval;
+ card->waterlimit = (uint16)field.val.intval;
}
else if(IS_KEY(PK_INT_COBILLNO,field.key))
{
- card->cobillno = field.val.intval;
+ card->cobillno = (uint32)field.val.intval;
}
else if(IS_KEY(PK_INT_FEEAMOUNT,field.key))
{
- card->feepara.fee_amt = field.val.intval;
+ card->feepara.fee_amt = (uint8)field.val.intval;
}
else if(IS_KEY(PK_INT_FEEUNIT, field.key))
{
- card->feepara.fee_unit = field.val.intval;
+ card->feepara.fee_unit = (uint8)field.val.intval;
}
else if(IS_KEY(PK_INT_FEESTART, field.key))
{
- card->feepara.fee_start = field.val.intval;
+ card->feepara.fee_start = (uint8)field.val.intval;
}
}
//disp_hint_info(pos,"Éí·ÝÈÏÖ¤³É¹¦",DELAY_TIME1s);
@@ -259,8 +259,7 @@
ret = sp_usart_recv(pos, &resp, COMM_WAIT_TIME);
if(ret)
{
- ret = RC_QRCODE_FAILURE;
- return ret;
+ return RC_QRCODE_FAILURE;
}
sp_unpack_init(&unpack,resp.data,resp.datalen);
@@ -270,15 +269,15 @@
sp_unpack_value(&unpack,&field);
if(IS_KEY(PK_STR_SHORT_URL, field.key))
{
- MEMCPY(card->qrcode.qrcode_url, field.val.strval, field.strlen);
+ snprintf(card->qrcode.qrcode_url,sizeof(card->qrcode.qrcode_url),"%s", field.val.strval, field.strlen);
}
else if(IS_KEY(PK_INT_COBILLNO, field.key))
{
- card->cobillno = field.val.intval;
+ card->cobillno = (uint32)field.val.intval;
}
else if(IS_KEY(PK_INT_VAILDTIME, field.key))
{
- card->qrcode.validtime = field.val.intval;
+ card->qrcode.validtime = (uint32)field.val.intval;
}
}
card->qrcode.starttime = sp_get_ticker();
@@ -317,8 +316,7 @@
ret = sp_usart_recv(pos, &resp, COMM_WAIT_TIME);
if(ret)
{
- ret = RC_QRCODE_QUERY_FAIL;
- return ret;
+ return RC_QRCODE_QUERY_FAIL;
}
sp_unpack_init(&unpack,resp.data,resp.datalen);
@@ -328,35 +326,35 @@
sp_unpack_value(&unpack,&field);
if(IS_KEY(PK_INT_PERMIT, field.key))
{
- card->permit = field.val.intval;
+ card->permit = (uint8)field.val.intval;
}
else if(IS_KEY(PK_INT_COBILLNO, field.key))
{
- card->cobillno = field.val.intval;
+ card->cobillno = (uint32)field.val.intval;
}
else if(IS_KEY(PK_INT_AUTHSTATUS, field.key))
{
- card->qrcode.authstatus = field.val.intval;
+ card->qrcode.authstatus = (uint8)field.val.intval;
}
else if(IS_KEY(PK_INT_PAYSTATUS, field.key))
{
- card->qrcode.paystatus = field.val.intval;
+ card->qrcode.paystatus = (uint8)field.val.intval;
}
else if(IS_KEY(PK_INT_PAYAMT, field.key))
{
- card->qrcode.paidAmount = field.val.intval;
+ card->qrcode.paidAmount = (uint8)field.val.intval;
}
else if(IS_KEY(PK_INT_FEEAMOUNT,field.key))
{
- card->feepara.fee_amt = field.val.intval;
+ card->feepara.fee_amt = (uint8)field.val.intval;
}
else if(IS_KEY(PK_INT_FEEUNIT, field.key))
{
- card->feepara.fee_unit = field.val.intval;
+ card->feepara.fee_unit = (uint8)field.val.intval;
}
else if(IS_KEY(PK_INT_WATERLIMIT, field.key))
{
- card->waterlimit = field.val.intval;
+ card->waterlimit = (uint16)field.val.intval;
}
}
return resp.retcode;
@@ -532,11 +530,11 @@
sp_unpack_value(&unpack,&field);
if(IS_KEY(PK_INT_OFFLINEMAXHOUR, field.key))
{
- offline_maxhour = field.val.intval;
+ offline_maxhour = (uint8)field.val.intval;
}
else if(IS_KEY(PK_INT_PULSEINHML, field.key))
{
- unit = field.val.intval;
+ unit = (uint8)field.val.intval;
}
else if(IS_KEY(PK_BIN_SYSTIME, field.key))
{