Commit 9b35ab09 authored by 何锐's avatar 何锐

feat:增加按键与米字段显示

parent 0fe81466
......@@ -247,6 +247,545 @@ void can_mid(CAN_Frame_st_t Msg)
RSCAN0_CH4_Set_FIFO0_Data(&m_msg);
}
uint8_t Meterfieldstep = 0;
void Meter_field_display(uint8_t Meter_field_step)
{
CAN_Frame_st_t m_msg10;
uint8_t data10[8] = {0, 0, 0, 0, 0, 0, 0, 0};//米字段起始消息
CAN_Frame_st_t m_msg11;
uint8_t data11[8] = {0, 0, 0, 0, 0, 0, 0, 0};//米字段发送数据
if(Meter_field_step == 1)
{
if(Meterfieldstep == 0)
{
data10[0] = 0x00; //6A0起始
init_CAN_Frame(&m_msg10, 0x6A0, 8, 1, data10);
can_mid(m_msg10);
Meterfieldstep ++;
}
else if(Meterfieldstep == 1)
{
data11[0] = 0x10; //6A0起始
data11[1] = 0x19;
data11[2] = 0xFF;
data11[3] = 0x00;
data11[4] = 0x01;
data11[5] = 0x03;
data11[6] = 0x45;
data11[7] = 0x00;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 2)
{
data11[0] = 0x20; //6A0起始
data11[1] = 0x02;
data11[2] = 0x00;
data11[3] = 0x00;
data11[4] = 0x31;
data11[5] = 0x31;
data11[6] = 0x31;
data11[7] = 0x31;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 3)
{
data11[0] = 0x21; //6A0起始
data11[1] = 0x31;
data11[2] = 0x31;
data11[3] = 0x31;
data11[4] = 0x31;
data11[5] = 0x31;
data11[6] = 0x31;
data11[7] = 0x31;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 4)
{
data11[0] = 0x22; //6A0起始
data11[1] = 0x31;
data11[2] = 0x31;
data11[3] = 0x31;
data11[4] = 0x31;
data11[5] = 0x31;
data11[6] = 0x31;
data11[7] = 0x31;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
}
else if(Meter_field_step == 2)
{
if(Meterfieldstep == 0)
{
data10[0] = 0x00; //6A0起始
init_CAN_Frame(&m_msg10, 0x6A0, 8, 1, data10);
can_mid(m_msg10);
Meterfieldstep ++;
}
else if(Meterfieldstep == 1)
{
data11[0] = 0x10; //6A0起始
data11[1] = 0x19;
data11[2] = 0xFF;
data11[3] = 0x00;
data11[4] = 0x01;
data11[5] = 0x03;
data11[6] = 0x45;
data11[7] = 0x00;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 2)
{
data11[0] = 0x20; //6A0起始
data11[1] = 0x02;
data11[2] = 0x00;
data11[3] = 0x00;
data11[4] = 0x32;
data11[5] = 0x32;
data11[6] = 0x32;
data11[7] = 0x32;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 3)
{
data11[0] = 0x21; //6A0起始
data11[1] = 0x32;
data11[2] = 0x32;
data11[3] = 0x32;
data11[4] = 0x32;
data11[5] = 0x32;
data11[6] = 0x32;
data11[7] = 0x32;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 4)
{
data11[0] = 0x22; //6A0起始
data11[1] = 0x32;
data11[2] = 0x32;
data11[3] = 0x32;
data11[4] = 0x32;
data11[5] = 0x32;
data11[6] = 0x32;
data11[7] = 0x32;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
}
else if(Meter_field_step == 3)
{
if(Meterfieldstep == 0)
{
data10[0] = 0x00; //6A0起始
init_CAN_Frame(&m_msg10, 0x6A0, 8, 1, data10);
can_mid(m_msg10);
Meterfieldstep ++;
}
else if(Meterfieldstep == 1)
{
data11[0] = 0x10; //6A0起始
data11[1] = 0x19;
data11[2] = 0xFF;
data11[3] = 0x00;
data11[4] = 0x01;
data11[5] = 0x03;
data11[6] = 0x45;
data11[7] = 0x00;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 2)
{
data11[0] = 0x20; //6A0起始
data11[1] = 0x02;
data11[2] = 0x00;
data11[3] = 0x00;
data11[4] = 0x33;
data11[5] = 0x33;
data11[6] = 0x33;
data11[7] = 0x33;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 3)
{
data11[0] = 0x21; //6A0起始
data11[1] = 0x33;
data11[2] = 0x33;
data11[3] = 0x33;
data11[4] = 0x33;
data11[5] = 0x33;
data11[6] = 0x33;
data11[7] = 0x33;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 4)
{
data11[0] = 0x22; //6A0起始
data11[1] = 0x33;
data11[2] = 0x33;
data11[3] = 0x33;
data11[4] = 0x33;
data11[5] = 0x33;
data11[6] = 0x33;
data11[7] = 0x33;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
}
else if(Meter_field_step == 4)
{
if(Meterfieldstep == 0)
{
data10[0] = 0x00; //6A0起始
init_CAN_Frame(&m_msg10, 0x6A0, 8, 1, data10);
can_mid(m_msg10);
Meterfieldstep ++;
}
else if(Meterfieldstep == 1)
{
data11[0] = 0x10; //6A0起始
data11[1] = 0x19;
data11[2] = 0xFF;
data11[3] = 0x00;
data11[4] = 0x01;
data11[5] = 0x03;
data11[6] = 0x45;
data11[7] = 0x00;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 2)
{
data11[0] = 0x20; //6A0起始
data11[1] = 0x02;
data11[2] = 0x00;
data11[3] = 0x00;
data11[4] = 0x34;
data11[5] = 0x34;
data11[6] = 0x34;
data11[7] = 0x34;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 3)
{
data11[0] = 0x21; //6A0起始
data11[1] = 0x34;
data11[2] = 0x34;
data11[3] = 0x34;
data11[4] = 0x34;
data11[5] = 0x34;
data11[6] = 0x34;
data11[7] = 0x34;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 4)
{
data11[0] = 0x22; //6A0起始
data11[1] = 0x34;
data11[2] = 0x34;
data11[3] = 0x34;
data11[4] = 0x34;
data11[5] = 0x34;
data11[6] = 0x34;
data11[7] = 0x34;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
}
else if(Meter_field_step == 5)
{
if(Meterfieldstep == 0)
{
data10[0] = 0x00; //6A0起始
init_CAN_Frame(&m_msg10, 0x6A0, 8, 1, data10);
can_mid(m_msg10);
Meterfieldstep ++;
}
else if(Meterfieldstep == 1)
{
data11[0] = 0x10; //6A0起始
data11[1] = 0x19;
data11[2] = 0xFF;
data11[3] = 0x00;
data11[4] = 0x01;
data11[5] = 0x03;
data11[6] = 0x45;
data11[7] = 0x00;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 2)
{
data11[0] = 0x20; //6A0起始
data11[1] = 0x02;
data11[2] = 0x00;
data11[3] = 0x00;
data11[4] = 0x35;
data11[5] = 0x35;
data11[6] = 0x35;
data11[7] = 0x35;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 3)
{
data11[0] = 0x21; //6A0起始
data11[1] = 0x35;
data11[2] = 0x35;
data11[3] = 0x35;
data11[4] = 0x35;
data11[5] = 0x35;
data11[6] = 0x35;
data11[7] = 0x35;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 4)
{
data11[0] = 0x22; //6A0起始
data11[1] = 0x35;
data11[2] = 0x35;
data11[3] = 0x35;
data11[4] = 0x35;
data11[5] = 0x35;
data11[6] = 0x35;
data11[7] = 0x35;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
}
else if(Meter_field_step == 6)
{
if(Meterfieldstep == 0)
{
data10[0] = 0x00; //6A0起始
init_CAN_Frame(&m_msg10, 0x6A0, 8, 1, data10);
can_mid(m_msg10);
Meterfieldstep ++;
}
else if(Meterfieldstep == 1)
{
data11[0] = 0x10; //6A0起始
data11[1] = 0x19;
data11[2] = 0xFF;
data11[3] = 0x00;
data11[4] = 0x01;
data11[5] = 0x03;
data11[6] = 0x45;
data11[7] = 0x00;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 2)
{
data11[0] = 0x20; //6A0起始
data11[1] = 0x02;
data11[2] = 0x00;
data11[3] = 0x00;
data11[4] = 0x36;
data11[5] = 0x36;
data11[6] = 0x36;
data11[7] = 0x36;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 3)
{
data11[0] = 0x21; //6A0起始
data11[1] = 0x36;
data11[2] = 0x36;
data11[3] = 0x36;
data11[4] = 0x36;
data11[5] = 0x36;
data11[6] = 0x36;
data11[7] = 0x36;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 4)
{
data11[0] = 0x22; //6A0起始
data11[1] = 0x36;
data11[2] = 0x36;
data11[3] = 0x36;
data11[4] = 0x36;
data11[5] = 0x36;
data11[6] = 0x36;
data11[7] = 0x36;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
}
else if(Meter_field_step == 7)
{
if(Meterfieldstep == 0)
{
data10[0] = 0x00; //6A0起始
init_CAN_Frame(&m_msg10, 0x6A0, 8, 1, data10);
can_mid(m_msg10);
Meterfieldstep ++;
}
else if(Meterfieldstep == 1)
{
data11[0] = 0x10; //6A0起始
data11[1] = 0x19;
data11[2] = 0xFF;
data11[3] = 0x00;
data11[4] = 0x01;
data11[5] = 0x03;
data11[6] = 0x45;
data11[7] = 0x00;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 2)
{
data11[0] = 0x20; //6A0起始
data11[1] = 0x02;
data11[2] = 0x00;
data11[3] = 0x00;
data11[4] = 0x37;
data11[5] = 0x37;
data11[6] = 0x37;
data11[7] = 0x37;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 3)
{
data11[0] = 0x21; //6A0起始
data11[1] = 0x37;
data11[2] = 0x37;
data11[3] = 0x37;
data11[4] = 0x37;
data11[5] = 0x37;
data11[6] = 0x37;
data11[7] = 0x37;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 4)
{
data11[0] = 0x22; //6A0起始
data11[1] = 0x37;
data11[2] = 0x37;
data11[3] = 0x37;
data11[4] = 0x37;
data11[5] = 0x37;
data11[6] = 0x37;
data11[7] = 0x37;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
}
else if(Meter_field_step == 8)
{
if(Meterfieldstep == 0)
{
data10[0] = 0x00; //6A0起始
init_CAN_Frame(&m_msg10, 0x6A0, 8, 1, data10);
can_mid(m_msg10);
Meterfieldstep ++;
}
else if(Meterfieldstep == 1)
{
data11[0] = 0x10; //6A0起始
data11[1] = 0x19;
data11[2] = 0xFF;
data11[3] = 0x00;
data11[4] = 0x01;
data11[5] = 0x03;
data11[6] = 0x45;
data11[7] = 0x00;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 2)
{
data11[0] = 0x20; //6A0起始
data11[1] = 0x02;
data11[2] = 0x00;
data11[3] = 0x00;
data11[4] = 0x38;
data11[5] = 0x38;
data11[6] = 0x38;
data11[7] = 0x38;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 3)
{
data11[0] = 0x21; //6A0起始
data11[1] = 0x38;
data11[2] = 0x38;
data11[3] = 0x38;
data11[4] = 0x38;
data11[5] = 0x38;
data11[6] = 0x38;
data11[7] = 0x38;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
else if(Meterfieldstep == 4)
{
data11[0] = 0x22; //6A0起始
data11[1] = 0x38;
data11[2] = 0x38;
data11[3] = 0x38;
data11[4] = 0x38;
data11[5] = 0x38;
data11[6] = 0x38;
data11[7] = 0x38;
init_CAN_Frame(&m_msg11, 0x6A2, 8, 1, data11);
can_mid(m_msg11);
Meterfieldstep ++;
}
}
}
uint8_t rolaconter = 0;
void can_submit(void)
{
......@@ -276,12 +815,20 @@ void can_submit(void)
CAN_Frame_st_t m_msg7;
uint8_t data7[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C50FFD2
CAN_Frame_st_t m_msg9;
uint8_t data9[8] = {0, 0, 0, 0, 0, 0, 0, 0};//786掉线
if((MENU_CHECK_STEP != 2) && (MENU_CHECK_STEP != 9))
{
data4[0] = 0x00; //ABS
init_CAN_Frame(&m_msg4, 0x153, 8, 1, data4);
can_mid(m_msg4);
}
data9[0] = 0x00;
init_CAN_Frame(&m_msg9, 0x687, 8, 1, data9);
can_mid(m_msg9); //米字段687报文在线
switch (MENU_CHECK_STEP)
{
case 1:
......@@ -295,7 +842,7 @@ void can_submit(void)
data2[4] = 0x01;
init_CAN_Frame(&m_msg2, 0x600, 8, 1, data2);
data3[0] = 0x00; //手机电量,GSM功率
data3[1] = 0x00;
data3[1] = 0x04; //时间使能
data3[3] = 0x16; //加热手柄指示灯
init_CAN_Frame(&m_msg3, 0x687, 8, 1, data3);
......@@ -305,12 +852,14 @@ void can_submit(void)
data5[4] = 0x40; //发动机无法启动指示灯
init_CAN_Frame(&m_msg5, 0x120, 8, 1, data5);
data6[3] = 0xAB; //配置为AB
data6[2] = 0xAB; //配置为AB
data6[4] = 0x00; //ASR指示灯
init_CAN_Frame(&m_msg6, 0x200, 8, 1, data6);
data7[5] = 0x04; //侧支架指示灯,发动机故障
init_CAN_Frame(&m_msg7, 0x100, 8, 1, data7);
Meter_field_display(1);
break;
case 2:
/* 车速 */
......@@ -323,7 +872,7 @@ void can_submit(void)
data2[4] = 0x16;
init_CAN_Frame(&m_msg2, 0x600, 8, 1, data2);
data3[0] = 0x09; //手机电量
data3[1] = 0x00;
data3[1] = 0x04;
data3[3] = 0x02; //加热手柄指示灯
init_CAN_Frame(&m_msg3, 0x687, 8, 1, data3);
......@@ -333,11 +882,14 @@ void can_submit(void)
data5[4] = 0x40; //发动机无法启动指示灯
init_CAN_Frame(&m_msg5, 0x120, 8, 1, data5);
data6[2] = 0xAB; //配置为AB
data6[4] = 0x00; //ASR指示灯
init_CAN_Frame(&m_msg6, 0x200, 8, 1, data6);
data7[5] = 0x00; //侧支架指示灯
init_CAN_Frame(&m_msg7, 0x100, 8, 1, data7);
Meter_field_display(2);
break;
case 3:
/* 车速 */
......@@ -350,7 +902,7 @@ void can_submit(void)
data2[4] = 0x17;
init_CAN_Frame(&m_msg2, 0x600, 8, 1, data2);
data3[0] = 0x12; //手机电量
data3[1] = 0x10; //来电指示灯,APP连接指示灯
data3[1] = 0x14; //来电指示灯,APP连接指示灯
data3[3] = 0x04; //加热手柄指示灯
init_CAN_Frame(&m_msg3, 0x687, 8, 1, data3);
......@@ -360,11 +912,14 @@ void can_submit(void)
data5[4] = 0x40; //发动机无法启动指示灯
init_CAN_Frame(&m_msg5, 0x120, 8, 1, data5);
data6[2] = 0xAB; //配置为AB
data6[4] = 0x00; //ASR指示灯
init_CAN_Frame(&m_msg6, 0x200, 8, 1, data6);
data7[5] = 0x00; //侧支架指示灯
init_CAN_Frame(&m_msg7, 0x100, 8, 1, data7);
Meter_field_display(3);
break;
case 4:
/* 车速 */
......@@ -387,11 +942,14 @@ void can_submit(void)
data5[4] = 0x40; //发动机无法启动指示灯
init_CAN_Frame(&m_msg5, 0x120, 8, 1, data5);
data6[2] = 0xAB; //配置为AB
data6[4] = 0x00; //ASR指示灯
init_CAN_Frame(&m_msg6, 0x200, 8, 1, data6);
data7[5] = 0x00; //侧支架指示灯
init_CAN_Frame(&m_msg7, 0x100, 8, 1, data7);
Meter_field_display(4);
break;
case 5:
/* 车速 */
......@@ -404,7 +962,7 @@ void can_submit(void)
data2[4] = 0x0F;
init_CAN_Frame(&m_msg2, 0x600, 8, 1, data2);
data3[0] = 0x24; //手机电量
data3[1] = 0x40; //未接指示灯
data3[1] = 0x04; //未接指示灯
data3[3] = 0x08; //加热手柄指示灯
init_CAN_Frame(&m_msg3, 0x687, 8, 1, data3);
......@@ -414,11 +972,14 @@ void can_submit(void)
data5[4] = 0x00; //发动机无法启动指示灯
init_CAN_Frame(&m_msg5, 0x120, 8, 1, data5);
data6[2] = 0xAB; //配置为AB
data6[4] = 0x00; //ASR指示灯
init_CAN_Frame(&m_msg6, 0x200, 8, 1, data6);
data7[5] = 0x00; //侧支架指示灯
init_CAN_Frame(&m_msg7, 0x100, 8, 1, data7);
Meter_field_display(5);
break;
case 6:
/* 车速 */
......@@ -431,7 +992,7 @@ void can_submit(void)
data2[4] = 0x10;
init_CAN_Frame(&m_msg2, 0x600, 8, 1, data2);
data3[0] = 0x2D; //手机电量
data3[1] = 0xC0; //未接指示灯,音乐
data3[1] = 0xC4; //未接指示灯,音乐
data3[3] = 0x0A; //加热手柄指示灯
init_CAN_Frame(&m_msg3, 0x687, 8, 1, data3);
......@@ -441,11 +1002,14 @@ void can_submit(void)
data5[4] = 0x40; //发动机无法启动指示灯
init_CAN_Frame(&m_msg5, 0x120, 8, 1, data5);
data6[2] = 0xAB; //配置为AB
data6[4] = 0x00; //ASR指示灯
init_CAN_Frame(&m_msg6, 0x200, 8, 1, data6);
data7[5] = 0x00; //侧支架指示灯
init_CAN_Frame(&m_msg7, 0x100, 8, 1, data7);
Meter_field_display(6);
break;
case 7:
/* 车速 */
......@@ -458,7 +1022,7 @@ void can_submit(void)
data2[4] = 0x11;
init_CAN_Frame(&m_msg2, 0x600, 8, 1, data2);
data3[0] = 0x2E; //手机电量
data3[1] = 0x00;
data3[1] = 0x04;
data3[3] = 0x0C; //加热手柄指示灯
init_CAN_Frame(&m_msg3, 0x687, 8, 1, data3);
......@@ -468,11 +1032,14 @@ void can_submit(void)
data5[4] = 0x40; //发动机无法启动指示灯
init_CAN_Frame(&m_msg5, 0x120, 8, 1, data5);
data6[2] = 0xAB; //配置为AB
data6[4] = 0xC0; //ASR指示灯
init_CAN_Frame(&m_msg6, 0x200, 8, 1, data6);
data7[5] = 0x00; //侧支架指示灯
init_CAN_Frame(&m_msg7, 0x100, 8, 1, data7);
Meter_field_display(7);
break;
case 8:
/* 车速 */
......@@ -485,7 +1052,7 @@ void can_submit(void)
data2[4] = 0x12;
init_CAN_Frame(&m_msg2, 0x600, 8, 1, data2);
data3[0] = 0x2E; //手机电量
data3[1] = 0x00;
data3[1] = 0x04;
data3[3] = 0x0E; //加热手柄指示灯
init_CAN_Frame(&m_msg3, 0x687, 8, 1, data3);
......@@ -495,11 +1062,14 @@ void can_submit(void)
data5[4] = 0x40; //发动机无法启动指示灯
init_CAN_Frame(&m_msg5, 0x120, 8, 1, data5);
data6[2] = 0xAB; //配置为AB
data6[4] = 0x00; //ASR指示灯
init_CAN_Frame(&m_msg6, 0x200, 8, 1, data6);
data7[5] = 0x80; //侧支架指示灯
init_CAN_Frame(&m_msg7, 0x100, 8, 1, data7);
Meter_field_display(8);
break;
case 9:
/* 车速 */
......@@ -522,6 +1092,7 @@ void can_submit(void)
data5[4] = 0x00; //发动机无法启动指示灯
init_CAN_Frame(&m_msg5, 0x120, 8, 1, data5);
data6[2] = 0xAB; //配置为AB
data6[4] = 0xC0; //ASR指示灯
init_CAN_Frame(&m_msg6, 0x200, 8, 1, data6);
......@@ -577,8 +1148,6 @@ void send_0x714_fuc()
CAN_Frame_st_t m_msg8;
uint8_t data8[8] = {0, 0, 0, 0, 0, 0, 0, 0};
CAN_Frame_st_t m_msg9;
uint8_t data9[8] = {0, 0, 0, 0, 0, 0, 0, 0};
switch (zhenduanstep)
{
case 0:
......@@ -711,18 +1280,6 @@ void send_0x714_fuc()
init_CAN_Frame(&m_msg8, 0x7E3, 8, 1, data8);
can_mid(m_msg8);
zhenduanstep++;
case 11:
data9[0] = 0x02;
data9[1] = 0xFF;
data9[2] = 0x55;
data9[3] = 0x55;
data9[4] = 0x55;
data9[5] = 0x55;
data9[6] = 0x55;
data9[7] = 0x55;
init_CAN_Frame(&m_msg9, 0x6A1, 8, 1, data9);
can_mid(m_msg9);
zhenduanstep++;
break;
default:
break;
......@@ -730,16 +1287,6 @@ void send_0x714_fuc()
}
void Can_Set_Buff_2E1(uint8_t CopyData [])
{
CAN_Frame_st_t m_msg9;// 车速 母线电流
uint8_t data9[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C20FFD2
data9[4] = 0x40; //发动机无法启动指示灯
init_CAN_Frame(&m_msg9, 0x2E1, 8, 1, data9);
can_mid(m_msg9);
}
uint8_t UIDNumber[19] = {84,89,87,0,0,0,0,0,0,0,0,0,0,1,2,0,2,5,0xFF};
uint8_t UIDNumber2[15] = {0,5,2,2,0,0,0,0,0,0,0,0,0,0,0xFF};
uint8_t change = 13;
......@@ -1324,7 +1871,6 @@ uint8_t seednum[4] = {0};
uint32_t UDS_time = 0;
extern uint32_t fakedelay;
uint8_t resettime = 0;
uint8_t resetflag = 0;
extern uint32_t fakedelay;
uint32_t resetpowtime = 0;
uint32_t FUresetpowtime = 0;
......
......@@ -74,4 +74,5 @@ extern uint8_t writebeing;
extern uint8_t u8get714msg[8];
extern uint8_t UIDdelay;
extern uint8_t UDSStep;
extern uint8_t Meterfieldstep;
#endif
......@@ -557,7 +557,7 @@ void Read_IPK_Session_Type(void)//请求仪表发送 软硬件版本号 等数
}
}
uint8_t LED_Waring = 0;
extern uint8_t resetflag;
void Function_Check_Ctrl(uint32_t cmd)
{
uint8_t p [ 20 ];
......@@ -598,11 +598,11 @@ void Function_Check_Ctrl(uint32_t cmd)
POWER_CTRL_KL30 = 1u; //B+
POWER_CTRL_KL15 = 1u; //KL15
/*正控*/
LINE_OUT_POS_02 = 1; //远光
LINE_OUT_POS_04 = 1; //左转
LINE_OUT_POS_01 = 1; //右转
LINE_OUT_POS_11 = 1; //防盗
LINE_OUT_POS_12 = 1; //机油压力
LINE_OUT_POS_02 = 0; //远光
LINE_OUT_POS_04 = 0; //左转
LINE_OUT_POS_01 = 0; //右转
LINE_OUT_POS_11 = 0; //防盗
LINE_OUT_POS_12 = 0; //机油压力
/*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 0;
......@@ -635,7 +635,7 @@ void Function_Check_Ctrl(uint32_t cmd)
FUEL_RES_1 = 0; //开路0格
FUEL_RES_2 = 0;
FUEL_RES_3 = 0;
FUEL_RES_4 = 0;
FUEL_RES_4 = 1;
break;
}
......@@ -663,8 +663,8 @@ void Function_Check_Ctrl(uint32_t cmd)
/*燃油*/
FUEL_RES_1 = 0; //1格
FUEL_RES_2 = 0;
FUEL_RES_3 = 0;
FUEL_RES_4 = 1;
FUEL_RES_3 = 1;
FUEL_RES_4 = 0;
break;
}
......@@ -691,8 +691,8 @@ void Function_Check_Ctrl(uint32_t cmd)
// /*燃油*/
FUEL_RES_1 = 0; //2格
FUEL_RES_2 = 0;
FUEL_RES_3 = 1;
FUEL_RES_2 = 1;
FUEL_RES_3 = 0;
FUEL_RES_4 = 0;
break;
}
......@@ -717,10 +717,14 @@ void Function_Check_Ctrl(uint32_t cmd)
// LINE_OUT_POS_04 = 0;
// LINE_OUT_POS_04 = 1; //左转
LINE_OUT_POS_02 = 0; //远光
LINE_OUT_POS_04 = 0; //左转
LINE_OUT_POS_01 = 0; //右转
LINE_OUT_POS_11 = 0; //防盗
LINE_OUT_POS_12 = 0; //机油压力
/*燃油*/
FUEL_RES_1 = 0; //3格
FUEL_RES_2 = 1;
FUEL_RES_3 = 0;
FUEL_RES_3 = 1;
FUEL_RES_4 = 0;
break;
......@@ -744,6 +748,11 @@ void Function_Check_Ctrl(uint32_t cmd)
// LINE_OUT_POS_02 = 0;
// LINE_OUT_POS_03 = 0;
// LINE_OUT_POS_04 = 0;
LINE_OUT_POS_02 = 0; //远光
LINE_OUT_POS_04 = 0; //左转
LINE_OUT_POS_01 = 0; //右转
LINE_OUT_POS_11 = 0; //防盗
LINE_OUT_POS_12 = 0; //机油压力
/*燃油*/
FUEL_RES_1 = 1; //4格
FUEL_RES_2 = 0;
......@@ -771,10 +780,15 @@ void Function_Check_Ctrl(uint32_t cmd)
// LINE_OUT_POS_02 = 0;
// LINE_OUT_POS_03 = 0;
// LINE_OUT_POS_04 = 0;
LINE_OUT_POS_02 = 0; //远光
LINE_OUT_POS_04 = 0; //左转
LINE_OUT_POS_01 = 0; //右转
LINE_OUT_POS_11 = 0; //防盗
LINE_OUT_POS_12 = 0; //机油压力
/*燃油*/
FUEL_RES_1 = 1; //5格
FUEL_RES_2 = 1;
FUEL_RES_3 = 1;
FUEL_RES_2 = 0;
FUEL_RES_3 = 0;
FUEL_RES_4 = 1;
break;
}
......@@ -797,11 +811,15 @@ void Function_Check_Ctrl(uint32_t cmd)
// LINE_OUT_POS_02 = 0;
// LINE_OUT_POS_03 = 0;
// LINE_OUT_POS_04 = 0;
LINE_OUT_NEG_01 = 1;
LINE_OUT_POS_02 = 0; //远光
LINE_OUT_POS_04 = 0; //左转
LINE_OUT_POS_01 = 0; //右转
LINE_OUT_POS_11 = 0; //防盗
LINE_OUT_POS_12 = 0; //机油压力
/*燃油*/
FUEL_RES_1 = 1; //5格
FUEL_RES_2 = 1;
FUEL_RES_3 = 1;
FUEL_RES_2 = 0;
FUEL_RES_3 = 0;
FUEL_RES_4 = 1;
break;
}
......@@ -824,11 +842,15 @@ void Function_Check_Ctrl(uint32_t cmd)
// LINE_OUT_POS_02 = 0;
// LINE_OUT_POS_03 = 0;
// LINE_OUT_POS_04 = 0;
LINE_OUT_NEG_01 = 0;
LINE_OUT_POS_02 = 0; //远光
LINE_OUT_POS_04 = 0; //左转
LINE_OUT_POS_01 = 0; //右转
LINE_OUT_POS_11 = 0; //防盗
LINE_OUT_POS_12 = 0; //机油压力
/*燃油*/
FUEL_RES_1 = 1; //5格
FUEL_RES_2 = 1;
FUEL_RES_3 = 1;
FUEL_RES_2 = 0;
FUEL_RES_3 = 0;
FUEL_RES_4 = 1;
break;
}
......@@ -847,11 +869,15 @@ void Function_Check_Ctrl(uint32_t cmd)
// LINE_OUT_NEG_09 = 0;
// LINE_OUT_NEG_10 = 0;
/*正控*/
LINE_OUT_POS_02 = 1; //远光
LINE_OUT_POS_04 = 1; //左转
LINE_OUT_POS_01 = 1; //右转
LINE_OUT_POS_11 = 1; //防盗
LINE_OUT_POS_12 = 1; //机油压力
/*燃油*/
FUEL_RES_1 = 1; //5格
FUEL_RES_2 = 1;
FUEL_RES_3 = 1;
FUEL_RES_2 = 0;
FUEL_RES_3 = 0;
FUEL_RES_4 = 1;
break;
}
......
......@@ -72,6 +72,12 @@ extern Key_Real_Status_en_t enKeyLeftRealStatus;
extern Key_Real_Status_en_t enKeyRightRealStatus;
/*------------------------------------------------------------------------------------*/
extern uint8_t leftkey;
extern uint8_t leftkeytime;
extern uint8_t rightkey;
extern uint8_t rightkeytime;
extern uint8_t middlekey;
extern uint8_t middlekeytime;
extern void Key_Init(void);
extern void Key_Service(void); /*10ms*/
......
......@@ -3,90 +3,79 @@
#include "Display_Info.h"
#include "Check_Ctrl.h"
#include "CAN_APP.h"
extern uint8_t resetflag;
uint8_t rightkey;
uint8_t rightkeytime;
void Key_Operation_SW5(Key_Event_en_t enKeyEvent)
{
if ( enKeyEvent == KEY_EVENT_SHORT_PRESS )
{
// Display_Add( );
// Display_TFT_Clear( );
Display_TFT_Clear_UID();
if(change > 0)
{
change--;
UUIDX -= 10;
}
else
{
change = 13;
UUIDX = 197;
}
// Display_TFT_Clear();
key_right = 1;
rightkey = 1;
}
else if ( enKeyEvent == KEY_EVENT_LONG_PRESS )
{
}
else if ( enKeyEvent == KEY_EVENT_SUPER_LONG_PRESS )
{
if ( (LED_Waring == 1) || (UDS_Warning_Voltage ==1))
}
else
{
if(rightkey)
{
if(rightkeytime < 10)
{
;
}
else
{
// Display_Add( );
// Display_TFT_Clear( );
rightkey = 0;
rightkeytime = 0;
}
}
else
{
key_right = 0;
}
}
}
uint8_t leftkey;
uint8_t leftkeytime;
void Key_Operation_SW4(Key_Event_en_t enKeyEvent)
{
if ( enKeyEvent == KEY_EVENT_SHORT_PRESS )
{
if(UIDNumber2[change] < 9)
{
UIDNumber2[change]++;
key_left = 1;
leftkey = 1;
}
else
else if ( enKeyEvent == KEY_EVENT_LONG_PRESS )
{
UIDNumber2[change] = 0;
}
// if ( (LED_Waring == 1) || (UDS_Warning_Voltage ==1))
// {
// ;
// }
// else
// {
// // Display_Sub( );
// // Display_TFT_Clear( );
// }
}
else if ( enKeyEvent == KEY_EVENT_LONG_PRESS )
else if ( enKeyEvent == KEY_EVENT_SUPER_LONG_PRESS )
{
}
else if ( enKeyEvent == KEY_EVENT_SUPER_LONG_PRESS )
else
{
if(leftkey)
{
if ( (LED_Waring == 1) || (UDS_Warning_Voltage == 1))
if(leftkeytime < 10)
{
;
}
else
{
// Display_Sub( );
// Display_TFT_Clear( );
leftkey = 0;
leftkeytime = 0;
}
}
else
{
key_left = 0;
}
}
}
void Key_Operation_SW7(Key_Event_en_t enKeyEvent)
......@@ -122,52 +111,61 @@ void Key_Operation_SW8(Key_Event_en_t enKeyEvent)
{
}
}
uint8_t middlekey;
uint8_t middlekeytime;
void Key_Operation_SW2(Key_Event_en_t enKeyEvent)
{
/*清零ODO*/
if ( enKeyEvent == KEY_EVENT_SHORT_PRESS )
{
MENU_CHECK_STEP_ADD( );
key_middle = 1;
middlekey = 1;
}
else if ( enKeyEvent == KEY_EVENT_LONG_PRESS )
{
}
else if ( enKeyEvent == KEY_EVENT_SUPER_LONG_PRESS )
{
if ( LED_Waring == 1 || (UDS_Warning_Voltage ==1))
}
else
{
if(middlekey)
{
if(middlekeytime < 10)
{
;
}
else
{
MENU_CHECK_STEP_ADD( );
middlekey = 0;
middlekeytime = 0;
}
}
else
{
key_middle = 0;
}
}
}
void Key_Operation_SW1(Key_Event_en_t enKeyEvent)
{
if ( enKeyEvent == KEY_EVENT_SHORT_PRESS )
{
writeflag = 1;
zhenduanstep = 11;
UIDStep = 0;
writebeing = 1;
// if(UIDNumber2[change] < 9)
// {
// UIDNumber2[change]++;
// }
// else
// {
// UIDNumber2[change] = 0;
// }
Display_TFT_Clear_UID2();
}
else if (( enKeyEvent == KEY_EVENT_LONG_PRESS ) && (MENU_CHECK_STEP == 10))
{
LINE_OUT_NEG_02 = 1;
Meterfieldstep = 0;
MENU_CHECK_STEP_ADD( );
}
else if ( enKeyEvent == KEY_EVENT_LONG_PRESS )
{
}
else if ( enKeyEvent == KEY_EVENT_SUPER_LONG_PRESS )
{
}
else
{
}
}
......
......@@ -283,4 +283,53 @@ void RTE_GPIO_Init(void)
gpio_temp.enGPIODir = GPIO_DIR_OUT;
gpio_temp.enGPIOAltFun = GPIO_ALTER_FUN_1;
GPIO_Config(&gpio_temp);//--右转输出
gpio_temp.enGPIOPort = GPIO_PORT_GROUP_AP0;
gpio_temp.enGPIOPIN = GPIO_PIN_12;
gpio_temp.enGPIOMode = GPIO_MODE_PORT;
gpio_temp.enGPIODir = GPIO_DIR_OUT;
gpio_temp.enGPIOAltFun = GPIO_ALTER_FUN_1;
GPIO_Config(&gpio_temp);
gpio_temp.enGPIOPort = GPIO_PORT_GROUP_AP0;
gpio_temp.enGPIOPIN = GPIO_PIN_10;
gpio_temp.enGPIOMode = GPIO_MODE_PORT;
gpio_temp.enGPIODir = GPIO_DIR_OUT;
gpio_temp.enGPIOAltFun = GPIO_ALTER_FUN_1;
GPIO_Config(&gpio_temp);//--正控5
gpio_temp.enGPIOPort = GPIO_PORT_GROUP_0;
gpio_temp.enGPIOPIN = GPIO_PIN_6;
gpio_temp.enGPIOMode = GPIO_MODE_PORT;
gpio_temp.enGPIODir = GPIO_DIR_OUT;
gpio_temp.enGPIOAltFun = GPIO_ALTER_FUN_1;
GPIO_Config(&gpio_temp);//pin85
gpio_temp.enGPIOPort = GPIO_PORT_GROUP_10;
gpio_temp.enGPIOPIN = GPIO_PIN_13;
gpio_temp.enGPIOMode = GPIO_MODE_PORT;
gpio_temp.enGPIODir = GPIO_DIR_OUT;
gpio_temp.enGPIOAltFun = GPIO_ALTER_FUN_1;
GPIO_Config(&gpio_temp);//pin85
gpio_temp.enGPIOPort = GPIO_PORT_GROUP_AP0;
gpio_temp.enGPIOPIN = GPIO_PIN_8;
gpio_temp.enGPIOMode = GPIO_MODE_PORT;
gpio_temp.enGPIODir = GPIO_DIR_OUT;
gpio_temp.enGPIOAltFun = GPIO_ALTER_FUN_1;
GPIO_Config(&gpio_temp);//左键输出
gpio_temp.enGPIOPort = GPIO_PORT_GROUP_AP0;
gpio_temp.enGPIOPIN = GPIO_PIN_7;
gpio_temp.enGPIOMode = GPIO_MODE_PORT;
gpio_temp.enGPIODir = GPIO_DIR_OUT;
gpio_temp.enGPIOAltFun = GPIO_ALTER_FUN_1;
GPIO_Config(&gpio_temp);//右键输出
gpio_temp.enGPIOPort = GPIO_PORT_GROUP_0;
gpio_temp.enGPIOPIN = GPIO_PIN_6;
gpio_temp.enGPIOMode = GPIO_MODE_PORT;
gpio_temp.enGPIODir = GPIO_DIR_OUT;
gpio_temp.enGPIOAltFun = GPIO_ALTER_FUN_1;
GPIO_Config(&gpio_temp);//钥匙确认
}
......@@ -52,6 +52,9 @@
// #define LINE_OUT_FANGDAO GPIO_OUT_PORT10_PIN06
#define CAN_STB GPIO_OUT_PORT00_PIN04
#define key_left GPIO_OUT_APORT00_PIN08
#define key_right GPIO_OUT_APORT00_PIN07
#define key_middle GPIO_OUT_PORT00_PIN06
#define SD_FMQ GPIO_OUT_PORT10_PIN02
#define PWM_FMQ GPIO_OUT_PORT10_PIN11
......@@ -86,9 +89,9 @@
//右转
#define LINE_OUT_POS_01 GPIO_OUT_PORT10_PIN14
//机油压力
#define LINE_OUT_POS_12 GPIO_OUT_PORT00_PIN10
#define LINE_OUT_POS_12 GPIO_OUT_APORT00_PIN10
//防盗
#define LINE_OUT_POS_11 GPIO_OUT_PORT00_PIN12
#define LINE_OUT_POS_11 GPIO_OUT_APORT00_PIN12
//远光
#define LINE_OUT_POS_02 GPIO_OUT_PORT10_PIN13
//位置灯
......
......@@ -63,7 +63,6 @@ uint8_t getmsgfinish = 0;
extern uint8_t SWtestresult;
extern uint8_t HWtestresult;
extern uint8_t PNtestresult;
extern uint8_t resetflag;
extern uint8_t fuelreset1;
extern uint8_t fuelreset2;
extern uint8_t fuelreset3;
......@@ -195,6 +194,20 @@ void Sys_Run_Mode_50ms_Tasks_Group(void)
timer_100ms = 0;
}
// Get_UID_msg();
if(leftkey)
{
leftkeytime++;
}
if(rightkey)
{
rightkeytime++;
}
if(middlekey)
{
middlekeytime++;
}
}
/*==============================================================================
......
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