Commit 8e00d7fe authored by 何锐's avatar 何锐

feat:完成扫码写码功能

parent 547c70f6
......@@ -304,47 +304,47 @@ void datacheck(void)
{
if(BarCode[5] == 0x50 && BarCode[6] == 0x3)
{
zhenduansendStep++;
zhenduansendStep = 3;
RS485_TX_finish = 0;
}
}
break;
case 1:
if(BarCode[2] == 0x14)
{
if(BarCode[5] == 0x67 && BarCode[6] == 0x1)
{
seed_value[0] = BarCode[7];
seed_value[1] = BarCode[8];
seed_value[2] = BarCode[9];
seed_value[3] = BarCode[10];
get_key();
zhenduansendStep++;
RS485_TX_finish = 0;
}
}
// if(BarCode[2] == 0x14)
// {
// if(BarCode[5] == 0x67 && BarCode[6] == 0x1)
// {
// seed_value[0] = BarCode[7];
// seed_value[1] = BarCode[8];
// seed_value[2] = BarCode[9];
// seed_value[3] = BarCode[10];
// get_key();
// zhenduansendStep++;
// RS485_TX_finish = 0;
// }
// }
break;
case 2:
if(BarCode[2] == 0x14)
{
if(BarCode[5] == 0x67 && BarCode[6] == 0x2)
{
zhenduansendStep++;
RS485_TX_finish = 0;
}
else if(BarCode[5] != 0x67)
{
zhenduansendStep = 0;
RS485_TX_finish = 0;
}
else
{
;
}
}
// if(BarCode[2] == 0x14)
// {
// if(BarCode[5] == 0x67 && BarCode[6] == 0x2)
// {
// zhenduansendStep++;
// RS485_TX_finish = 0;
// }
// else if(BarCode[5] != 0x67)
// {
// zhenduansendStep = 0;
// RS485_TX_finish = 0;
// }
// else
// {
// ;
// }
// }
break;
case 3:
if(BarCode[2] == 0x14)
if(BarCode[2] == 0x14) //写码
{
if((BarCode[5] == 0x6E) && (BarCode[6] == 0x50) && (BarCode[7] == 0))
{
......@@ -353,7 +353,7 @@ void datacheck(void)
saomafinish = 1;
waittimer = 0;
}
if(BarCode[5] == 0x7F && BarCode[6] == 0x2E && BarCode[7] == 0x78 )
if(BarCode[5] == 0x7F && BarCode[6] == 0x2E && BarCode[7] == 0x78 ) //等待后重发10 03
{
if(waittimer >= 2)
{
......@@ -366,8 +366,9 @@ void datacheck(void)
waittimer++;
}
}
if(BarCode[5] == 0x7F && BarCode[6] == 0x2E && BarCode[7] == 0x31 )
if(BarCode[5] == 0x7F && BarCode[6] == 0x2E && BarCode[7] == 0x31 ) //写入内容不对
{
zhenduansendStep = 0;
RS485_TX_finish = 0;
}
}
......@@ -377,7 +378,7 @@ void datacheck(void)
}
break;
case 5:
if(BarCode[0] == 0x59 && BarCode[1] == 0x44)
if(BarCode[0] == 0x59 && BarCode[1] == 0x44) //扫码
{
if(((BarCode[arraynum]) == 0x4A) && ((BarCode[arraynum-1]) == 0x4B))
{
......@@ -401,33 +402,37 @@ void datacheck(void)
}
else if(zhenduanflag == Data_Mode_Read)
{
// if(BarCode[0] == 0x59 && BarCode[1] == 0x44)
// {
// for(int i = 0;i<255;i++)
// {
// if(BarCode[i] == 0x4A && BarCode[i - 1] == 0x4B)
// {
// arraynum = i;
// }
// }
// if(((BarCode[arraynum]) == 0x4A) && ((BarCode[arraynum-1]) == 0x4B))
// {
// if(BarCode[4] == 0x62 && BarCode[5] == 0x50 && BarCode[6] == 0)
// {
// memcpy(get_num_buf,BarCode+7,34 );
// comparestart = 1;
// zhenduanflag = 3;
// }
// }
// }
if(BarCode[0] == 0x59 && BarCode[1] == 0x44)
{
for(int i = 0;i<255;i++)
{
if(BarCode[i] == 0x4A && BarCode[i - 1] == 0x4B)
{
arraynum = i;
}
}
if(((BarCode[arraynum]) == 0x4A) && ((BarCode[arraynum-1]) == 0x4B))
{
if(BarCode[5] == 0x50 && BarCode[6] == 0x03)
{
zhenduansendStep = 4;
}
else if(BarCode[5] == 0x62 && BarCode[6] == 0x50 && BarCode[7] == 0)
{
memcpy(mimaread,BarCode+8,34 );
saomafinish = 2;
}
else
{
zhenduansendStep = 0;
}
}
}
}
}
uint8_t cmpresult = 3;
void BarCodeDataGet(void)
{
if((mDataBufPtr1[0] == 0x59) && (mDataBufPtr1[1] == 0x59)&&(mDataBufPtr1[39] != 0x0))
{
memcpy(barcode_Msg,&mDataBufPtr1[6],34);
......
......@@ -274,6 +274,15 @@ uint8_t yibiaoshuju[34];
}
else if(saomafinish == 1)
{
for(int i = 0;i<34;i++)
{
if(barcode_Msg[i] != erweima[i])
{
Display_TFT_Clear();
break;
}
}
memcpy(erweima,barcode_Msg,34);
erweima[34] = 0xFF;
General_Number_Disp(erweima, 3, 60);
......
......@@ -46,6 +46,7 @@ extern unsigned int CAN_Msg_Tx_Enable;
extern uint8_t loc_Type_back;
extern uint8_t LED_Waring ;
extern uint8_t writefail[5];
extern uint8_t erweima[64] ;;
void SET_IPK_NONE(void);
void Clear_IPK_NONE(void);
void CHECK_IPK_COUNT(void);
......
......@@ -4776,10 +4776,7 @@ void Display_Version_Info(uint32_t ON_OFF)
uint8_t wuliao[16];
// for(int i =0;i < 16; i++)
// {
// wuliao[i] = barcode_Msg[i];
// }
wuliao[0] = R485_IDB4h.Sig.MaterialCode01;
wuliao[1] = R485_IDB4h.Sig.MaterialCode02;
wuliao[2] = R485_IDB4h.Sig.MaterialCode03;
......@@ -4831,41 +4828,41 @@ void Display_Version_Info(uint32_t ON_OFF)
TFT_LCD_Draw_Bmp(3, 50+30, ( uint8_t * )gImage_Dyy_words_2X6_Y46 ); //硬件版本号
TFT_LCD_Draw_Bmp(0, 70+30, ( uint8_t * )gImage_Dyy_words_3X6_Y75 ); //零件号
// TFT_LCD_Draw_Bmp(3, 90+30+30, ( uint8_t * )gImage_gImage_dianyuanwaifX6_Y165 ); //仪表电电源检测外发对比检验
// if(powerstdio == 1)
// {
// TFT_LCD_Draw_Bmp(200, 90+40+30, ( uint8_t * )gImage_cuo ); //仪表电电源检测外发对比检验 错
// }
// else
// {
// TFT_LCD_Draw_Bmp(200, 90+40+30, ( uint8_t * )gImage_dui ); //仪表电电源检测外发对比检验 对
// }
// TFT_LCD_Draw_Bmp(3, 90+25+25+35+30, ( uint8_t * )gImage_gImage_yibiaowaif1X6_Y16 ); //仪表外发对比检验
// if(checknumwrong == 1)
// {
// TFT_LCD_Draw_Bmp(200, 90+25+25+35+30, ( uint8_t * )gImage_cuo ); //仪表外发对比检验 错
// }
// else if(checknumwrong == 0)
// {
// TFT_LCD_Draw_Bmp(200, 90+25+25+35+30, ( uint8_t * )gImage_dui ); //仪表外发对比检验 对
// }
// else
// {
// TFT_LCD_Draw_Bmp(200, 90+25+25+35+30, ( uint8_t * )gImage_dui ); //仪表外发对比检验 对
// }
// if(line_stdio == 0)
// {
// TFT_LCD_Draw_Bmp(200, 90+25+25+30+30+30, ( uint8_t * )gImage_cuo ); //硬线指示灯外发对比 错
// }
// else if(line_stdio == 1)
// {
// TFT_LCD_Draw_Bmp(200, 90+25+25+30+30+30, ( uint8_t * )gImage_dui ); //硬线指示灯外发对比 对
// }
// else
// {
// TFT_LCD_Draw_Bmp(200, 90+25+25+30+30+30, ( uint8_t * )gImage_dui ); //硬线指示灯外发对比 对
// }
// TFT_LCD_Draw_Bmp(3, 90+25+25+30+30+30+5, ( uint8_t * )gImage_gImage_LEDwaif1X6_Y16 ); //硬线指示灯外发对比
TFT_LCD_Draw_Bmp(3, 90+30+30, ( uint8_t * )gImage_gImage_dianyuanwaifX6_Y165 ); //仪表电电源检测外发对比检验
if(powerstdio == 1)
{
TFT_LCD_Draw_Bmp(200, 90+40+30, ( uint8_t * )gImage_cuo ); //仪表电电源检测外发对比检验 错
}
else
{
TFT_LCD_Draw_Bmp(200, 90+40+30, ( uint8_t * )gImage_dui ); //仪表电电源检测外发对比检验 对
}
TFT_LCD_Draw_Bmp(3, 90+25+25+35+30, ( uint8_t * )gImage_gImage_yibiaowaif1X6_Y16 ); //仪表外发对比检验
if(checknumwrong == 1)
{
TFT_LCD_Draw_Bmp(200, 90+25+25+35+30, ( uint8_t * )gImage_cuo ); //仪表外发对比检验 错
}
else if(checknumwrong == 0)
{
TFT_LCD_Draw_Bmp(200, 90+25+25+35+30, ( uint8_t * )gImage_dui ); //仪表外发对比检验 对
}
else
{
TFT_LCD_Draw_Bmp(200, 90+25+25+35+30, ( uint8_t * )gImage_dui ); //仪表外发对比检验 对
}
if(line_stdio == 0)
{
TFT_LCD_Draw_Bmp(200, 90+25+25+30+30+30, ( uint8_t * )gImage_cuo ); //硬线指示灯外发对比 错
}
else if(line_stdio == 1)
{
TFT_LCD_Draw_Bmp(200, 90+25+25+30+30+30, ( uint8_t * )gImage_dui ); //硬线指示灯外发对比 对
}
else
{
TFT_LCD_Draw_Bmp(200, 90+25+25+30+30+30, ( uint8_t * )gImage_dui ); //硬线指示灯外发对比 对
}
TFT_LCD_Draw_Bmp(3, 90+25+25+30+30+30+5, ( uint8_t * )gImage_gImage_LEDwaif1X6_Y16 ); //硬线指示灯外发对比
// TFT_LCD_Draw_Bmp(3, 90+25+25+30+25+30+30+5, ( uint8_t * )gImage_gImage_SV1X6_Y16 ); //软件版本号对比
// if((R485_ID4Dh.Sig.ESP322 != 0) && ( R485_ID4Dh.Sig.G0312 != 0))
// {
......@@ -4905,7 +4902,7 @@ void Display_Version_Info(uint32_t ON_OFF)
// TFT_LCD_Draw_Bmp(3, 160, ( uint8_t * )gImage_Alarm_12_WordX6_Y165); //24脚输出占空比
// TFT_LCD_Draw_Bmp(210, 160, ( uint8_t * )gImage_Alarm_13_ImageX222_Y166); //%
TFT_LCD_Draw_Bmp(3, 290, ( uint8_t * )gImage_gImage_checkVX6_Y165 ); //检测台版本号
uint8_t mbuff [7] = {2,5,1,1,0,9,0xff};
uint8_t mbuff [7] = {2,5,1,1,1,2,0xff};
General_Number_Disp(mbuff, 160, 290);
}
......
......@@ -18,6 +18,8 @@ void Key_Operation_SW5(Key_Event_en_t enKeyEvent) //下一步
MENU_CHECK_STEP_ADD( );
zhenduansendStep = 0;
zhenduanflag = Data_Mode_Dot;
memset(erweima, 0, 64);
memset(barcode_Msg, 0, 64);
}
}
}
......@@ -78,6 +80,13 @@ void Key_Operation_SW7(Key_Event_en_t enKeyEvent)
if(firstpowerflag == 2)
{
if(zhenduanflag == Data_Mode_Write)
{
if(saomafinish == 1)
{
zhenduansendStep = 5;
}
}
else if(((zhenduansendStep == 4) && (zhenduanflag == Data_Mode_Read)))
{
zhenduansendStep = 5;
}
......@@ -98,6 +107,8 @@ void Key_Operation_SW8(Key_Event_en_t enKeyEvent)
if ( enKeyEvent == KEY_EVENT_SHORT_PRESS )
{
zhenduanflag = Data_Mode_Write;
zhenduansendStep = 0;
saomafinish = 0;
}
else if ( enKeyEvent == KEY_EVENT_LONG_PRESS )
{
......
......@@ -638,19 +638,18 @@ uint32_t R485_Send_0x04(void)
case 0:
R485_zhenduan_Msg[0] = 0x10;
R485_zhenduan_Msg[1] = 0x03;
zhenduansendStep = 3;
break;
case 1:
R485_zhenduan_Msg[0] = 0x27;
R485_zhenduan_Msg[1] = 0x1;
// R485_zhenduan_Msg[0] = 0x27;
// R485_zhenduan_Msg[1] = 0x1;
break;
case 2:
R485_zhenduan_Msg[0] = 0x27;
R485_zhenduan_Msg[1] = 0x2;
R485_zhenduan_Msg[2] = key_array[0];
R485_zhenduan_Msg[3] = key_array[1];
R485_zhenduan_Msg[4] = key_array[2];
R485_zhenduan_Msg[5] = key_array[3];
// R485_zhenduan_Msg[0] = 0x27;
// R485_zhenduan_Msg[1] = 0x2;
// R485_zhenduan_Msg[2] = key_array[0];
// R485_zhenduan_Msg[3] = key_array[1];
// R485_zhenduan_Msg[4] = key_array[2];
// R485_zhenduan_Msg[5] = key_array[3];
break;
case 3:
R485_zhenduan_Msg[0] = 0x2E;
......
......@@ -275,7 +275,6 @@ void Sys_Run_Mode_100ms_Tasks_Group(void)
Total_Check();
firstpowerflag = 3;
}
}
else
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment