Commit e93d1ba7 authored by 张明扬's avatar 张明扬 🇨🇳
parents 4b94c244 77ddf539
......@@ -339,7 +339,7 @@
<MiscControls></MiscControls>
<Define>USE_STDPERIPH_DRIVER,BAT32G139_64PIN</Define>
<Undefine></Undefine>
<IncludePath>..\..\..\..\Source\Device\Cmsemicon\BAT32A239\RTE;..\..\..\..\Source\Component;..\..\..\..\Source\Device\Cmsemicon\BAT32A239\Library\Driver\include;..\..\..\..\Source\Device\Cmsemicon\BAT32A239\Library\Device\Include;..\..\..\..\Source\Application;..\..\..\..\Source;..\..\..\..\Source\Component\LED_Driver;..\..\..\..\Source\UDS</IncludePath>
<IncludePath>..\..\..\..\Source\Device\Cmsemicon\BAT32A239\RTE;..\..\..\..\Source\Component;..\..\..\..\Source\Device\Cmsemicon\BAT32A239\Library\Driver\include;..\..\..\..\Source\Device\Cmsemicon\BAT32A239\Library\Device\Include;..\..\..\..\Source\Application;..\..\..\..\Source;..\..\..\..\Source\Component\LED_Driver;..\..\..\..\Source\UDS;..\..\..\..\Source\Component\System_Monitor</IncludePath>
</VariousControls>
</Cads>
<Aads>
......@@ -513,16 +513,6 @@
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Application\Data_Coolant\Data_Coolant.h</FilePath>
</File>
<File>
<FileName>Data_TPMS.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\Application\Data_TPMS\Data_TPMS.c</FilePath>
</File>
<File>
<FileName>Data_TPMS.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Application\Data_TPMS\Data_TPMS.h</FilePath>
</File>
<File>
<FileName>FaultCode.c</FileName>
<FileType>1</FileType>
......@@ -583,6 +573,26 @@
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Application\BLUETOOTH\Protocol_User.h</FilePath>
</File>
<File>
<FileName>Data_TPMS.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\Application\Data_TPMS\Data_TPMS.c</FilePath>
</File>
<File>
<FileName>Data_TPMS.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Application\Data_TPMS\Data_TPMS.h</FilePath>
</File>
<File>
<FileName>code.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\Application\FaultCode\code.c</FilePath>
</File>
<File>
<FileName>code.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Application\FaultCode\code.h</FilePath>
</File>
</Files>
</Group>
<Group>
......
......@@ -15,13 +15,14 @@ SET CPU_CLOCK=0x00B71B00
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\can_user.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\can_app.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\data_coolant.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\data_tpms.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\faultcode.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\data_voltage.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\bluetooth.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\protocol_crc16.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\protocol_lib.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\protocol_user.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\data_tpms.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\code.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\bu98r10.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\services_mileage_user.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\eemanager_interface.__i"
......
......@@ -18,6 +18,7 @@
#include "Data_TPMS/Data_TPMS.h"
#include "Data_Voltage/Data_Voltage.h"
#include "FaultCode/FaultCode.h"
#include "FaultCode/code.h"
#include "BLUETOOTH/BlueTooth.h"
#include "BLUETOOTH/Protocol_CRC16.h"
#include "BLUETOOTH/Protocol_Lib.h"
......
......@@ -12,6 +12,8 @@ void BlueTooth_KL30_KL15_Wakeup_Init(void)
void Send_UUID_To_Esp32(void)
{
Protocol_Send(MCU_ESP32_0x03, UUIDData, 32);
//Protocol_Send(MCU_ESP32_0x03, Ser2EDataForDFlash.DID_F184, 32);
}
uint8_t Get_Navigation_St_Dis(void)
{
......
......@@ -10,7 +10,10 @@
#define MCU_ESP32_0x20 0x20 //蓝牙模组启动后,MCU回复ID
#define ESP32_MCU_0x01 0x01 //ESP32发送蓝牙导航信息的ID
#define ESP32_MCU_0x12 0x12 //低功耗蓝牙启动状态及蓝牙名称
#define ESP32_MCU_0x05 0x05 //esp32版本号
#define MCU_ESP32_0x03 0x03 //MCU发送UUID
#define ESP32_MCU_0x02 0x02 //ESP32发送重启请求
#define MCU_ESP32_0x04 0x04 //MCU发送重启命令
enum
{
BLUE_STATE_Starting, //蓝牙模组启动中
......@@ -23,7 +26,9 @@ typedef struct __attribute__((aligned(4)))
uint8_t Navigation_St;/*导航状态 0x35 未导航或导航结束 0x33 正在导航*/
uint8_t Navigation_Code;/*蓝牙导向编码*/
uint32_t Navigation_Mileage;/*剩余里程*/
uint8_t BLE_St;
uint8_t BLE_St;
uint8_t ESP32_Reset;
uint8_t ESP32_SWV;
} BlueTooth_t;
typedef enum __attribute__((aligned(4)))
......
......@@ -11,6 +11,7 @@
#include <stdio.h>
#include <string.h>
#include "Protocol_Lib.h"
#include "Protocol_CRC16.h"
static UARTOpen UARTOpen_Cbk;
static UARTSend UARTSend_Cbk;
static UARTRead UARTRead_Cbk;
......
#include "Protocol_User.h"
#include "RTE.h"
#include "System_Monitor_User.h"
#define UART_TX_MAX_DEPTH 1024UL //(2 * 1024UL) // 4K
#define UART_RX_MAX_DEPTH (2 * 1024UL) // 4K
......@@ -27,7 +27,7 @@ static Protocol_uint8_t UsartDataBuf [ 256 ];
static Protocol_uint8_t mDataBufPtr [ UART_DATA_BUF_LEN ];
static Protocol_uint8_t Protocol_OpenUart(void);
static Protocol_uint32_t Protocol_UartRead(Protocol_uint8_t *pData, Protocol_uint32_t u32Len);
static Protocol_uint32_t Protocol_UartRead(Protocol_uint8_t *pData, Protocol_uint32_t len);
static Protocol_uint32_t Protocol_UartSend(const Protocol_uint8_t *pData, Protocol_uint32_t u32Len);
static void Protocol_UartHandle(const Protocol_Data_t *pData);
......@@ -169,7 +169,7 @@ static Protocol_uint32_t Protocol_UartSend(const Protocol_uint8_t *pData, Protoc
static void Protocol_UartHandle(const Protocol_Data_t *pData)
{
uint8_t ID04[1] = {0};
if ( pData->CmdID == ESP32_MCU_0x10 )
{
BlueTooth.BlueTooth_St = pData->Data[0];
......@@ -182,6 +182,28 @@ static void Protocol_UartHandle(const Protocol_Data_t *pData)
{
BlueTooth.BLE_St = pData->Data[0];
}
else if ( pData->CmdID == ESP32_MCU_0x05 )
{
BlueTooth.ESP32_SWV = pData->Data[0];
}
else if ( pData->CmdID == ESP32_MCU_0x02 )
{
BlueTooth.ESP32_Reset = pData->Data[0];
if (BlueTooth.ESP32_Reset == 1)
{
ID04[0] = 1;
Protocol_Send(MCU_ESP32_0x04, ID04, 1);
}
else if(BlueTooth.ESP32_Reset == 2)
{
__NVIC_SystemReset();
}
else
{
;
}
}
else if(pData->CmdID == ESP32_MCU_0x01 )
{
if (pData->Data[0] == 0x33)
......
......@@ -79,6 +79,16 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
(( void * )0),
(( void * )0),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
2000ul,
0x373ul,
(( void * )0),
(( void * )0),
(( void * )0),
},
};
uint8_t Get_CAN_CH0_ID_402_Sig_ECU_Warning_Lamp(void)
......@@ -357,7 +367,20 @@ uint8_t Get_CAN_CH0_ID_101_Sig_ECU_101_Checksum(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x101_Msg_Count, 7u) >> 0u) & 0xFFu));
}
uint32_t Get_CAN_CH0_ID_373_Sig_Front_id(void)
{
return (((uint32_t)((uint32_t)((uint32_t)((uint32_t)((uint32_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x373_Msg_Count, 0u) >> 0u) & 0xFFu) << 8u) + \
((uint32_t)((uint32_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x373_Msg_Count, 1u) >> 0u) & 0xFFu) << 8u) + \
((uint32_t)((uint32_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x373_Msg_Count, 2u) >> 0u) & 0xFFu) << 8u) + \
((uint32_t)((uint32_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x373_Msg_Count, 3u) >> 0u) & 0xFFu));
}
uint32_t Get_CAN_CH0_ID_373_Sig_Rear_id(void)
{
return (((uint32_t)((uint32_t)((uint32_t)((uint32_t)((uint32_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x373_Msg_Count, 4u) >> 0u) & 0xFFu) << 8u) + \
((uint32_t)((uint32_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x373_Msg_Count, 5u) >> 0u) & 0xFFu) << 8u) + \
((uint32_t)((uint32_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x373_Msg_Count, 6u) >> 0u) & 0xFFu) << 8u) + \
((uint32_t)((uint32_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CAN_0x373_Msg_Count, 7u) >> 0u) & 0xFFu));
}
uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID)
{
uint8_t u8Result = CAN_CH0_ID_TOTAL_MAX;
......@@ -381,6 +404,9 @@ uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID)
case CAN_CH0_ID_CAN_0x101_Msg:
u8Result = CAN_CH0_ID_CAN_0x101_Msg_Count;
break;
case CAN_CH0_ID_CAN_0x373_Msg:
u8Result = CAN_CH0_ID_CAN_0x373_Msg_Count;
break;
default :
u8Result = CAN_CH0_ID_TOTAL_MAX;
break;
......
......@@ -14,6 +14,7 @@ typedef enum
CAN_CH0_ID_CAN_0x401_Msg_Count,
CAN_CH0_ID_CAN_0x120_Msg_Count,
CAN_CH0_ID_CAN_0x101_Msg_Count,
CAN_CH0_ID_CAN_0x373_Msg_Count,
CAN_CH0_ID_TOTAL_MAX,
} CAN_CH0_CAN_MSG_ID_t;
......@@ -40,6 +41,7 @@ extern const st_CAN_SendAttribute CAN_CH0_CANSendAttr[CAN_CH0_ID_SEND_TOTAL]
#define CAN_CH0_ID_CAN_0x220_Msg 0x220ul
#define CAN_CH0_ID_CAN_0x120_Msg 0x120ul
#define CAN_CH0_ID_CAN_0x101_Msg 0x101ul
#define CAN_CH0_ID_CAN_0x373_Msg 0x373ul
extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_Warning_Lamp(void);
extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCL2(void);
......@@ -95,6 +97,8 @@ extern uint8_t Get_CAN_CH0_ID_101_Sig_ECU_Engine_Speed_State(void);
extern uint16_t Get_CAN_CH0_ID_101_Sig_ECU_Engine_Speed(void);
extern uint8_t Get_CAN_CH0_ID_101_Sig_ECU_101_Livecounter(void);
extern uint8_t Get_CAN_CH0_ID_101_Sig_ECU_101_Checksum(void);
extern uint32_t Get_CAN_CH0_ID_373_Sig_Front_id(void);
extern uint32_t Get_CAN_CH0_ID_373_Sig_Rear_id(void);
extern uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID);
......
......@@ -15,8 +15,10 @@ void Can_Set_Buff_220(canlib_uint8_t CopyData[])
{
p220->Msg [ i ] = 0xFFu;
}
p220 -> Sig.TCS_TX = Get_Dis_Tcs_Val();
}
p220 -> Sig.TCS_TX = Get_Dis_Tcs_Val();
}
void Can_Set_Buff_6EE(canlib_uint8_t CopyData[])
{
......@@ -33,32 +35,34 @@ void Can_Set_Buff_6EE(canlib_uint8_t CopyData[])
{
p6EE->Msg [ i ] = 0xFFu;
}
}
p6EE -> Sig.Vsppe_H3_TX = (Vspeed_tx >> 8) & 0x7u ;
p6EE -> Sig.Vsppe_L8_TX = Vspeed_tx & 0xFF ;
p6EE -> Sig.ODO_TX_H = (ODO_tx >> 16) & 0xFF ;
p6EE -> Sig.ODO_TX_M = (ODO_tx >> 8) & 0xFF ;
p6EE -> Sig.ODO_TX_L = ODO_tx & 0xFF ;
p6EE -> Sig.Uint_TX = Get_Dis_KM_Unit() ;
p6EE -> Sig.Coolant_Seg_TX = GET_DataCoolantTempSegDisp() ;
if (GET_DataCollantTempWarnflg() == 2)
{
p6EE -> Sig.Coolant_Warn_TX = 1;
}
else
{
p6EE -> Sig.Coolant_Warn_TX = 0;
}
p6EE -> Sig.Fuel_Seg_TX = Get_CurFuelSetp() ;
if(Get_Fuel_RES() > 255)
{
p6EE -> Sig.Fuel_Res_TX = 0xFF ;
}
else
{
p6EE -> Sig.Fuel_Res_TX = Get_Fuel_RES() ;
}
p6EE -> Sig.ODO_TX_H = (ODO_tx >> 16) & 0xFF ;
p6EE -> Sig.ODO_TX_M = (ODO_tx >> 8) & 0xFF ;
p6EE -> Sig.ODO_TX_L = ODO_tx & 0xFF ;
if(Get_Fuel_RES() > 255)
{
p6EE -> Sig.Fuel_Res_TX = 0xFF ;
}
else
{
p6EE -> Sig.Fuel_Res_TX = Get_Fuel_RES() ;
}
}
//p6EE -> Sig.Vsppe_H3_TX = (Vspeed_tx >> 8) & 0x7u ;
//p6EE -> Sig.Vsppe_L8_TX = Vspeed_tx & 0xFF ;
// p6EE -> Sig.Uint_TX = Get_Dis_KM_Unit() ;
// p6EE -> Sig.Coolant_Seg_TX = GET_DataCoolantTempSegDisp() ;
//if (GET_DataCollantTempWarnflg() == 2)
//{
// p6EE -> Sig.Coolant_Warn_TX = 1;
//}
//else
//{
// p6EE -> Sig.Coolant_Warn_TX = 0;
//}
//p6EE -> Sig.Fuel_Seg_TX = Get_CurFuelSetp() ;
}
void Can_Set_Buff_6EF(canlib_uint8_t CopyData[])
......@@ -76,11 +80,12 @@ void Can_Set_Buff_6EF(canlib_uint8_t CopyData[])
{
p6EF->Msg [ i ] = 0xFFu;
}
p6EF -> Sig.TripA_H = (TripA_tx >> 8) & 0xFF;
p6EF -> Sig.TripA_L = TripA_tx & 0xFF;
}
p6EF -> Sig.Espeed_TX = Espeed_tx;
p6EF -> Sig.TripA_H = (TripA_tx >> 8) & 0xFF;
p6EF -> Sig.TripA_L = TripA_tx & 0xFF;
p6EF -> Sig.Coolant_TX = GET_DataCoolantTempValueDisp() + 40;
//p6EF -> Sig.Espeed_TX = Espeed_tx;
//p6EF -> Sig.Coolant_TX = GET_DataCoolantTempValueDisp() + 40;
}
void Can_Set_Buff_450(canlib_uint8_t CopyData[])
{
......@@ -94,11 +99,12 @@ void Can_Set_Buff_450(canlib_uint8_t CopyData[])
{
p450->Msg [ i ] = 0xFFu;
}
p450 -> Sig.Front_Pressure_TX_H = (Get_Front_TPMS_TX() >> 8) & 0xFF;
p450 -> Sig.Front_Pressure_TX_L = Get_Front_TPMS_TX() & 0xFF;
p450 -> Sig.Rear_Pressure_TX_H = (Get_Rear_TPMS_TX() >> 8) & 0xFF;
p450 -> Sig.Rear_Pressure_TX_L = Get_Rear_TPMS_TX() & 0xFF;
}
p450 -> Sig.Front_Pressure_TX_H = (Get_Front_TPMS_TX() >> 8) & 0xFF;
p450 -> Sig.Front_Pressure_TX_L = Get_Front_TPMS_TX() & 0xFF;
p450 -> Sig.Rear_Pressure_TX_H = (Get_Rear_TPMS_TX() >> 8) & 0xFF;
p450 -> Sig.Rear_Pressure_TX_L = Get_Rear_TPMS_TX() & 0xFF;
}
void Can_Set_Buff_580(canlib_uint8_t CopyData[])
{
......@@ -112,31 +118,33 @@ void Can_Set_Buff_580(canlib_uint8_t CopyData[])
{
p580->Msg [ i ] = 0xFFu;
}
if(Get_Tpms_TX_Flag() == 1)
{
p580 -> Sig.TPMS_LEARN_CND_BYTE0 = 0x31;
p580 -> Sig.TPMS_LEARN_CND_BYTE1 = 0x01;
p580 -> Sig.TPMS_LEARN_CND_BYTE2 = 0x59;
p580 -> Sig.TPMS_LEARN_CND_BYTE3 = 0x08;
p580 -> Sig.TPMS_LEARN_CND_BYTE4 = 0x00;
}
else if(Get_Tpms_TX_Flag() == 2)
{
p580 -> Sig.TPMS_LEARN_CND_BYTE0 = 0x31;
p580 -> Sig.TPMS_LEARN_CND_BYTE1 = 0x01;
p580 -> Sig.TPMS_LEARN_CND_BYTE2 = 0x59;
p580 -> Sig.TPMS_LEARN_CND_BYTE3 = 0x08;
p580 -> Sig.TPMS_LEARN_CND_BYTE4 = 0x01;
}
else
{
p580 -> Sig.TPMS_LEARN_CND_BYTE0 = 0x0;
p580 -> Sig.TPMS_LEARN_CND_BYTE1 = 0x0;
p580 -> Sig.TPMS_LEARN_CND_BYTE2 = 0x0;
p580 -> Sig.TPMS_LEARN_CND_BYTE3 = 0x0;
p580 -> Sig.TPMS_LEARN_CND_BYTE4 = 0x02;
}
}
if(Get_Tpms_TX_Flag() == 1)
{
p580 -> Sig.TPMS_LEARN_CND_BYTE0 = 0x31;
p580 -> Sig.TPMS_LEARN_CND_BYTE1 = 0x01;
p580 -> Sig.TPMS_LEARN_CND_BYTE2 = 0x59;
p580 -> Sig.TPMS_LEARN_CND_BYTE3 = 0x08;
p580 -> Sig.TPMS_LEARN_CND_BYTE4 = 0x00;
}
else if(Get_Tpms_TX_Flag() == 1)
{
p580 -> Sig.TPMS_LEARN_CND_BYTE0 = 0x31;
p580 -> Sig.TPMS_LEARN_CND_BYTE1 = 0x01;
p580 -> Sig.TPMS_LEARN_CND_BYTE2 = 0x59;
p580 -> Sig.TPMS_LEARN_CND_BYTE3 = 0x08;
p580 -> Sig.TPMS_LEARN_CND_BYTE4 = 0x01;
}
else
{
p580 -> Sig.TPMS_LEARN_CND_BYTE0 = 0x0;
p580 -> Sig.TPMS_LEARN_CND_BYTE1 = 0x0;
p580 -> Sig.TPMS_LEARN_CND_BYTE2 = 0x0;
p580 -> Sig.TPMS_LEARN_CND_BYTE3 = 0x0;
p580 -> Sig.TPMS_LEARN_CND_BYTE4 = 0x02;
}
}
......
......@@ -90,6 +90,15 @@ void Can_RX_Apply_Buff(void)
CAN_MessageCache_Init(CAN0MSG11, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG11, ENABLE);
CAN_RecvMsg.Id = 0x373;
CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG15);
CAN_MessageCache_Init(CAN0MSG15, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG15, ENABLE);
CAN_RecvMsg.Id = DIAG_ID_Rx_PHY;
CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
......@@ -335,9 +344,11 @@ void Can_Write(st_CAN_Msg *Msg)
case 0x220:
CAN_Transmit(CAN0MSG10, &CAN_SendMsg);
break;
#if (IC_Current == TY200_080000b_ty)
case 0x580:
CAN_Transmit(CAN0MSG14, &CAN_SendMsg);
break;
#endif
default:
break;
}
......
......@@ -98,7 +98,8 @@ void Common_Set_Disp_V_Speed_Valid(DataValid_t Val)
uint16_t Common_Get_DispSpeed(void)
{
uint16_t m_Res;
uint16_t m_Res = 0;
return m_Res;
}
......
......@@ -5,7 +5,7 @@
#define TY200_080000b 0
#define TY200_080000b_ty 1
#define IC_Current TY200_080000b //选择当前程序为哪个零件号的仪表
#define IC_Current TY200_080000b_ty //选择当前程序为哪个零件号的仪表
/*COMMON INTERFACE*/
typedef enum
......
......@@ -11,10 +11,10 @@
#define DATA_ENGINE_RUNNING_THRESHOLD 400 //发动机运转阈值
#define DATA_ENGINE_STOP_THRESHOLD 300 //发动机停止阈值
#define DATA_ESPEED_DAMPING_FACTOR 4 //阻尼系数
#define DATA_ESPEED_DAMPING_FACTOR 3 //阻尼系数
#define DATA_ESPEED_INC_STEP 10 //速度增加时慢加速速度变化步长
#define DATA_ESPEED_DEC_STEP 20 //方向改变时急减速速度变化步长
#define DATA_ESPEED_APPR_SPEED_MIN 10 //最小逼近速度
#define DATA_ESPEED_APPR_SPEED_MIN 25 //最小逼近速度
#define DATA_ESPEED_HYSTERESIS 80 //回差
/*** 控制结构 ***/
......
......@@ -2,47 +2,214 @@
#include "Data_TPMS\Data_TPMS.h"
_TPMS_Display TPMS;
uint32_t LearnTime_Count = 0;
uint32_t LearnTime_Count1 = 0;
void Data_TPMS_KL30_Init ( void )
{
uint32_t TPMS_L[2] = {0,0};
Data_User_EEPROM_Read(EM_MenuData_TPMS_LEARN, TPMS_L, 2u);
uint8_t TPMS_L[2] = {0,0};
Data_User_EEPROM_Read(EM_MenuData_TPMS_LEARN, (uint32_t*)TPMS_L, 1u);
MenuData.TPMS_Front_Learn = TPMS_L[0];
MenuData.TPMS_Rear_Learn = TPMS_L[1];
//MenuData.TPMS_Front_FirstLearn_Flag = TPMS_L[2];
//MenuData.TPMS_Rear_FirstLearn_Flag = TPMS_L[3];
TPMS.Front_Press_Value = 0;
TPMS.Rear_Press_Value = 0;
TPMS.Front_TPMS_Valid = 0;
TPMS.Rear_TPMS_Valid = 0;
TPMS.TPMS_Warning = 0;
TPMS.TPMS_Unit = Get_Dis_Tpms_Unit();
TPMS.TPMS_Front_Learn = MenuData.TPMS_Front_Learn;
TPMS.TPMS_Rear_Learn = MenuData.TPMS_Rear_Learn;
TPMS.TPMS_Front_FirstLearn_Flag = MenuData.TPMS_Front_FirstLearn_Flag;
TPMS.TPMS_Rear_FirstLearn_Flag = MenuData.TPMS_Rear_FirstLearn_Flag;
}
void Data_TPMS_KL15_WAKE_UP_Init ( void )
{
uint32_t TPMS_L[2] = {0,0};
Data_User_EEPROM_Read(EM_MenuData_TPMS_LEARN, TPMS_L, 2u);
uint8_t TPMS_L[2] = {0,0};
Data_User_EEPROM_Read(EM_MenuData_TPMS_LEARN, (uint32_t*)TPMS_L, 1);
MenuData.TPMS_Front_Learn = TPMS_L[0];
MenuData.TPMS_Rear_Learn = TPMS_L[1];
//MenuData.TPMS_Front_FirstLearn_Flag = TPMS_L[2];
//MenuData.TPMS_Rear_FirstLearn_Flag = TPMS_L[3];
TPMS.TPMS_Front_Learn = MenuData.TPMS_Front_Learn;
TPMS.TPMS_Rear_Learn = MenuData.TPMS_Rear_Learn;
TPMS.TPMS_Front_FirstLearn_Flag = MenuData.TPMS_Front_FirstLearn_Flag;
TPMS.TPMS_Rear_FirstLearn_Flag = MenuData.TPMS_Rear_FirstLearn_Flag;
}
void Data_TPMS_Processing_Service ( void )
{
uint16_t Front_TPMS = 0;
uint16_t Rear_TPMS = 0;
uint32_t TPMS_L[2] = {0,0};
TPMS.TPMS_Front_Learn = Get_CAN_CH0_ID_341_Sig_Front_LearningStatus();
TPMS.TPMS_Rear_Learn = Get_CAN_CH0_ID_341_Sig_Rear_LearningStatus();
uint8_t TPMS_L[2] = {0,0};
if(CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x341_Msg_Count) != CAN_SIG_LOST)
{
TPMS.TPMS_Front_Learn = Get_CAN_CH0_ID_341_Sig_Front_LearningStatus();
TPMS.TPMS_Rear_Learn = Get_CAN_CH0_ID_341_Sig_Rear_LearningStatus();
}
else
{
TPMS.TPMS_Front_Learn = MenuData.TPMS_Front_Learn;
TPMS.TPMS_Rear_Learn = MenuData.TPMS_Rear_Learn;
}
if(TPMS.TPMS_Front_Learn == 0x0)
{
if(LearnTime_Count <= 6000)
{
LearnTime_Count++;
TPMS.TPMS_Front_Learn = Unstudied;
}
else
{
if ((MenuData.TPMS_Front_Learn != 0x2) && (MenuData.TPMS_Front_Learn != 0x3) )
{
TPMS.TPMS_Front_Learn = LearningFailure;
}
else
{
TPMS.TPMS_Front_Learn = MenuData.TPMS_Front_Learn;
}
}
}
else if(TPMS.TPMS_Front_Learn == 0x1)
{
if(LearnTime_Count <= 6000)
{
LearnTime_Count++;
TPMS.TPMS_Front_Learn = Learning;
}
else
{
if ((MenuData.TPMS_Front_Learn != 0x2) && (MenuData.TPMS_Front_Learn != 0x3) )
{
TPMS.TPMS_Front_Learn = LearningFailure;
}
else
{
TPMS.TPMS_Front_Learn = MenuData.TPMS_Front_Learn;
}
}
}
else if (TPMS.TPMS_Front_Learn == 0x2)
{
LearnTime_Count = 0;
if((Get_CAN_CH0_ID_373_Sig_Front_id() != 0) && (Get_CAN_CH0_ID_373_Sig_Front_id() != 0xFFFFFFFF))
{
TPMS.TPMS_Front_Learn = LearningCompletion;
}
else
{
;
}
}
else if (TPMS.TPMS_Front_Learn == 0x3)
{
LearnTime_Count = 0;
TPMS.TPMS_Front_Learn = LearningFailure;
}
else
{
LearnTime_Count = 0;
TPMS.TPMS_Front_Learn = MenuData.TPMS_Front_Learn;
}
if(TPMS.TPMS_Rear_Learn == 0x0)
{
if(LearnTime_Count1 <= 6000)
{
LearnTime_Count1++;
TPMS.TPMS_Rear_Learn = Unstudied;
}
else
{
if ((MenuData.TPMS_Rear_Learn != 0x2) && (MenuData.TPMS_Rear_Learn != 0x3) )
{
TPMS.TPMS_Rear_Learn = LearningFailure;
}
else
{
TPMS.TPMS_Rear_Learn = MenuData.TPMS_Rear_Learn;
}
}
}
else if(TPMS.TPMS_Rear_Learn == 0x1)
{
if(LearnTime_Count1 <= 6000)
{
LearnTime_Count1++;
TPMS.TPMS_Rear_Learn = Learning;
}
else
{
if ((MenuData.TPMS_Rear_Learn != 0x2) && (MenuData.TPMS_Rear_Learn != 0x3) )
{
TPMS.TPMS_Rear_Learn = LearningFailure;
}
else
{
TPMS.TPMS_Rear_Learn = MenuData.TPMS_Front_Learn;
}
}
}
else if (TPMS.TPMS_Rear_Learn == 0x2)
{
LearnTime_Count1 = 0;
if((Get_CAN_CH0_ID_373_Sig_Rear_id() != 0) && (Get_CAN_CH0_ID_373_Sig_Rear_id() != 0xFFFFFFFF))
{
TPMS.TPMS_Rear_Learn = LearningCompletion;
}
else
{
;
}
}
else if (TPMS.TPMS_Rear_Learn == 0x3)
{
LearnTime_Count1 = 0;
TPMS.TPMS_Rear_Learn = LearningFailure;
}
else
{
LearnTime_Count1 = 0;
TPMS.TPMS_Rear_Learn = MenuData.TPMS_Front_Learn;
}
if((TPMS.TPMS_Front_Learn != MenuData.TPMS_Front_Learn) || (TPMS.TPMS_Rear_Learn != MenuData.TPMS_Rear_Learn))
{
TPMS_L[0] = TPMS.TPMS_Front_Learn;
TPMS_L[1] = TPMS.TPMS_Rear_Learn;
Data_User_EEPROM_Write(EM_MenuData_TPMS_LEARN, TPMS_L, 2u);
MenuData.TPMS_Front_Learn = TPMS.TPMS_Front_Learn;
MenuData.TPMS_Rear_Learn = TPMS.TPMS_Rear_Learn;
if(TPMS.TPMS_Front_Learn != MenuData.TPMS_Front_Learn)
{
TPMS.TPMS_Front_FirstLearn_Flag = 1;
}
if(TPMS.TPMS_Rear_Learn != MenuData.TPMS_Rear_Learn)
{
TPMS.TPMS_Rear_FirstLearn_Flag = 1;
}
if((TPMS.TPMS_Front_Learn == 0x2) || (TPMS.TPMS_Front_Learn == 0x3))
{
MenuData.TPMS_Front_Learn = TPMS.TPMS_Front_Learn;
}
if((TPMS.TPMS_Rear_Learn == 0x2) || (TPMS.TPMS_Rear_Learn == 0x3))
{
MenuData.TPMS_Rear_Learn = TPMS.TPMS_Rear_Learn;
}
if((TPMS.TPMS_Front_Learn == 0x2) || (TPMS.TPMS_Front_Learn == 0x3) || (TPMS.TPMS_Rear_Learn == 0x2) || (TPMS.TPMS_Rear_Learn == 0x3))
{
TPMS_L[0] = MenuData.TPMS_Front_Learn;
TPMS_L[1] = MenuData.TPMS_Rear_Learn;
Data_User_EEPROM_Write(EM_MenuData_TPMS_LEARN, (uint32_t*)TPMS_L, 1u);
}
}
TPMS.TPMS_Unit = Get_Dis_Tpms_Unit();
Front_TPMS = Get_CAN_CH0_ID_341_Sig_Front_Pressure();
Rear_TPMS = Get_CAN_CH0_ID_341_Sig_Rear_Pressure();
......@@ -61,10 +228,11 @@ void Data_TPMS_Processing_Service ( void )
{
if((Front_TPMS == 0xFF) || (Rear_TPMS == 0xFF))
{
if((Front_TPMS == 0xFF) && (Rear_TPMS != 0xFF))
{
TPMS.Front_TPMS_Valid = 0;
TPMS.Rear_TPMS_Valid = 2;
TPMS.Rear_TPMS_Valid = 1;
TPMS.Front_Press_Value = 990;
TPMS.Rear_Press_Value = Rear_TPMS * 275;
TPMS.Rear_Press_Value /= 102 ;
......@@ -83,7 +251,7 @@ void Data_TPMS_Processing_Service ( void )
}
else if ((Front_TPMS != 0xFF) && (Rear_TPMS == 0xFF))
{
TPMS.Front_TPMS_Valid = 2;
TPMS.Front_TPMS_Valid = 1;
TPMS.Rear_TPMS_Valid = 0;
TPMS.Rear_Press_Value = 990;
TPMS.Front_Press_Value = Front_TPMS *275 ;
......@@ -105,15 +273,15 @@ void Data_TPMS_Processing_Service ( void )
{
TPMS.Front_Press_Value = 990;
TPMS.Rear_Press_Value = 990;
TPMS.TPMS_Warning = 0;
//TPMS.TPMS_Warning = 0;
TPMS.Front_TPMS_Valid = 0;
TPMS.Rear_TPMS_Valid = 0;
}
}
else
{
TPMS.Front_TPMS_Valid = 2;
TPMS.Rear_TPMS_Valid = 2;
TPMS.Front_TPMS_Valid = 1;
TPMS.Rear_TPMS_Valid = 1;
TPMS.Front_Press_Value = Front_TPMS * 275 ;
TPMS.Front_Press_Value /= 102 ;
if(TPMS.Front_Press_Value > 990)
......@@ -138,54 +306,56 @@ void Data_TPMS_Processing_Service ( void )
}
}
if(MenuData.TPMS_Front_Learn == Unstudied)
if(TPMS.TPMS_Front_Learn == Unstudied)
{
TPMS.Front_TPMS_Valid = Unstudied;
TPMS.TPMS_Front_FirstLearn_Flag = Unstudied;
}
else if(MenuData.TPMS_Front_Learn == Learning)
else if(TPMS.TPMS_Front_Learn == Learning)
{
TPMS.Front_TPMS_Valid = Learning;
TPMS.TPMS_Front_FirstLearn_Flag = Learning;
}
else if(MenuData.TPMS_Front_Learn == LearningCompletion)
else if(TPMS.TPMS_Front_Learn == LearningCompletion)
{
TPMS.Front_TPMS_Valid = LearningCompletion;
TPMS.Rear_Press_Value = 990;
TPMS.TPMS_Front_FirstLearn_Flag = LearningCompletion;
}
else if(MenuData.TPMS_Front_Learn == LearningFailure)
else if(TPMS.TPMS_Front_Learn == LearningFailure)
{
TPMS.Front_TPMS_Valid = LearningFailure;
TPMS.TPMS_Front_FirstLearn_Flag = LearningFailure;
TPMS.Front_Press_Value = 990;
}
else
{
;
}
if(MenuData.TPMS_Rear_Learn == Unstudied)
if(TPMS.TPMS_Rear_Learn == Unstudied)
{
TPMS.Rear_TPMS_Valid = Unstudied;
TPMS.TPMS_Rear_FirstLearn_Flag = Unstudied;
}
else if(MenuData.TPMS_Rear_Learn == Learning)
else if(TPMS.TPMS_Rear_Learn == Learning)
{
TPMS.Rear_TPMS_Valid = Learning;
TPMS.TPMS_Rear_FirstLearn_Flag = Learning;
}
else if(MenuData.TPMS_Rear_Learn == LearningCompletion)
else if(TPMS.TPMS_Rear_Learn == LearningCompletion)
{
TPMS.Rear_TPMS_Valid = LearningCompletion;
TPMS.Front_Press_Value = 990;
TPMS.TPMS_Rear_FirstLearn_Flag = LearningCompletion;
}
else if(MenuData.TPMS_Rear_Learn == LearningFailure)
else if(TPMS.TPMS_Rear_Learn == LearningFailure)
{
TPMS.Rear_TPMS_Valid = LearningFailure;
TPMS.TPMS_Rear_FirstLearn_Flag = LearningFailure;
TPMS.Rear_Press_Value = 990;
}
else
{
;
}
if ((MenuData.TPMS_Rear_Learn != LearningCompletion) && (MenuData.TPMS_Front_Learn != LearningCompletion))
{
TPMS.TPMS_Warning = 0;
}
//if ((MenuData.TPMS_Rear_Learn != LearningCompletion) && (MenuData.TPMS_Front_Learn != LearningCompletion))
//{
// TPMS.TPMS_Warning = 0;
//}
}
else
......@@ -215,7 +385,7 @@ uint8_t Get_Led_TPMS_Waring (void)
return TPMS.TPMS_Warning;
}
/*0:未学习,无效,常显-- 1:学习中,无效,闪烁-- 2:学习完成,有效,按实际胎压数值显示 3:学习失败,无效,最大值闪烁显示*/
/*0:无效,常显-- 1:有效,按实际胎压数值显示 */
uint8_t Get_Front_TPMS_Sig_Vaild (void)
{
return TPMS.Front_TPMS_Valid;
......@@ -282,3 +452,15 @@ uint16_t Get_Front_TPMS_TX (void)
}
return value;
}
/*前轮胎压学习结果 0-未学习“--”常显 1-学习中“--”闪烁 2-学习成功,正常显示数值 3-学习失败,闪烁显示最大值99*/
uint8_t Get_Front_FirstLearn_Flag (void)
{
return TPMS.TPMS_Front_FirstLearn_Flag;
}
/*后轮胎压学习结果 0-未学习“--”常显 1-学习中“--”闪烁 2-学习成功,正常显示数值 3-学习失败,闪烁显示最大值99*/
uint8_t Get_Rear_FirstLearn_Flag (void)
{
return TPMS.TPMS_Rear_FirstLearn_Flag;
}
......@@ -10,8 +10,10 @@ typedef struct __attribute__((aligned(4)))
uint8_t Rear_TPMS_Valid;
uint8_t TPMS_Warning;
uint8_t TPMS_Unit;
uint32_t TPMS_Front_Learn;
uint32_t TPMS_Rear_Learn;
uint8_t TPMS_Front_Learn;
uint8_t TPMS_Rear_Learn;
uint8_t TPMS_Front_FirstLearn_Flag;
uint8_t TPMS_Rear_FirstLearn_Flag;
}_TPMS_Display;
typedef enum
......@@ -32,4 +34,6 @@ uint16_t Get_Rear_TPMS_Sig_Value (void);
uint16_t Get_Rear_TPMS_TX (void);
uint16_t Get_Front_TPMS_TX (void);
void Data_TPMS_KL15_WAKE_UP_Init ( void );
uint8_t Get_Front_FirstLearn_Flag (void);
uint8_t Get_Rear_FirstLearn_Flag (void);
#endif
#include "FaultCode\FaultCode.h"
#include "Application.h"
uint8_t DTC_Amnt_Number = 0;
uint8_t DTC_Amnt_Number_Count = 0;
uint8_t FaultCode_Number = 0;
uint8_t DTC_Amnt_Number = 0;
uint8_t DTC_Amnt_Number_Count = 0;
uint8_t FaultCode_Number = 0;
uint32_t DTC_Data[FualtCodeMax] = {0};
uint32_t DTC_Data_Count[FualtCodeMax] = {0};
uint32_t FaultCode_Data[FualtCodeMax] = {0};
uint32_t DTC_Data[FualtCodeMax] = {0};
uint32_t DTC_Data_Count[FualtCodeMax] = {0};
uint32_t FaultCode_Data[FualtCodeMax] = {0};
uint32_t u32Countbuf = 0UL;
void Fault_Code_Receive(uint8_t CopyData[])
{
uint8_t i = 0;
ECU_FaultCode_Processing_Service();
//ECU_FaultCode_Processing_Service();
}
uint8_t FaultCode_Compare(uint32_t FaultCode, uint32_t* CodeList, uint8_t len)
uint8_t FaultCode_Compare(uint32_t FaultCode, uint32_t *CodeList, uint8_t len)
{
uint8_t i = 0;
uint8_t result = 0;
for(i = 0; i < len; i++)
uint8_t result = 0;
for (i = 0; i < len; i++)
{
if(FaultCode == CodeList[i])
if (FaultCode == CodeList[i])
{
result = 1;
}
......@@ -50,7 +50,10 @@ static void Fault_Code_App_SortNByte(uint32_t *SortData, uint8_t len)
}
}
}
void ECU_FaultCode_Processing_Service ( void )
uint32_t u32YZHDArray[200];
uint32_t u32YZHDArraycount = 0;
uint32_t u32YZHDCount=0;
void ECU_FaultCode_Processing_Service(void)
{
uint8_t DTCH1 = 0;
uint8_t DTCM1 = 0;
......@@ -58,20 +61,21 @@ void ECU_FaultCode_Processing_Service ( void )
uint8_t DTCM2 = 0;
uint32_t DTC1 = 0;
uint32_t DTC2 = 0;
uint32_t i = 0;
if ( Common_Get_IG_Sts() == COMMON_POWER_ON )
uint32_t i = 0;
if (Common_Get_IG_Sts() == COMMON_POWER_ON)
{
if(CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x402_Msg_Count) == CAN_SIG_LOST)
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x402_Msg_Count) == CAN_SIG_LOST)
{
memset (FaultCode_Data, 0, FaultCode_Number);
memset(FaultCode_Data, 0, FaultCode_Number);
FaultCode_Number = 0;
}
else
{
DTCH1 = Get_CAN_CH0_ID_402_Sig_ECU_DTCH1();
DTCM1 = Get_CAN_CH0_ID_402_Sig_ECU_DTCM1();
DTCH2 = Get_CAN_CH0_ID_402_Sig_ECU_DTCH2();
DTCM2 = Get_CAN_CH0_ID_402_Sig_ECU_DTCM2();
u32YZHDCount = 0;
DTCH1 = Get_CAN_CH0_ID_402_Sig_ECU_DTCH1();
DTCM1 = Get_CAN_CH0_ID_402_Sig_ECU_DTCM1();
DTCH2 = Get_CAN_CH0_ID_402_Sig_ECU_DTCH2();
DTCM2 = Get_CAN_CH0_ID_402_Sig_ECU_DTCM2();
DTC_Amnt_Number = Get_CAN_CH0_ID_402_Sig_ECU_DTCAmnt();
if (((DTCH1 & 0xF0) >> 4) >= 0xA)
......@@ -80,7 +84,7 @@ void ECU_FaultCode_Processing_Service ( void )
}
else
{
DTC1 |= (DTCH1 & 0xF0) >> 4 ;
DTC1 |= (DTCH1 & 0xF0) >> 4;
}
DTC1 <<= 8;
if ((DTCH1 & 0xF) >= 0xA)
......@@ -89,17 +93,17 @@ void ECU_FaultCode_Processing_Service ( void )
}
else
{
DTC1 |= DTCH1 & 0xF ;
DTC1 |= DTCH1 & 0xF;
}
DTC1 <<= 8;
if (((DTCM1 & 0xF0) >> 4) >= 0xA)
{
DTC1 |= ((DTCM1 & 0xF0) >> 4) + 3;
}
else
{
DTC1 |= (DTCM1 & 0xF0) >> 4 ;
DTC1 |= (DTCM1 & 0xF0) >> 4;
}
DTC1 <<= 8;
if ((DTCM1 & 0xF) >= 0xA)
......@@ -108,7 +112,7 @@ void ECU_FaultCode_Processing_Service ( void )
}
else
{
DTC1 |= DTCM1 & 0xF ;
DTC1 |= DTCM1 & 0xF;
}
if (((DTCH2 & 0xF0) >> 4) >= 0xA)
......@@ -117,7 +121,7 @@ void ECU_FaultCode_Processing_Service ( void )
}
else
{
DTC2 |= (DTCH2 & 0xF0) >> 4 ;
DTC2 |= (DTCH2 & 0xF0) >> 4;
}
DTC2 <<= 8;
if ((DTCH2 & 0xF) >= 0xA)
......@@ -126,17 +130,17 @@ void ECU_FaultCode_Processing_Service ( void )
}
else
{
DTC2 |= DTCH2 & 0xF ;
DTC2 |= DTCH2 & 0xF;
}
DTC2 <<= 8;
if (((DTCM2 & 0xF0) >> 4) >= 0xA)
{
DTC2 |= ((DTCM2 & 0xF0) >> 4) + 3;
}
else
{
DTC2 |= (DTCM2 & 0xF0) >> 4 ;
DTC2 |= (DTCM2 & 0xF0) >> 4;
}
DTC2 <<= 8;
if ((DTCM2 & 0xF) >= 0xA)
......@@ -145,10 +149,9 @@ void ECU_FaultCode_Processing_Service ( void )
}
else
{
DTC2 |= DTCM2 & 0xF ;
DTC2 |= DTCM2 & 0xF;
}
if (DTC_Amnt_Number == 0)
{
for (i = 0; i < FualtCodeMax; i++)
......@@ -159,29 +162,29 @@ void ECU_FaultCode_Processing_Service ( void )
}
DTC_Amnt_Number_Count = 0;
}
if(DTC_Amnt_Number_Count < DTC_Amnt_Number)
if (DTC_Amnt_Number_Count < DTC_Amnt_Number)
{
if ((DTC1 != 0) && (FaultCode_Compare(DTC1, &DTC_Data_Count[0], DTC_Amnt_Number_Count) == 0))
{
DTC_Data_Count[DTC_Amnt_Number_Count] = DTC1;
DTC_Amnt_Number_Count ++;
DTC_Amnt_Number_Count++;
Fault_Code_App_SortNByte(DTC_Data_Count, DTC_Amnt_Number_Count);
}
}
if(DTC_Amnt_Number_Count < DTC_Amnt_Number)
if (DTC_Amnt_Number_Count < DTC_Amnt_Number)
{
if ((DTC2 != 0) && (FaultCode_Compare(DTC2, &DTC_Data_Count[0], DTC_Amnt_Number_Count) == 0))
{
DTC_Data_Count[DTC_Amnt_Number_Count] = DTC2;
DTC_Amnt_Number_Count ++;
DTC_Amnt_Number_Count++;
Fault_Code_App_SortNByte(DTC_Data_Count, DTC_Amnt_Number_Count);
}
}
if(DTC_Amnt_Number_Count > DTC_Amnt_Number)
if (DTC_Amnt_Number_Count > DTC_Amnt_Number)
{
for (i = 0; i < FualtCodeMax; i++)
{
//FaultCode_Data[i] = 0;
// FaultCode_Data[i] = 0;
DTC_Data_Count[i] = 0;
DTC_Data[i] = 0;
}
......@@ -189,7 +192,7 @@ void ECU_FaultCode_Processing_Service ( void )
}
if (DTC_Amnt_Number_Count == DTC_Amnt_Number)
{
for(i = 0; i < DTC_Amnt_Number_Count; i++)
for (i = 0; i < DTC_Amnt_Number_Count; i++)
{
DTC_Data[i] = DTC_Data_Count[i];
DTC_Data_Count[i] = 0;
......@@ -198,21 +201,25 @@ void ECU_FaultCode_Processing_Service ( void )
FaultCode_Number = DTC_Amnt_Number;
DTC_Amnt_Number_Count = 0;
for(i = 0; i < FaultCode_Number; i++)
for (i = 0; i < FaultCode_Number; i++)
{
if(FaultCode_Data[i] != DTC_Data[i])
if (FaultCode_Data[i] != DTC_Data[i])
{
FaultCode_Data[i] = DTC_Data[i];
Fault_Code_App_SortNByte(FaultCode_Data, FaultCode_Number);
}
}
}
if (u32YZHDArraycount < 200)
{
u32YZHDArray[u32YZHDArraycount++] = u32YZHDCount;
}
}
}
else
{
memset (FaultCode_Data, 0, FaultCode_Number);
memset(FaultCode_Data, 0, FaultCode_Number);
FaultCode_Number = 0;
}
}
......@@ -12,4 +12,5 @@ void ECU_FaultCode_Processing_Service ( void );
extern void Fault_Code_Receive(uint8_t CopyData[]);
static void Fault_Code_App_SortNByte(uint32_t *SortData, uint8_t len);
static void Fault_Code_App_Swap(uint32_t *pData1, uint32_t *pData2);
extern uint32_t u32YZHDCount;
#endif
#include "code.h"
static _st_Init FaultCodeInit;
static uint16_t u16FaultCodeDtcCount = 0;
static uint16_t u16FaultCodeDtcCountBack = 0;
static uint16_t u16FaultCodeDtcCounttemp = 0;
static _st_FaultCode stFaultCode[MaxFaultCode] = {0};
static _st_FaultCode stFaultCodeBack[MaxFaultCode] = {0};
static _st_FaultCode stFaultCodetemp[MaxFaultCode] = {0};
static uint8_t u8FaultCodeValid = 0;
uint32_t Get_FaultCodeDtc1(void)
{
uint32_t u16FaultCode = 0x0000;
uint8_t DTCH1 = 0;
uint8_t DTCM1 = 0;
uint32_t DTC1 = 0;
DTCH1 = Get_CAN_CH0_ID_402_Sig_ECU_DTCH1();
DTCM1 = Get_CAN_CH0_ID_402_Sig_ECU_DTCM1();
if (((DTCH1 & 0xF0) >> 4) >= 0xA)
{
DTC1 |= ((DTCH1 & 0xF0) >> 4) + 3;
}
else
{
DTC1 |= (DTCH1 & 0xF0) >> 4;
}
DTC1 <<= 8;
if ((DTCH1 & 0xF) >= 0xA)
{
DTC1 |= (DTCH1 & 0xF) + 3;
}
else
{
DTC1 |= DTCH1 & 0xF;
}
DTC1 <<= 8;
if (((DTCM1 & 0xF0) >> 4) >= 0xA)
{
DTC1 |= ((DTCM1 & 0xF0) >> 4) + 3;
}
else
{
DTC1 |= (DTCM1 & 0xF0) >> 4;
}
DTC1 <<= 8;
if ((DTCM1 & 0xF) >= 0xA)
{
DTC1 |= (DTCM1 & 0xF) + 3;
}
else
{
DTC1 |= DTCM1 & 0xF;
}
if (DTC1 == 0)
{
return 0XFFFF;
}
u16FaultCode = DTC1;
return u16FaultCode;
}
uint32_t Get_FaultCodeDtc2(void)
{
uint32_t u16FaultCode = 0x0000;
uint8_t DTCH2 = 0;
uint8_t DTCM2 = 0;
uint32_t DTC2 = 0;
DTCH2 = Get_CAN_CH0_ID_402_Sig_ECU_DTCH2();
DTCM2 = Get_CAN_CH0_ID_402_Sig_ECU_DTCM2();
if (((DTCH2 & 0xF0) >> 4) >= 0xA)
{
DTC2 |= ((DTCH2 & 0xF0) >> 4) + 3;
}
else
{
DTC2 |= (DTCH2 & 0xF0) >> 4;
}
DTC2 <<= 8;
if ((DTCH2 & 0xF) >= 0xA)
{
DTC2 |= (DTCH2 & 0xF) + 3;
}
else
{
DTC2 |= DTCH2 & 0xF;
}
DTC2 <<= 8;
if (((DTCM2 & 0xF0) >> 4) >= 0xA)
{
DTC2 |= ((DTCM2 & 0xF0) >> 4) + 3;
}
else
{
DTC2 |= (DTCM2 & 0xF0) >> 4;
}
DTC2 <<= 8;
if ((DTCM2 & 0xF) >= 0xA)
{
DTC2 |= (DTCM2 & 0xF) + 3;
}
else
{
DTC2 |= DTCM2 & 0xF;
}
if (DTC2 == 0)
{
return 0XFFFF;
}
u16FaultCode = DTC2;
return u16FaultCode;
}
uint16_t Get_FaultCodeNum(void)
{
uint16_t u16FaultCode = 0x0000;
u16FaultCode = Get_CAN_CH0_ID_402_Sig_ECU_DTCAmnt();
return u16FaultCode;
}
uint16_t Get_FaultCodeValid(void)
{
return 1;
}
/**
* @brief 故障码初始化函数
*/
void FaultCode_Init(void)
{
uint16_t i = 0;
for (i = 0; i < MaxFaultCode; i++)
{
stFaultCode[i].u16FaultCode = 0;
stFaultCode[i].u16FaultCodeCount = 0;
stFaultCodeBack[i].u16FaultCode = 0;
stFaultCodeBack[i].u16FaultCodeCount = 0;
stFaultCodetemp[i].u16FaultCode = 0;
stFaultCodetemp[i].u16FaultCodeCount = 0;
}
FaultCodeInit.callbacks[DTC1] = Get_FaultCodeDtc1;
FaultCodeInit.callbacks[DTC2] = Get_FaultCodeDtc2;
FaultCodeInit.callbacks[DTC3] = NULL;
FaultCodeInit.FaultCodeVaildCbk = Get_FaultCodeValid;
FaultCodeInit.FaultCodeNumCbk = Get_FaultCodeNum;
u16FaultCodeDtcCountBack = 0;
u8FaultCodeValid = 0;
}
/**
* @brief 查询当前故障码是否存在
* @param u32FaultCode 故障码
* @param FaultCodeGrpup 故障码组
* @param len 故障码组长度
* @return 0:存在 1:不存在 2:无效故障码不存储
*/
uint8_t FaultCode_Check(const uint32_t u32FaultCode, const _st_FaultCode *FaultCodeGrpup, const uint16_t len)
{
uint16_t i = 0;
uint8_t Result = 1;
if ((u32FaultCode == 0XFFFF) || (u32FaultCode == 0))
{
return 2;
}
if (len == 1)
{
return 1;
}
for (i = 0; i < len; i++)
{
if (u32FaultCode == FaultCodeGrpup[i].u16FaultCode)
{
Result = 0;
return Result;
}
}
return Result;
}
/**
* 添加新的故障码到故障码数组中。
* @param faultCodes 指向故障码数组的指针。
* @param count 指向当前已添加故障码数量的指针。
* @param faultCode 要添加的故障码。
* @param len 实际故障码数量,用于检测数组中是否存在当前故障码
* @note 如果故障码数组已满或者新的故障码已存在,则不添加。
*/
void AddNewFaultCode(_st_FaultCode *faultCodes, uint16_t *count, uint32_t faultCode, uint16_t len)
{
if (*count >= MaxFaultCode || FaultCode_Check(faultCode, faultCodes, len) != 1)
{
return; // 数组已满或故障码已存在,不进行添加
}
faultCodes[*count].u16FaultCode = faultCode;
(*count)++;
}
/**
* @brief 故障码服务函数
* @param Cycle 建议10ms调用 防止故障码数量过多 接收缓慢
*/
void FaultCode_Service(uint16_t Cycle)
{
uint32_t Dtc1 = 0XFFFF;
uint32_t Dtc2 = 0XFFFF;
uint32_t Dtc3 = 0XFFFF;
uint16_t FaultCodeSum = 0;
uint16_t i = 0;
uint32_t tempFaultCode = 0;
uint16_t Vaild = 0;
if (FaultCodeInit.callbacks[DTC1] != NULL)
{
Dtc1 = FaultCodeInit.callbacks[DTC1]();
}
if (FaultCodeInit.callbacks[DTC2] != NULL)
{
Dtc2 = FaultCodeInit.callbacks[DTC2]();
}
if (FaultCodeInit.callbacks[DTC3] != NULL)
{
Dtc3 = FaultCodeInit.callbacks[DTC3]();
}
if (FaultCodeInit.FaultCodeVaildCbk != NULL)
{
Vaild = FaultCodeInit.FaultCodeVaildCbk();
}
if (FaultCodeInit.FaultCodeNumCbk != NULL)
{
FaultCodeSum = FaultCodeInit.FaultCodeNumCbk();
}
if (FaultCodeSum > MaxFaultCode)
{
FaultCodeSum = MaxFaultCode;
}
if ((Vaild) && (FaultCodeSum > 0))
{
if (u16FaultCodeDtcCountBack < FaultCodeSum) /* 当前存储故障码是否小于实际故障码数量 */
{
/* 存储故障码并检查数组中是否存在 */
AddNewFaultCode(stFaultCodeBack, &u16FaultCodeDtcCountBack, Dtc1, FaultCodeSum);
AddNewFaultCode(stFaultCodeBack, &u16FaultCodeDtcCountBack, Dtc2, FaultCodeSum);
}
/* 接收故障码大于0后进行显示 */
if (u16FaultCodeDtcCountBack > 0)
{
/* 当前存储故障码等于实际故障码数量 用于实时更新故障码*/
if (u16FaultCodeDtcCountBack == FaultCodeSum)
{
u16FaultCodeDtcCountBack = 0;
}
/* 更新故障码显示 */
for (i = 0; i < FaultCodeSum; i++)
{
if (stFaultCodetemp[i].u16FaultCode != stFaultCodeBack[i].u16FaultCode)
{
stFaultCodetemp[i].u16FaultCode = stFaultCodeBack[i].u16FaultCode;
stFaultCode[i].u16FaultCode = stFaultCodetemp[i].u16FaultCode;
}
}
u8FaultCodeValid = 1;
/* 大于故障码数量的数组进行清0处理 */
for (i = FaultCodeSum; i < MaxFaultCode; i++)
{
stFaultCode[i].u16FaultCode = 0;
stFaultCodetemp[i].u16FaultCode = 0;
stFaultCodeBack[i].u16FaultCode = 0;
}
}
if (stFaultCode[0].u16FaultCode != 0XFFFF)
{
/* 故障码计时 */
if (stFaultCode[0].u16FaultCodeCount < FaultCodeCount)
{
stFaultCode[0].u16FaultCodeCount += Cycle;
}
else
{
/* 计时结束 更新位置 */
stFaultCode[0].u16FaultCodeCount = 0;
tempFaultCode = stFaultCode[0].u16FaultCode;
if (FaultCodeSum > 1)
{
for (i = 0; i < FaultCodeSum - 1; i++)
{
stFaultCode[i].u16FaultCode = stFaultCode[i + 1].u16FaultCode;
}
stFaultCode[FaultCodeSum - 1].u16FaultCode = tempFaultCode;
}
}
}
}
else
{
u8FaultCodeValid = 0;
for (i = 0; i < MaxFaultCode; i++)
{
stFaultCode[i].u16FaultCode = 0;
stFaultCode[i].u16FaultCodeCount = 0;
stFaultCodeBack[i].u16FaultCode = 0;
stFaultCodeBack[i].u16FaultCodeCount = 0;
stFaultCodetemp[i].u16FaultCode = 0;
stFaultCodetemp[i].u16FaultCodeCount = 0;
}
u16FaultCodeDtcCountBack = 0;
}
}
/**
* @brief 获取当前故障码
*/
uint32_t Get_Current_FaultCode(void)
{
return stFaultCode[0].u16FaultCode;
}
uint8_t Get_FaultCode_Valid(void)
{
return u8FaultCodeValid;
}
#ifndef CODE_H
#define CODE_H
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "Application.h"
/*故障码类型A can报文轮询发送方式*/
#define FaultCodeType_A 1
#define FaultCodeType FaultCodeType_A
#define MaxFaultCode 72
#define FaultCodeCount 5000
typedef enum
{
DTC1,
DTC2,
DTC3,
NUM_FAULT_TYPES,
} FaultCodeType_Num;
typedef uint32_t (*FaultCodeCallback)(void); /* 故障码回调函数 */
typedef uint16_t (*FaultCodeNumback)(void); /* 故障码个数回调函数 */
typedef uint16_t (*FaultCodeValidback)(void); /* 故障码有效回调函数 */
typedef struct
{
uint32_t u16FaultCode; /* 故障码 */
uint16_t u16FaultCodeCount; /* 故障码总数 */
} _st_FaultCode;
typedef struct
{
FaultCodeCallback callbacks[NUM_FAULT_TYPES];
FaultCodeNumback FaultCodeNumCbk;
FaultCodeValidback FaultCodeVaildCbk;
} _st_Init;
extern void FaultCode_Service(uint16_t Cycle);
extern void FaultCode_Init(void);
extern uint32_t Get_Current_FaultCode(void);
extern uint8_t Get_FaultCode_Valid(void);
#endif
\ No newline at end of file
......@@ -18,5 +18,6 @@ extern uint8_t Get_Fuel_Disp_Byte(void);
extern uint8_t Get_CurFuelSetp(void);
extern FuelSensorSts_t Get_Fuel_Sensor_State(void);
uint16_t Get_Fuel_RES(void);
void Fuel_R_Cal(uint8_t deltaTime);
#endif
......@@ -129,7 +129,7 @@ void Gauge_Service(void)
SEG_SET_CoolantDial(1, GET_DataCoolantTempSegDisp(), GET_DataCoolantTempValueDisp(), GET_DataCollantTempSegValid());
SEG_SET_Voltage_NUM(1, Get_Battery_Voltage());
#if(IC_Current == TY200_080000b_ty)
SEG_SET_TPMS_NUM(1, Get_Front_TPMS_Sig_Value(), Get_Rear_TPMS_Sig_Value(), Get_Dis_Tpms_Unit(),Get_Front_TPMS_Sig_Vaild(), Get_Rear_TPMS_Sig_Vaild());
SEG_SET_TPMS_DISPLAY(1, Get_Front_TPMS_Sig_Value(), Get_Rear_TPMS_Sig_Value(), Get_Dis_Tpms_Unit(),Get_Front_TPMS_Sig_Vaild(), Get_Rear_TPMS_Sig_Vaild());
#endif
SEG_SET_Navigation_STS(Get_Navigation_St_Dis(),Get_Navigation_Code_Dis(),Get_Navigation_Mileage_Dis());
......
......@@ -366,7 +366,9 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
{
switch(m_Code)
{
case NaviIconType_LEFT:
case EC_NAVI_ICON_LEFT:
case EC_NAVI_ICON_ENTRY_RING_LEFT:
case EC_NAVI_ICON_ENTRY_LEFT_RING_LEFT:
IC2_SEG164 = IC_SEG_OFF;
IC2_SEG165 = IC_SEG_OFF;
IC2_SEG169 = IC_SEG_ON;
......@@ -387,7 +389,9 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF);
break;
case NaviIconType_RIGHT:
case EC_NAVI_ICON_RIGHT:
case EC_NAVI_ICON_ENTRY_RING_RIGHT:
case EC_NAVI_ICON_ENTRY_LEFT_RING_RIGHT:
IC2_SEG164 = IC_SEG_OFF;
IC2_SEG165 = IC_SEG_OFF;
IC2_SEG169 = IC_SEG_ON;
......@@ -408,7 +412,9 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF);
break;
case NaviIconType_LEFT_FRONT:
case EC_NAVI_ICON_LEFT_FRONT:
case EC_NAVI_ICON_MERGE_LEFT:
case EC_NAVI_ICON_ROTARY_SLIGHT_LEFT:
IC2_SEG164 = IC_SEG_OFF;
IC2_SEG165 = IC_SEG_ON;
IC2_SEG169 = IC_SEG_ON;
......@@ -429,7 +435,9 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF);
break;
case NaviIconType_RIGHT_FRONT:
case EC_NAVI_ICON_RIGHT_FRONT:
case EC_NAVI_ICON_MERGE_RIGHT:
case EC_NAVI_ICON_ROTARY_SLIGHT_RIGHT:
IC2_SEG164 = IC_SEG_OFF;
IC2_SEG165 = IC_SEG_ON;
IC2_SEG169 = IC_SEG_ON;
......@@ -450,7 +458,8 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF);
break;
case NaviIconType_LEFT_BACK:
case EC_NAVI_ICON_LEFT_BACK:
case EC_NAVI_ICON_ROTARY_SHARP_LEFT:
IC2_SEG164 = IC_SEG_OFF;
IC2_SEG165 = IC_SEG_OFF;
IC2_SEG169 = IC_SEG_OFF;
......@@ -471,7 +480,8 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF);
break;
case NaviIconType_RIGHT_BACK:
case EC_NAVI_ICON_RIGHT_BACK:
case EC_NAVI_ICON_ROTARY_SHARP_RIGHT:
IC2_SEG164 = IC_SEG_OFF;
IC2_SEG165 = IC_SEG_OFF;
IC2_SEG169 = IC_SEG_OFF;
......@@ -492,7 +502,9 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF);
break;
case NaviIconType_STRAIGHT:
case EC_NAVI_ICON_STRAIGHT:
case EC_NAVI_ICON_ENTRY_RING_CONTINUE:
case EC_NAVI_ICON_ENTRY_LEFT_RING_CONTINUE:
IC2_SEG164 = IC_SEG_ON;
IC2_SEG165 = IC_SEG_ON;
IC2_SEG169 = IC_SEG_ON;
......@@ -513,7 +525,73 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF);
break;
case NaviIconType_ARRIVED_SERVICE_AREA:
case EC_NAVI_ICON_LEFT_TURN_AROUND:
case EC_NAVI_ICON_ENTRY_RING_UTURN:
IC2_SEG164 = IC_SEG_OFF;
IC2_SEG165 = IC_SEG_OFF;
IC2_SEG169 = IC_SEG_OFF;
IC2_SEG170 = IC_SEG_ON;
IC2_SEG166 = IC_SEG_OFF;
IC2_SEG167 = IC_SEG_OFF;
IC2_SEG168 = IC_SEG_ON;
IC2_SEG163 = IC_SEG_OFF;
IC2_SEG171 = IC_SEG_OFF;
IC2_SEG172 = IC_SEG_OFF;
IC2_SEG162 = IC_SEG_OFF;
IC2_SEG161 = IC_SEG_OFF;
IC2_SEG160 = IC_SEG_OFF;
LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_ON);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_ON);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF);
break;
case EC_NAVI_ICON_UTURN_RIGHT:
case EC_NAVI_ICON_ENTRY_LEFT_RING_UTURN:
IC2_SEG164 = IC_SEG_OFF;
IC2_SEG165 = IC_SEG_OFF;
IC2_SEG169 = IC_SEG_OFF;
IC2_SEG170 = IC_SEG_ON;
IC2_SEG166 = IC_SEG_OFF;
IC2_SEG167 = IC_SEG_OFF;
IC2_SEG168 = IC_SEG_OFF;
IC2_SEG163 = IC_SEG_OFF;
IC2_SEG171 = IC_SEG_OFF;
IC2_SEG172 = IC_SEG_ON;
IC2_SEG162 = IC_SEG_OFF;
IC2_SEG161 = IC_SEG_OFF;
IC2_SEG160 = IC_SEG_OFF;
LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_ON);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_ON);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF);
break;
case EC_NAVI_ICON_SPECIAL_CONTINUE:
IC2_SEG164 = IC_SEG_ON;
IC2_SEG165 = IC_SEG_ON;
IC2_SEG169 = IC_SEG_ON;
IC2_SEG170 = IC_SEG_OFF;
IC2_SEG166 = IC_SEG_OFF;
IC2_SEG167 = IC_SEG_OFF;
IC2_SEG168 = IC_SEG_OFF;
IC2_SEG163 = IC_SEG_OFF;
IC2_SEG171 = IC_SEG_OFF;
IC2_SEG172 = IC_SEG_OFF;
IC2_SEG162 = IC_SEG_OFF;
IC2_SEG161 = IC_SEG_OFF;
IC2_SEG160 = IC_SEG_OFF;
LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_ON);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_ON);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF);
break;
case EC_NAVI_ICON_ARRIVED_SERVICE_AREA:
IC2_SEG164 = IC_SEG_OFF;
IC2_SEG165 = IC_SEG_OFF;
IC2_SEG169 = IC_SEG_OFF;
......@@ -534,7 +612,7 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF);
break;
case NaviIconType_ARRIVED_TOLLGATE:
case EC_NAVI_ICON_ARRIVED_TOLLGATE:
IC2_SEG164 = IC_SEG_OFF;
IC2_SEG165 = IC_SEG_OFF;
IC2_SEG169 = IC_SEG_OFF;
......@@ -555,7 +633,7 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_ON);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF);
break;
case NaviIconType_ARRIVED_TUNNEL:
case EC_NAVI_ICON_ARRIVED_TUNNEL:
IC2_SEG164 = IC_SEG_OFF;
IC2_SEG165 = IC_SEG_OFF;
IC2_SEG169 = IC_SEG_OFF;
......@@ -636,7 +714,14 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
{
Num = m_Mileage / 100000;
}
m8 = SEG_UNDISPLAY_NUMBER0[Num];
if ((ClearODO_Flag == 1) || (Common_GetIgnOnTime() < 3000))
{
m8 = SEG_DISPLAY_NUMBER0[Num];
}
else
{
m8 = SEG_UNDISPLAY_NUMBER0[Num];
}
if (Bit_Is_Set(m8, 0))
{
......@@ -694,6 +779,7 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
{
IC1_SEG014 = IC_SEG_OFF;
}
if (m_Mileage < 1000)
{
Num = m_Mileage / 100;
......@@ -701,7 +787,7 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
}
else
{
Num = (m_Mileage / 100) % 1000 / 100;
Num = ((m_Mileage + 50) / 100) % 1000 / 100;
if (m_Mileage >= 10000)
{
m8 = SEG_DISPLAY_NUMBER0[Num];
......@@ -709,9 +795,13 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
else
{
m8 = SEG_UNDISPLAY_NUMBER0[Num];
}
}
}
if((ClearODO_Flag == 1) || (Common_GetIgnOnTime() < 3000))
{
m8 = SEG_DISPLAY_NUMBER0[Num];
}
if (Bit_Is_Set(m8, 0))
{
......@@ -784,10 +874,13 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
}
else
{
Num = ((m_Mileage / 100) / 10) % 10;
Num = (((m_Mileage + 50) / 100) / 10) % 10;
m8 = SEG_DISPLAY_NUMBER0[Num];
}
if((ClearODO_Flag == 1) || (Common_GetIgnOnTime() < 3000))
{
m8 = SEG_DISPLAY_NUMBER0[Num];
}
if (Bit_Is_Set(m8, 0))
{
IC1_SEG133 = IC_SEG_ON;
......@@ -853,11 +946,14 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
}
else
{
Num = (m_Mileage / 100) % 10;
Num = ((m_Mileage + 50) / 100) % 10;
m8 = SEG_DISPLAY_NUMBER0[Num];
}
if((ClearODO_Flag == 1) || (Common_GetIgnOnTime() < 3000))
{
m8 = SEG_DISPLAY_NUMBER0[Num];
}
if (Bit_Is_Set(m8, 0))
{
IC1_SEG132 = IC_SEG_ON;
......@@ -2005,7 +2101,7 @@ void SEG_SET_Voltage_NUM(uint8_t m_Flag, uint16_t m_NUM)
* @param[in] m_valid1 前轮有效标志 -0 无效,显示--
* @param[in] m_valid2 后轮有效标志 -0 无效,显示--
*/
void SEG_SET_TPMS_NUM(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint8_t m_Unit, uint8_t m_valid1, uint8_t m_valid2)
void SEG_SET_TPMS_DISPLAY(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint8_t m_Unit, uint8_t m_valid1, uint8_t m_valid2)
{
uint16_t Num1 = 0;
uint16_t Num2 = 0;
......@@ -2052,13 +2148,46 @@ void SEG_SET_TPMS_NUM(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint8_t
}
else
{
if (m_Unit == 0)
{
IC2_SEG109 = IC_SEG_OFF;
IC2_SEG110 = IC_SEG_ON;
IC2_SEG118 = IC_SEG_ON;
IC2_SEG138 = IC_SEG_ON;
if ((Get_Current_PageType() == Page_Front_Tpms) || (Get_Front_FirstLearn_Flag() == 1) || (Get_Front_FirstLearn_Flag() == 3))
{
if(FLASH_SYNC_1Hz)
{
IC2_SEG138 = IC_SEG_ON;
}
else
{
IC2_SEG138 = IC_SEG_OFF;
}
}
else
{
IC2_SEG138 = IC_SEG_ON;
}
if ((Get_Current_PageType() == Page_Rear_Tpms) || (Get_Rear_FirstLearn_Flag() == 1) || (Get_Rear_FirstLearn_Flag() == 3))
{
if(FLASH_SYNC_1Hz)
{
IC2_SEG118 = IC_SEG_ON;
}
else
{
IC2_SEG118 = IC_SEG_OFF;
}
}
else
{
IC2_SEG118 = IC_SEG_ON;
}
}
else
{
......@@ -2066,9 +2195,13 @@ void SEG_SET_TPMS_NUM(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint8_t
IC2_SEG110 = IC_SEG_OFF;
IC2_SEG118 = IC_SEG_OFF;
IC2_SEG138 = IC_SEG_OFF;
IC2_SEG138 = IC_SEG_OFF;
}
}
SEG_SET_FRONT_TPMS_NUM( Get_Front_FirstLearn_Flag(), m_NUM1, m_valid1);
SEG_SET_Rear_TPMS_NUM(Get_Rear_FirstLearn_Flag(), m_NUM2, m_valid2);
}
else
......@@ -2077,139 +2210,97 @@ void SEG_SET_TPMS_NUM(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint8_t
IC2_SEG110 = IC_SEG_ON;
IC2_SEG118 = IC_SEG_ON;
IC2_SEG138 = IC_SEG_ON;
SEG_SET_FRONT_TPMS_NUM( 2, m_NUM1, m_valid1);
SEG_SET_Rear_TPMS_NUM(2, m_NUM2, m_valid2);
}
if (m_valid1 == 1)
}
else
{
IC2_SEG120 = IC_SEG_OFF;
IC2_SEG113 = IC_SEG_OFF;
IC2_SEG123 = IC_SEG_OFF;
IC2_SEG121 = IC_SEG_OFF;
IC2_SEG119 = IC_SEG_OFF;
IC2_SEG126 = IC_SEG_OFF;
IC2_SEG125 = IC_SEG_OFF;
IC2_SEG124 = IC_SEG_OFF;
IC2_SEG115 = IC_SEG_OFF;
IC2_SEG114 = IC_SEG_OFF;
IC2_SEG112 = IC_SEG_OFF;
IC2_SEG111 = IC_SEG_OFF;
IC2_SEG117 = IC_SEG_OFF;
IC2_SEG116 = IC_SEG_OFF;
IC2_SEG140 = IC_SEG_OFF;
IC2_SEG133 = IC_SEG_OFF;
IC2_SEG143 = IC_SEG_OFF;
IC2_SEG141 = IC_SEG_OFF;
IC2_SEG139 = IC_SEG_OFF;
IC2_SEG146 = IC_SEG_OFF;
IC2_SEG145 = IC_SEG_OFF;
IC2_SEG144 = IC_SEG_OFF;
IC2_SEG135 = IC_SEG_OFF;
IC2_SEG134 = IC_SEG_OFF;
IC2_SEG132 = IC_SEG_OFF;
IC2_SEG131 = IC_SEG_OFF;
IC2_SEG137 = IC_SEG_OFF;
IC2_SEG136 = IC_SEG_OFF;
IC2_SEG109 = IC_SEG_OFF;
IC2_SEG110 = IC_SEG_OFF;
IC2_SEG118 = IC_SEG_OFF;
IC2_SEG122 = IC_SEG_OFF;
IC2_SEG138 = IC_SEG_OFF;
IC2_SEG142 = IC_SEG_OFF;
}
}
void SEG_SET_FRONT_TPMS_NUM(uint8_t learnflag, uint16_t m_NUM1,uint8_t m_valid1)
{
uint16_t Num1 = 0;
uint16_t Num2 = 0;
uint8_t m8;
if (learnflag == 0)
{
if (Get_Current_PageType() == Page_Front_Tpms)
{
Num1 = m_NUM1 / 10u;
m8 = SEG_DISPLAY_NUMBER0[Num1];
if (Bit_Is_Set(m8, 0))
{
IC2_SEG143 = IC_SEG_ON;
}
else
{
IC2_SEG143 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC2_SEG141 = IC_SEG_ON;
}
else
{
IC2_SEG141 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG139 = IC_SEG_ON;
}
else
{
IC2_SEG139 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG146 = IC_SEG_ON;
}
else
{
IC2_SEG146 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG145 = IC_SEG_ON;
}
else
{
IC2_SEG145 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG144 = IC_SEG_ON;
}
else
{
IC2_SEG144 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
if(FLASH_SYNC_1Hz)
{
IC2_SEG140 = IC_SEG_ON;
}
else
{
IC2_SEG140 = IC_SEG_OFF;
}
Num1 = m_NUM1 % 10u;
m8 = SEG_DISPLAY_NUMBER0[Num1];
if (Bit_Is_Set(m8, 0))
{
IC2_SEG135 = IC_SEG_ON;
}
else
{
IC2_SEG135 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC2_SEG134 = IC_SEG_ON;
}
else
{
IC2_SEG134 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG132 = IC_SEG_ON;
}
else
{
IC2_SEG132 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG131 = IC_SEG_ON;
}
else
{
IC2_SEG131 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG137 = IC_SEG_ON;
}
else
{
IC2_SEG137 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG136 = IC_SEG_ON;
}
else
{
IC2_SEG136 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC2_SEG133 = IC_SEG_ON;
}
else
{
IC2_SEG140 = IC_SEG_OFF;
IC2_SEG133 = IC_SEG_OFF;
}
}
IC2_SEG143 = IC_SEG_OFF;
IC2_SEG141 = IC_SEG_OFF;
IC2_SEG139 = IC_SEG_OFF;
IC2_SEG146 = IC_SEG_OFF;
IC2_SEG145 = IC_SEG_OFF;
IC2_SEG144 = IC_SEG_OFF;
IC2_SEG135 = IC_SEG_OFF;
IC2_SEG134 = IC_SEG_OFF;
IC2_SEG132 = IC_SEG_OFF;
IC2_SEG131 = IC_SEG_OFF;
IC2_SEG137 = IC_SEG_OFF;
IC2_SEG136 = IC_SEG_OFF;
}
else
{
IC2_SEG140 = IC_SEG_ON;
IC2_SEG133 = IC_SEG_ON;
IC2_SEG143 = IC_SEG_OFF;
IC2_SEG141 = IC_SEG_OFF;
IC2_SEG139 = IC_SEG_OFF;
IC2_SEG146 = IC_SEG_OFF;
IC2_SEG145 = IC_SEG_OFF;
IC2_SEG144 = IC_SEG_OFF;
IC2_SEG135 = IC_SEG_OFF;
IC2_SEG134 = IC_SEG_OFF;
IC2_SEG132 = IC_SEG_OFF;
......@@ -2217,131 +2308,834 @@ void SEG_SET_TPMS_NUM(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint8_t
IC2_SEG137 = IC_SEG_OFF;
IC2_SEG136 = IC_SEG_OFF;
}
if (m_valid2 == 1)
{
Num2 = m_NUM2 / 10u;
m8 = SEG_DISPLAY_NUMBER0[Num2];
if (Bit_Is_Set(m8, 0))
}
else if (learnflag == 1)
{
if(FLASH_SYNC_1Hz)
{
IC2_SEG140 = IC_SEG_ON;
IC2_SEG133 = IC_SEG_ON;
}
else
{
IC2_SEG140 = IC_SEG_OFF;
IC2_SEG133 = IC_SEG_OFF;
}
IC2_SEG143 = IC_SEG_OFF;
IC2_SEG141 = IC_SEG_OFF;
IC2_SEG139 = IC_SEG_OFF;
IC2_SEG146 = IC_SEG_OFF;
IC2_SEG145 = IC_SEG_OFF;
IC2_SEG144 = IC_SEG_OFF;
IC2_SEG135 = IC_SEG_OFF;
IC2_SEG134 = IC_SEG_OFF;
IC2_SEG132 = IC_SEG_OFF;
IC2_SEG131 = IC_SEG_OFF;
IC2_SEG137 = IC_SEG_OFF;
IC2_SEG136 = IC_SEG_OFF;
}
else if (learnflag == 2)
{
if (Get_Current_PageType() == Page_Front_Tpms)
{
if(FLASH_SYNC_1Hz)
{
if (m_valid1 == 1)
{
Num1 = m_NUM1 / 10u;
if (Get_Dis_Tpms_Unit() == 0)
{
m8 = SEG_DISPLAY_NUMBER0[Num1];
}
else
{
m8 = SEG_UNDISPLAY_NUMBER0[Num1];
}
if (Bit_Is_Set(m8, 0))
{
IC2_SEG143 = IC_SEG_ON;
}
else
{
IC2_SEG143 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC2_SEG141 = IC_SEG_ON;
}
else
{
IC2_SEG141 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG139 = IC_SEG_ON;
}
else
{
IC2_SEG139 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG146 = IC_SEG_ON;
}
else
{
IC2_SEG146 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG145 = IC_SEG_ON;
}
else
{
IC2_SEG145 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG144 = IC_SEG_ON;
}
else
{
IC2_SEG144 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC2_SEG140 = IC_SEG_ON;
}
else
{
IC2_SEG140 = IC_SEG_OFF;
}
Num1 = m_NUM1 % 10u;
m8 = SEG_DISPLAY_NUMBER0[Num1];
if (Bit_Is_Set(m8, 0))
{
IC2_SEG135 = IC_SEG_ON;
}
else
{
IC2_SEG135 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC2_SEG134 = IC_SEG_ON;
}
else
{
IC2_SEG134 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG132 = IC_SEG_ON;
}
else
{
IC2_SEG132 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG131 = IC_SEG_ON;
}
else
{
IC2_SEG131 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG137 = IC_SEG_ON;
}
else
{
IC2_SEG137 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG136 = IC_SEG_ON;
}
else
{
IC2_SEG136 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC2_SEG133 = IC_SEG_ON;
}
else
{
IC2_SEG133 = IC_SEG_OFF;
}
}
else
{
IC2_SEG140 = IC_SEG_ON;
IC2_SEG133 = IC_SEG_ON;
IC2_SEG143 = IC_SEG_OFF;
IC2_SEG141 = IC_SEG_OFF;
IC2_SEG139 = IC_SEG_OFF;
IC2_SEG146 = IC_SEG_OFF;
IC2_SEG145 = IC_SEG_OFF;
IC2_SEG144 = IC_SEG_OFF;
IC2_SEG135 = IC_SEG_OFF;
IC2_SEG134 = IC_SEG_OFF;
IC2_SEG132 = IC_SEG_OFF;
IC2_SEG131 = IC_SEG_OFF;
IC2_SEG137 = IC_SEG_OFF;
IC2_SEG136 = IC_SEG_OFF;
}
}
else
{
IC2_SEG140 = IC_SEG_OFF;
IC2_SEG133 = IC_SEG_OFF;
IC2_SEG143 = IC_SEG_OFF;
IC2_SEG141 = IC_SEG_OFF;
IC2_SEG139 = IC_SEG_OFF;
IC2_SEG146 = IC_SEG_OFF;
IC2_SEG145 = IC_SEG_OFF;
IC2_SEG144 = IC_SEG_OFF;
IC2_SEG135 = IC_SEG_OFF;
IC2_SEG134 = IC_SEG_OFF;
IC2_SEG132 = IC_SEG_OFF;
IC2_SEG131 = IC_SEG_OFF;
IC2_SEG137 = IC_SEG_OFF;
IC2_SEG136 = IC_SEG_OFF;
}
}
else
{
if (m_valid1 == 1)
{
IC2_SEG123 = IC_SEG_ON;
Num1 = m_NUM1 / 10u;
if (Get_Dis_Tpms_Unit() == 0)
{
m8 = SEG_DISPLAY_NUMBER0[Num1];
}
else
{
m8 = SEG_UNDISPLAY_NUMBER0[Num1];
}
if (Bit_Is_Set(m8, 0))
{
IC2_SEG143 = IC_SEG_ON;
}
else
{
IC2_SEG143 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC2_SEG141 = IC_SEG_ON;
}
else
{
IC2_SEG141 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG139 = IC_SEG_ON;
}
else
{
IC2_SEG139 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG146 = IC_SEG_ON;
}
else
{
IC2_SEG146 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG145 = IC_SEG_ON;
}
else
{
IC2_SEG145 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG144 = IC_SEG_ON;
}
else
{
IC2_SEG144 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC2_SEG140 = IC_SEG_ON;
}
else
{
IC2_SEG140 = IC_SEG_OFF;
}
Num1 = m_NUM1 % 10u;
m8 = SEG_DISPLAY_NUMBER0[Num1];
if (Bit_Is_Set(m8, 0))
{
IC2_SEG135 = IC_SEG_ON;
}
else
{
IC2_SEG135 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC2_SEG134 = IC_SEG_ON;
}
else
{
IC2_SEG134 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG132 = IC_SEG_ON;
}
else
{
IC2_SEG132 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG131 = IC_SEG_ON;
}
else
{
IC2_SEG131 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG137 = IC_SEG_ON;
}
else
{
IC2_SEG137 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG136 = IC_SEG_ON;
}
else
{
IC2_SEG136 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC2_SEG133 = IC_SEG_ON;
}
else
{
IC2_SEG133 = IC_SEG_OFF;
}
}
else
{
IC2_SEG140 = IC_SEG_ON;
IC2_SEG133 = IC_SEG_ON;
IC2_SEG143 = IC_SEG_OFF;
IC2_SEG141 = IC_SEG_OFF;
IC2_SEG139 = IC_SEG_OFF;
IC2_SEG146 = IC_SEG_OFF;
IC2_SEG145 = IC_SEG_OFF;
IC2_SEG144 = IC_SEG_OFF;
IC2_SEG135 = IC_SEG_OFF;
IC2_SEG134 = IC_SEG_OFF;
IC2_SEG132 = IC_SEG_OFF;
IC2_SEG131 = IC_SEG_OFF;
IC2_SEG137 = IC_SEG_OFF;
IC2_SEG136 = IC_SEG_OFF;
}
}
}
else if (learnflag == 3)
{
if(FLASH_SYNC_1Hz)
{
IC2_SEG140 = IC_SEG_ON;
IC2_SEG133 = IC_SEG_ON;
IC2_SEG143 = IC_SEG_ON;
IC2_SEG141 = IC_SEG_ON;
IC2_SEG139 = IC_SEG_ON;
IC2_SEG146 = IC_SEG_ON;
IC2_SEG145 = IC_SEG_OFF;
IC2_SEG144 = IC_SEG_ON;
IC2_SEG135 = IC_SEG_ON;
IC2_SEG134 = IC_SEG_ON;
IC2_SEG132 = IC_SEG_ON;
IC2_SEG131 = IC_SEG_ON;
IC2_SEG137 = IC_SEG_OFF;
IC2_SEG136 = IC_SEG_ON;
}
else
{
IC2_SEG140 = IC_SEG_OFF;
IC2_SEG133 = IC_SEG_OFF;
IC2_SEG143 = IC_SEG_OFF;
IC2_SEG141 = IC_SEG_OFF;
IC2_SEG139 = IC_SEG_OFF;
IC2_SEG146 = IC_SEG_OFF;
IC2_SEG145 = IC_SEG_OFF;
IC2_SEG144 = IC_SEG_OFF;
IC2_SEG135 = IC_SEG_OFF;
IC2_SEG134 = IC_SEG_OFF;
IC2_SEG132 = IC_SEG_OFF;
IC2_SEG131 = IC_SEG_OFF;
IC2_SEG137 = IC_SEG_OFF;
IC2_SEG136 = IC_SEG_OFF;
}
}
else
{
;
}
}
void SEG_SET_Rear_TPMS_NUM(uint8_t learnflag, uint16_t m_NUM2,uint8_t m_valid2)
{
uint16_t Num1 = 0;
uint16_t Num2 = 0;
uint8_t m8;
if (learnflag == 0)
{
if (Get_Current_PageType() == Page_Rear_Tpms)
{
if(FLASH_SYNC_1Hz)
{
IC2_SEG120 = IC_SEG_ON;
IC2_SEG113 = IC_SEG_ON;
}
else
{
IC2_SEG120 = IC_SEG_OFF;
IC2_SEG113 = IC_SEG_OFF;
}
IC2_SEG123 = IC_SEG_OFF;
IC2_SEG121 = IC_SEG_OFF;
IC2_SEG119 = IC_SEG_OFF;
IC2_SEG126 = IC_SEG_OFF;
IC2_SEG125 = IC_SEG_OFF;
IC2_SEG124 = IC_SEG_OFF;
IC2_SEG115 = IC_SEG_OFF;
IC2_SEG114 = IC_SEG_OFF;
IC2_SEG112 = IC_SEG_OFF;
IC2_SEG111 = IC_SEG_OFF;
IC2_SEG117 = IC_SEG_OFF;
IC2_SEG116 = IC_SEG_OFF;
}
else
{
IC2_SEG120 = IC_SEG_ON;
IC2_SEG113 = IC_SEG_ON;
IC2_SEG123 = IC_SEG_OFF;
IC2_SEG121 = IC_SEG_OFF;
IC2_SEG119 = IC_SEG_OFF;
IC2_SEG126 = IC_SEG_OFF;
IC2_SEG125 = IC_SEG_OFF;
IC2_SEG124 = IC_SEG_OFF;
IC2_SEG115 = IC_SEG_OFF;
IC2_SEG114 = IC_SEG_OFF;
IC2_SEG112 = IC_SEG_OFF;
IC2_SEG111 = IC_SEG_OFF;
IC2_SEG117 = IC_SEG_OFF;
IC2_SEG116 = IC_SEG_OFF;
}
}
else if (learnflag == 1)
{
if(FLASH_SYNC_1Hz)
{
IC2_SEG120 = IC_SEG_ON;
IC2_SEG113 = IC_SEG_ON;
}
else
{
IC2_SEG120 = IC_SEG_OFF;
IC2_SEG113 = IC_SEG_OFF;
}
IC2_SEG123 = IC_SEG_OFF;
IC2_SEG121 = IC_SEG_OFF;
IC2_SEG119 = IC_SEG_OFF;
IC2_SEG126 = IC_SEG_OFF;
IC2_SEG125 = IC_SEG_OFF;
IC2_SEG124 = IC_SEG_OFF;
IC2_SEG115 = IC_SEG_OFF;
IC2_SEG114 = IC_SEG_OFF;
IC2_SEG112 = IC_SEG_OFF;
IC2_SEG111 = IC_SEG_OFF;
IC2_SEG117 = IC_SEG_OFF;
IC2_SEG116 = IC_SEG_OFF;
}
else if (learnflag == 2)
{
if (Get_Current_PageType() == Page_Rear_Tpms)
{
if(FLASH_SYNC_1Hz)
{
if (m_valid2 == 1)
{
Num2 = m_NUM2 / 10u;
if (Get_Dis_Tpms_Unit() == 0)
{
m8 = SEG_DISPLAY_NUMBER0[Num2];
}
else
{
m8 = SEG_UNDISPLAY_NUMBER0[Num2];
}
if (Bit_Is_Set(m8, 0))
{
IC2_SEG123 = IC_SEG_ON;
}
else
{
IC2_SEG123 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC2_SEG121 = IC_SEG_ON;
}
else
{
IC2_SEG121 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG119 = IC_SEG_ON;
}
else
{
IC2_SEG119 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG126 = IC_SEG_ON;
}
else
{
IC2_SEG126 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG125 = IC_SEG_ON;
}
else
{
IC2_SEG125 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG124 = IC_SEG_ON;
}
else
{
IC2_SEG124 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC2_SEG120 = IC_SEG_ON;
}
else
{
IC2_SEG120 = IC_SEG_OFF;
}
Num2 = m_NUM2 % 10u;
m8 = SEG_DISPLAY_NUMBER0[Num2];
if (Bit_Is_Set(m8, 0))
{
IC2_SEG115 = IC_SEG_ON;
}
else
{
IC2_SEG115 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC2_SEG114 = IC_SEG_ON;
}
else
{
IC2_SEG114 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG112 = IC_SEG_ON;
}
else
{
IC2_SEG112 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG111 = IC_SEG_ON;
}
else
{
IC2_SEG111 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG117 = IC_SEG_ON;
}
else
{
IC2_SEG117 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG116 = IC_SEG_ON;
}
else
{
IC2_SEG116 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC2_SEG113 = IC_SEG_ON;
}
else
{
IC2_SEG113 = IC_SEG_OFF;
}
}
else
{
IC2_SEG120 = IC_SEG_ON;
IC2_SEG113 = IC_SEG_ON;
IC2_SEG123 = IC_SEG_OFF;
IC2_SEG121 = IC_SEG_OFF;
IC2_SEG119 = IC_SEG_OFF;
IC2_SEG126 = IC_SEG_OFF;
IC2_SEG125 = IC_SEG_OFF;
IC2_SEG124 = IC_SEG_OFF;
IC2_SEG115 = IC_SEG_OFF;
IC2_SEG114 = IC_SEG_OFF;
IC2_SEG112 = IC_SEG_OFF;
IC2_SEG111 = IC_SEG_OFF;
IC2_SEG117 = IC_SEG_OFF;
IC2_SEG116 = IC_SEG_OFF;
}
}
else
{
IC2_SEG123 = IC_SEG_OFF;
IC2_SEG120 = IC_SEG_OFF;
IC2_SEG113 = IC_SEG_OFF;
IC2_SEG123 = IC_SEG_OFF;
IC2_SEG121 = IC_SEG_OFF;
IC2_SEG119 = IC_SEG_OFF;
IC2_SEG126 = IC_SEG_OFF;
IC2_SEG125 = IC_SEG_OFF;
IC2_SEG124 = IC_SEG_OFF;
IC2_SEG115 = IC_SEG_OFF;
IC2_SEG114 = IC_SEG_OFF;
IC2_SEG112 = IC_SEG_OFF;
IC2_SEG111 = IC_SEG_OFF;
IC2_SEG117 = IC_SEG_OFF;
IC2_SEG116 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
}
else
{
if (m_valid2 == 1)
{
IC2_SEG121 = IC_SEG_ON;
Num2 = m_NUM2 / 10u;
if (Get_Dis_Tpms_Unit() == 0)
{
m8 = SEG_DISPLAY_NUMBER0[Num2];
}
else
{
m8 = SEG_UNDISPLAY_NUMBER0[Num2];
}
if (Bit_Is_Set(m8, 0))
{
IC2_SEG123 = IC_SEG_ON;
}
else
{
IC2_SEG123 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC2_SEG121 = IC_SEG_ON;
}
else
{
IC2_SEG121 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG119 = IC_SEG_ON;
}
else
{
IC2_SEG119 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG126 = IC_SEG_ON;
}
else
{
IC2_SEG126 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG125 = IC_SEG_ON;
}
else
{
IC2_SEG125 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG124 = IC_SEG_ON;
}
else
{
IC2_SEG124 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC2_SEG120 = IC_SEG_ON;
}
else
{
IC2_SEG120 = IC_SEG_OFF;
}
Num2 = m_NUM2 % 10u;
m8 = SEG_DISPLAY_NUMBER0[Num2];
if (Bit_Is_Set(m8, 0))
{
IC2_SEG115 = IC_SEG_ON;
}
else
{
IC2_SEG115 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC2_SEG114 = IC_SEG_ON;
}
else
{
IC2_SEG114 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG112 = IC_SEG_ON;
}
else
{
IC2_SEG112 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG111 = IC_SEG_ON;
}
else
{
IC2_SEG111 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG117 = IC_SEG_ON;
}
else
{
IC2_SEG117 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG116 = IC_SEG_ON;
}
else
{
IC2_SEG116 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC2_SEG113 = IC_SEG_ON;
}
else
{
IC2_SEG113 = IC_SEG_OFF;
}
}
else
{
IC2_SEG120 = IC_SEG_ON;
IC2_SEG113 = IC_SEG_ON;
IC2_SEG123 = IC_SEG_OFF;
IC2_SEG121 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG119 = IC_SEG_ON;
}
else
{
IC2_SEG119 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG126 = IC_SEG_ON;
}
else
{
IC2_SEG126 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG125 = IC_SEG_ON;
}
else
{
IC2_SEG125 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG124 = IC_SEG_ON;
}
else
{
IC2_SEG124 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC2_SEG120 = IC_SEG_ON;
}
else
{
IC2_SEG120 = IC_SEG_OFF;
}
Num2 = m_NUM2 % 10u;
m8 = SEG_DISPLAY_NUMBER0[Num2];
if (Bit_Is_Set(m8, 0))
{
IC2_SEG115 = IC_SEG_ON;
}
else
{
IC2_SEG115 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 1))
{
IC2_SEG114 = IC_SEG_ON;
}
else
{
IC2_SEG114 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 2))
{
IC2_SEG112 = IC_SEG_ON;
}
else
{
IC2_SEG112 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 3))
{
IC2_SEG111 = IC_SEG_ON;
}
else
{
IC2_SEG111 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 4))
{
IC2_SEG117 = IC_SEG_ON;
}
else
{
IC2_SEG117 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 5))
{
IC2_SEG116 = IC_SEG_ON;
}
else
{
IC2_SEG116 = IC_SEG_OFF;
}
if (Bit_Is_Set(m8, 6))
{
IC2_SEG113 = IC_SEG_ON;
}
else
{
IC2_SEG113 = IC_SEG_OFF;
}
}
else
}
else if (learnflag == 3)
{
if(FLASH_SYNC_1Hz)
{
IC2_SEG120 = IC_SEG_ON;
IC2_SEG113 = IC_SEG_ON;
IC2_SEG123 = IC_SEG_ON;
IC2_SEG121 = IC_SEG_ON;
IC2_SEG119 = IC_SEG_ON;
IC2_SEG126 = IC_SEG_ON;
IC2_SEG125 = IC_SEG_OFF;
IC2_SEG124 = IC_SEG_ON;
IC2_SEG115 = IC_SEG_ON;
IC2_SEG114 = IC_SEG_ON;
IC2_SEG112 = IC_SEG_ON;
IC2_SEG111 = IC_SEG_ON;
IC2_SEG117 = IC_SEG_OFF;
IC2_SEG116 = IC_SEG_ON;
}
else
{
IC2_SEG120 = IC_SEG_OFF;
IC2_SEG113 = IC_SEG_OFF;
IC2_SEG123 = IC_SEG_OFF;
IC2_SEG121 = IC_SEG_OFF;
IC2_SEG119 = IC_SEG_OFF;
......@@ -2357,48 +3151,11 @@ void SEG_SET_TPMS_NUM(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint8_t
IC2_SEG116 = IC_SEG_OFF;
}
}
else
else
{
IC2_SEG120 = IC_SEG_OFF;
IC2_SEG113 = IC_SEG_OFF;
IC2_SEG123 = IC_SEG_OFF;
IC2_SEG121 = IC_SEG_OFF;
IC2_SEG119 = IC_SEG_OFF;
IC2_SEG126 = IC_SEG_OFF;
IC2_SEG125 = IC_SEG_OFF;
IC2_SEG124 = IC_SEG_OFF;
IC2_SEG115 = IC_SEG_OFF;
IC2_SEG114 = IC_SEG_OFF;
IC2_SEG112 = IC_SEG_OFF;
IC2_SEG111 = IC_SEG_OFF;
IC2_SEG117 = IC_SEG_OFF;
IC2_SEG116 = IC_SEG_OFF;
IC2_SEG140 = IC_SEG_OFF;
IC2_SEG133 = IC_SEG_OFF;
IC2_SEG143 = IC_SEG_OFF;
IC2_SEG141 = IC_SEG_OFF;
IC2_SEG139 = IC_SEG_OFF;
IC2_SEG146 = IC_SEG_OFF;
IC2_SEG145 = IC_SEG_OFF;
IC2_SEG144 = IC_SEG_OFF;
IC2_SEG135 = IC_SEG_OFF;
IC2_SEG134 = IC_SEG_OFF;
IC2_SEG132 = IC_SEG_OFF;
IC2_SEG131 = IC_SEG_OFF;
IC2_SEG137 = IC_SEG_OFF;
IC2_SEG136 = IC_SEG_OFF;
IC2_SEG109 = IC_SEG_OFF;
IC2_SEG110 = IC_SEG_OFF;
IC2_SEG118 = IC_SEG_OFF;
IC2_SEG122 = IC_SEG_OFF;
IC2_SEG138 = IC_SEG_OFF;
IC2_SEG142 = IC_SEG_OFF;
;
}
}
/**@brief 总计里程显示函数
* @param[in] m_NUM_ODO 显示ODO数值 0 < m_NUM <= 199999
......@@ -3097,7 +3854,7 @@ void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint
else if (Get_Current_PageMenu() == Page_DTC)
{
IC1_SEG076 = IC_SEG_OFF;
if(CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x402_Msg_Count) == CAN_SIG_LOST)
if(CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x402_Msg_Count) == CAN_SIG_LOST) //|| (Get_FaultCode_Valid() == 0))
{
SEG_SET_DTC_NUM(0x0B0B0B0B);
IC1_SEG071 = IC_SEG_OFF;
......@@ -3110,7 +3867,53 @@ void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint
}
else
{
DTC_DISTimer ++;
//DTC_DISTimer ++;
//IC1_SEG071 = IC_SEG_ON;
//IC1_SEG070 = IC_SEG_ON;
//IC1_SEG068 = IC_SEG_OFF;
//IC1_SEG075 = IC_SEG_OFF;
//IC1_SEG074 = IC_SEG_ON;
//IC1_SEG073 = IC_SEG_ON;
//IC1_SEG069 = IC_SEG_ON;
//if((FaultCode_Number == 0) && (FaultCode_Data[0] == 0))
//{
// SEG_SET_DTC_NUM(0);
// DTC_DISTimer = 0;
// Current_DTC_CODE = 0;
// Current_DTC_CODE_BACK = 0;
//}
//else
//{
// if(DTC_DISTimer < 100)
// {
// if (DTC_DISCount >= FaultCode_Number)
// {
// DTC_DISCount = FaultCode_Number -1;
// }
// if((FaultCode_Compare(Current_DTC_CODE, &FaultCode_Data[0], FaultCode_Number) == 0) && (FaultCode_Data[DTC_DISCount] != 0))
// {
// Current_DTC_CODE = FaultCode_Data[DTC_DISCount] ;
// DTC_DISTimer = 0;
// }
// Current_DTC_CODE_BACK = Current_DTC_CODE;
// }
// else if (DTC_DISTimer >= 100)
// {
// DTC_DISCount ++ ;
// if (DTC_DISCount >= FaultCode_Number)
// {
// DTC_DISCount = 0;
// }
// Current_DTC_CODE = FaultCode_Data[DTC_DISCount] ;
// DTC_DISTimer = 0;
// if((Current_DTC_CODE == Current_DTC_CODE_BACK) && (DTC_DISCount < (FaultCode_Number - 1)))
// {
// DTC_DISCount ++ ;
// Current_DTC_CODE = FaultCode_Data[DTC_DISCount] ;
// }
// }
// SEG_SET_DTC_NUM(Current_DTC_CODE);
//}
IC1_SEG071 = IC_SEG_ON;
IC1_SEG070 = IC_SEG_ON;
IC1_SEG068 = IC_SEG_OFF;
......@@ -3118,45 +3921,7 @@ void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint
IC1_SEG074 = IC_SEG_ON;
IC1_SEG073 = IC_SEG_ON;
IC1_SEG069 = IC_SEG_ON;
if((FaultCode_Number == 0) && (FaultCode_Data[0] == 0))
{
SEG_SET_DTC_NUM(0);
DTC_DISTimer = 0;
Current_DTC_CODE = 0;
Current_DTC_CODE_BACK = 0;
}
else
{
if(DTC_DISTimer < 100)
{
if (DTC_DISCount >= FaultCode_Number)
{
DTC_DISCount = FaultCode_Number -1;
}
if((FaultCode_Compare(Current_DTC_CODE, &FaultCode_Data[0], FaultCode_Number) == 0) && (FaultCode_Data[DTC_DISCount] != 0))
{
Current_DTC_CODE = FaultCode_Data[DTC_DISCount] ;
DTC_DISTimer = 0;
}
Current_DTC_CODE_BACK = Current_DTC_CODE;
}
else if (DTC_DISTimer >= 100)
{
DTC_DISCount ++ ;
if (DTC_DISCount >= FaultCode_Number)
{
DTC_DISCount = 0;
}
Current_DTC_CODE = FaultCode_Data[DTC_DISCount] ;
DTC_DISTimer = 0;
if((Current_DTC_CODE == Current_DTC_CODE_BACK) && (DTC_DISCount < (FaultCode_Number - 1)))
{
DTC_DISCount ++ ;
Current_DTC_CODE = FaultCode_Data[DTC_DISCount] ;
}
}
SEG_SET_DTC_NUM(Current_DTC_CODE);
}
SEG_SET_DTC_NUM(Get_Current_FaultCode());
}
}
else if (Get_Current_PageMenu() == Page_TCS)
......@@ -3569,7 +4334,7 @@ void Check_SEG_Display(void)
SEG_SET_Clock(((a * 10u) + a), ((a * 10u) + a), 1u, 1u, 1u);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_07_Screen_Time, LED_ON);
#if(IC_Current == TY200_080000b_ty)
SEG_SET_TPMS_NUM(1, a * 11, a * 11, 0, 1, 1);
SEG_SET_TPMS_DISPLAY(1, a * 11, a * 11, 0, 1, 1);
#endif
SEG_SET_Voltage_NUM(1, a * 111);
SEG_SET_Navigation_STS(1, 3, a * 111100);
......@@ -3602,7 +4367,7 @@ void Checkself_SEG_Display(void)
uint16_t Espeed = 0;
uint16_t Fuel = 0;
uint16_t collant = 0;
uint16_t TPMS = 0;
uint16_t TPMS_dis = 0;
uint16_t voltage = 0;
uint16_t hour = 0;
uint16_t min = 0;
......@@ -3637,8 +4402,8 @@ void Checkself_SEG_Display(void)
SEG_SET_Clock(hour, min, 1, 1, 1);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_07_Screen_Time, LED_ON);
#if(IC_Current == TY200_080000b_ty)
TPMS = (Checkself_SEG_step / 3) * 11;
SEG_SET_TPMS_NUM(1, TPMS, TPMS, 0, 1, 1);
TPMS_dis = (Checkself_SEG_step / 3) * 11;
SEG_SET_TPMS_DISPLAY(1, TPMS_dis, TPMS_dis, 0, 1, 1);
#endif
voltage = (Checkself_SEG_step / 3) * 111;
SEG_SET_Voltage_NUM(1, voltage);
......
......@@ -28,16 +28,73 @@ typedef enum
SEG_LED_MAX,
} SEG_LED_Idx_t;
#define NaviIconType_LEFT 0x02
#define NaviIconType_RIGHT 0x03
#define NaviIconType_LEFT_FRONT 0x04
#define NaviIconType_RIGHT_FRONT 0x05
#define NaviIconType_LEFT_BACK 0x06
#define NaviIconType_RIGHT_BACK 0x07
#define NaviIconType_STRAIGHT 0x09
#define NaviIconType_ARRIVED_SERVICE_AREA 0x0D
#define NaviIconType_ARRIVED_TOLLGATE 0x0E
#define NaviIconType_ARRIVED_TUNNEL 0x10
enum ECNaviIcon
{
EC_NAVI_ICON_NONE = 0,
EC_NAVI_ICON_DEFAULT = 1,
EC_NAVI_ICON_LEFT = 2,
EC_NAVI_ICON_RIGHT = 3,
EC_NAVI_ICON_LEFT_FRONT = 4,
EC_NAVI_ICON_RIGHT_FRONT = 5,
EC_NAVI_ICON_LEFT_BACK = 6,
EC_NAVI_ICON_RIGHT_BACK = 7,
EC_NAVI_ICON_LEFT_TURN_AROUND = 8,
EC_NAVI_ICON_STRAIGHT = 9,
EC_NAVI_ICON_ARRIVED_WAYPOINT = 10,
EC_NAVI_ICON_ENTER_ROUNDABOUT = 11,
EC_NAVI_ICON_OUT_ROUNDABOUT = 12,
EC_NAVI_ICON_ARRIVED_SERVICE_AREA = 13,
EC_NAVI_ICON_ARRIVED_TOLLGATE = 14,
EC_NAVI_ICON_ARRIVED_DESTINATION = 15,
EC_NAVI_ICON_ARRIVED_TUNNEL = 16,
EC_NAVI_ICON_CROSSWALK = 17,
EC_NAVI_ICON_OVERPASS = 18,
EC_NAVI_ICON_UNDERPASS = 19,
EC_NAVI_ICON_SQUARE = 20,
EC_NAVI_ICON_PARK = 21,
EC_NAVI_ICON_STAIRCASE = 22,
EC_NAVI_ICON_LIFT = 23,
EC_NAVI_ICON_CABLEWAY = 24,
EC_NAVI_ICON_SKY_CHANNEL = 25,
EC_NAVI_ICON_CHANNEL = 26,
EC_NAVI_ICON_WALK_ROAD = 27,
EC_NAVI_ICON_CRUISE_ROUTE = 28,
EC_NAVI_ICON_SIGHTSEEING_BUSLINE = 29,
EC_NAVI_ICON_SLIDEWAY = 30,
EC_NAVI_ICON_LADDER = 31,
EC_NAVI_ICON_MERGE_LEFT = 51,
EC_NAVI_ICON_MERGE_RIGHT = 52,
EC_NAVI_ICON_SLOW = 53,
EC_NAVI_ICON_ENTRY_RING_LEFT = 54,
EC_NAVI_ICON_ENTRY_RING_RIGHT = 55,
EC_NAVI_ICON_ENTRY_RING_CONTINUE = 56,
EC_NAVI_ICON_ENTRY_RING_UTURN = 57,
EC_NAVI_ICON_ENTRY_LEFT_RING = 58,
EC_NAVI_ICON_LEAVE_LEFT_RING = 59,
EC_NAVI_ICON_UTURN_RIGHT = 60,
EC_NAVI_ICON_SPECIAL_CONTINUE = 61,
EC_NAVI_ICON_ENTRY_LEFT_RING_LEFT = 62,
EC_NAVI_ICON_ENTRY_LEFT_RING_RIGHT = 63,
EC_NAVI_ICON_ENTRY_LEFT_RING_CONTINUE = 64,
EC_NAVI_ICON_ENTRY_LEFT_RING_UTURN = 65,
EC_NAVI_ICON_SLOPE = 66,
EC_NAVI_ICON_BRIDGE = 67,
EC_NAVI_ICON_FERRYBOAT = 68,
EC_NAVI_ICON_SUBWAY = 69,
EC_NAVI_ICON_ENTER_BUILDING = 70,
EC_NAVI_ICON_LEAVE_BUILDING = 71,
EC_NAVI_ICON_BY_ELEVATOR = 72,
EC_NAVI_ICON_BY_STAIR = 73,
EC_NAVI_ICON_ESCALATOR = 74,
EC_NAVI_ICON_LOW_TRAFFIC_CROSS = 75,
EC_NAVI_ICON_LOW_CROSS = 76,
EC_NAVI_ICON_ROTARY_SHARP_LEFT = 77,
EC_NAVI_ICON_ROTARY_SHARP_RIGHT = 78,
EC_NAVI_ICON_ROTARY_SLIGHT_LEFT = 79,
EC_NAVI_ICON_ROTARY_SLIGHT_RIGHT = 80,
EC_NAVI_ICON_MAX
};
......@@ -48,11 +105,13 @@ void SEG_SET_EspeedDial(uint8_t m_Flag, uint8_t m_SEG);
void SEG_SET_CoolantDial(uint8_t m_Flag, uint8_t m_SEG, uint16_t m_Num, uint8_t m_flash);
void SEG_SET_VSpeed_NUM(uint8_t m_Flag, uint16_t m_NUM, uint8_t m_Unit);
void SEG_SET_Voltage_NUM(uint8_t m_Flag, uint16_t m_NUM);
void SEG_SET_TPMS_NUM(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint8_t m_Unit, uint8_t m_valid1, uint8_t m_valid2);
void SEG_SET_TPMS_DISPLAY(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint8_t m_Unit, uint8_t m_valid1, uint8_t m_valid2);
void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint32_t m_NUM_TRIP);
void SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t m_Flag1, uint8_t m_Flag2);
void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage);
void Check_SEG_Display(void);
void SEG_SET_FRONT_TPMS_NUM(uint8_t learnflag, uint16_t m_NUM1,uint8_t m_valid1);
void SEG_SET_Rear_TPMS_NUM(uint8_t learnflag, uint16_t m_NUM2,uint8_t m_valid2);
extern uint8_t check_SEG_step;
extern uint8_t Espeed_check_SEG_step;
......
......@@ -6,9 +6,11 @@
#include "GenDelay\GenDelay.h"
#include "CAN_Signal\CAN_Lib.h"
#include "Line_In\Line_In.h"
#include "Line_In\Line_In_user.h"
#include "PowerManagement\PowerManagement.h"
#include "PowerManagement\PowerManag_user.h"
#include "System_Monitor\System_Monitor.h"
#include "System_Monitor\System_Monitor_User.h"
#include "Telltales\Telltales_Lib.h"
#include "Telltales\Telltales_user.h"
#include "Mileage\Services_Mileage.h"
......@@ -29,6 +31,8 @@
#include "TrmerM\TrmerM.h"
#include "RTC\RTE_RTC.h"
#include "AD\RTE_AD.h"
#include "Maintenance\Maintenance.h"
......
......@@ -310,11 +310,11 @@ void Key_Left_Short_Press(void)
}
else if(PageType == Page_Front_Tpms)
{
PageType == Page_Rear_Tpms;
PageType = Page_Rear_Tpms;
}
else if(PageType == Page_Rear_Tpms)
{
PageType == Page_Front_Tpms;
PageType = Page_Front_Tpms;
}
else
{
......@@ -390,7 +390,7 @@ void Key_Left_Long_Press(void)
}
else if(PageType == Page_Tpms_Unit)
{
PageType == Page_Front_Tpms;
PageType = Page_Front_Tpms;
}
else if((PageType == Page_Front_Tpms) || (PageType == Page_Rear_Tpms))
{
......
......@@ -20,8 +20,10 @@ typedef struct
uint8_t KM_Unit; // 0 km, 1 mile
uint8_t Tpms_Unit;// 0 bar, 1 psi
uint32_t Tcs_Val; // 0 off, 1 on
uint32_t TPMS_Front_Learn;
uint32_t TPMS_Rear_Learn;
uint8_t TPMS_Front_Learn;
uint8_t TPMS_Rear_Learn;
uint8_t TPMS_Front_FirstLearn_Flag;
uint8_t TPMS_Rear_FirstLearn_Flag;
}_Menu_Data;
typedef enum
......
......@@ -82,6 +82,7 @@ Linelib_uint8_t Get_LINE_IN_FAULT_ELECTROSPRAY(void)
{
ret = 0;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_Fault_ABS(void)
......@@ -95,6 +96,7 @@ Linelib_uint8_t Get_LINE_IN_Fault_ABS(void)
{
ret = 0;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_Oil_Pressure(void)
......@@ -108,6 +110,7 @@ Linelib_uint8_t Get_LINE_IN_Oil_Pressure(void)
{
ret = 0;
}
return ret;
}
......
......@@ -10,16 +10,18 @@ uint8_t odo_writeState;
uint8_t odo_readState;
extern uint32_t NVM_User_Settings_Service;
#define EEPROM_BLOCK_00 00
#define EEPROM_BLOCK_01 16
#define EEPROM_BLOCK_02 32
#define EEPROM_BLOCK_03 48
#define EEPROM_BLOCK_04 64
#define EEPROM_BLOCK_05 80
#define EEPROM_BLOCK_06 96
#define EEPROM_BLOCK_07 112
#define EEPROM_BLOCK_08 128
#define EEPROM_BLOCK_09 144
#define EEPROM_BLOCK_00 0x00
#define EEPROM_BLOCK_01 0x16
#define EEPROM_BLOCK_02 0x32
#define EEPROM_BLOCK_03 0x48
#define EEPROM_BLOCK_04 0x64
#define EEPROM_BLOCK_05 0x80
#define EEPROM_BLOCK_06 0x90
#define EEPROM_BLOCK_07 0xA0
#define EEPROM_BLOCK_08 0xB0
#define EEPROM_BLOCK_09 0xC0
uint32_t Milleage_InitFlag = 0U;
......@@ -39,7 +41,7 @@ void Data_User_Mileage_KL30Init(void)
ODO_Init_t ODOInit = {0};
uint32_t Maintenance_Firstflg[1u] = {0};
Trip_Init_t TripInit[4] = {0};
uint32_t TPMSLearn[2] = {0,0};
uint8_t TPMSLearn[2] = {0,0};
Milleage_InitFlag = 0U;
// �������ݴ�EEPROM�ж�ȡ
(void)Data_User_EEPROM_Read(EM_MILEAGE_BLOCK, TempBuf, 1);
......@@ -119,12 +121,14 @@ void Data_User_Mileage_KL30Init(void)
Data_User_EEPROM_Write(EM_MenuData_Tcs_Val, &MenuData.Tcs_Val, 1u);
}
Data_User_EEPROM_Read(EM_MenuData_TPMS_LEARN, TempBuf, 2u);
Data_User_EEPROM_Read(EM_MenuData_TPMS_LEARN, TempBuf, 1u);
if (TempBuf[0u] == 0xFFFFFFFF)
{
TPMSLearn[0] = MenuData.TPMS_Front_Learn;
TPMSLearn[1] = MenuData.TPMS_Rear_Learn;
Data_User_EEPROM_Write(EM_MenuData_TPMS_LEARN, TPMSLearn, 2u);
TPMSLearn[0] = 0;//MenuData.TPMS_Front_Learn;
TPMSLearn[1] = 0;//MenuData.TPMS_Rear_Learn;
//TPMSLearn[2] = 0;//MenuData.TPMS_Front_FirstLearn_Flag;
//TPMSLearn[3] = 0;//MenuData.TPMS_Rear_FirstLearn_Flag;
Data_User_EEPROM_Write(EM_MenuData_TPMS_LEARN, (uint32_t *)TPMSLearn, 1u);
}
Milleage_InitFlag = 0X5AA53AA3UL;
......@@ -183,8 +187,9 @@ uint32_t Get_MileageInit_Status(void)
eeprom_ReadRecord(EEPROM_BLOCK_08, (uint8_t *)u32Data, u16Len * 4);
break;
case EM_MenuData_TPMS_LEARN:
eeprom_ReadRecord(EEPROM_BLOCK_09, (uint8_t *)u32Data, u16Len * 4);
eeprom_ReadRecord(EEPROM_BLOCK_09, (uint8_t *)u32Data, u16Len * 2);
break;
default:
break;
......@@ -228,10 +233,10 @@ uint32_t Get_MileageInit_Status(void)
eeprom_WriteRecord(EEPROM_BLOCK_07, (uint8_t *)u32Data, u16Len * 4);
break;
case EM_MenuData_Tcs_Val:
eeprom_WriteRecord(EEPROM_BLOCK_08, (uint8_t *)u32Data, u16Len * 4);
eeprom_WriteRecord(EEPROM_BLOCK_08, (uint8_t *)u32Data, u16Len * 1);
break;
case EM_MenuData_TPMS_LEARN:
eeprom_WriteRecord(EEPROM_BLOCK_09, (uint8_t *)u32Data, u16Len * 4);
eeprom_WriteRecord(EEPROM_BLOCK_09, (uint8_t *)u32Data, u16Len * 2);
break;
default:
break;
......
......@@ -3,7 +3,8 @@
#include "Components.h"
#include "Application.h"
#include "RTE.h"
#include "UDS_ISO14229_Services.h"
#include "timm.h"
RTC_Information_st_t g_stRTCInformation;
......@@ -90,6 +91,7 @@ static void Power_KL30_Init(void)
g_stRTCInformation.u8RTCYear = 20;
RTE_RTC_Init(g_stRTCInformation);
RTE_DEEPSLEEP_GPIO_Interrupt_Enable(WAKEUP_KL15_In,Trigger_Rising);
FaultCode_Init();
}
extern uint32_t PowerIgnOffTimeLine;
......@@ -135,6 +137,7 @@ static void Power_Wakeup_Init(void)
Telltales_UserInit();
Data_TPMS_KL15_WAKE_UP_Init();
RTE_DEEPSLEEP_GPIO_Interrupt_Enable(WAKEUP_KL15_In,Trigger_Rising);
FaultCode_Init();
}
static void Power_LVP_Init(void)
......@@ -168,6 +171,7 @@ static void Power_IG_ON_Init(void)
CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable);
DFlash_init();
Data_Read_DiagPara();
FaultCode_Init();
}
static void Power_Sleep_Init(void)
......@@ -293,6 +297,7 @@ static Power_Status_em Power_Stay_Protect(void)
}
BU98R10_Init( );
CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable);
Common_DataInit();
return u8PowerSts;
}
}
......
......@@ -2,6 +2,7 @@
#include "Components.h"
#include "Application.h"
#include "delay.h"
#include "wdt.h"
#define u16Base_Vol 0u
#define u16ENTER_LOW_N_RANGE 6500U
......
......@@ -62,8 +62,9 @@ const LED_Attribute_st LED_Attribute [ LED_Max ] = {
{em_LED_Lateral_Strut, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Lateral_Strut_Judgement, LED_Lateral_Strut_Execution},
#if(IC_Current == TY200_080000b_ty)
{em_LED_Tire_Pressure_Alarm, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Tire_Pressure_Judgement, LED_Tire_Pressure_Execution},
//{em_LED_Navigator, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Navigato_Judgement, LED_Navigato_Execution},
#endif
//{em_LED_Navigator, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Navigato_Judgement, LED_Navigato_Execution},
};
......
......@@ -4,8 +4,9 @@
#include "cgc.h"
#include "gpio.h"
#include "isr.h"
#include "Analog\Analog_Signals.h"
uint8_t u8NewChNum[4] = {2, 3, 7, 5};
// uint8_t u8NewChNum[4] = {2, 3, 7, 5};
void RTC_ADC_Interrupt(void *msg)
{
......@@ -17,6 +18,7 @@ void RTE_ADC_Init(const uint8_t u8ChList[], uint8_t u8ChNum)
{
GPIO_InitTypeDef GPIO_InitStructure = {0};
ADC_InitTypeDef ADC_InitStructure = {0};
if(u8ChNum<=7)
{
......@@ -133,13 +135,13 @@ void RTE_ADC_Get_Conversion_Result(uint16_t *pu16Data, uint8_t u8ChNum)
uint8_t i;
if ((pu16Data != 0U) && (u8ChNum > 0U) && (u8ChNum <= 4U))
if ((pu16Data != 0U) && (u8ChNum > 0U) && (u8ChNum <= ADC_TOTAL_CH_NUMBER))
{
if (RTE_ADC_Get_Conversion_Status() == 0U)
{
for (i = 0U; i < u8ChNum; i++)
{
ADC_Converse(u8NewChNum[i], 1, pu16Data);
ADC_Converse((ADC_Channel_t)u8ADCChList[i], 1, pu16Data);
pu16Data++;
}
}
......
......@@ -4,6 +4,8 @@
#include <stdint.h>
extern const uint8_t u8ADCChList[];
#define ADC_RESOLUTION (4096U) /* 12bit ADC */
extern void RTE_ADC_Init(const uint8_t u8ChList[], uint8_t u8ChNum);
......
......@@ -3,6 +3,7 @@
#include "core_cm0plus.h"
#include "RTE_CLOCK_Select.h"
#include "cgc.h"
#include "delay.h"
#define USED_FX_FCLK
//#define USED_FHOCO_FCLK
......
#include <stdint.h>
#include "GPIO\RTE_GPIO.h"
#include "DeepSleep.h"
#include"isr.h"
void DEEPSLEEP_EXTI0_IRQHandler(void *msg);
void DEEPSLEEP_EXTI1_IRQHandler(void *msg);
......@@ -73,9 +73,9 @@ const RTE_DEEPSLEEP_INTP_Table_st_t DEEPSLEEP_INTP_Table[] =
void RTE_DEEPSLEEP_GPIO_Interrupt_Enable(uint16_t u16Pin, Trigger_TypeDef EXTI_Trigger)
{
// int32_t i32Result;
uint8_t u8Index;
uint16_t u16PortIndex;
uint16_t u16PinIndex;
uint8_t u8Index = 0;
uint16_t u16PortIndex = 0;
uint16_t u16PinIndex = 0;
GPIO_InitTypeDef GPIO_InitStruct = {0};
INTP_InitTypeDef INTP_InitStructure;
......
......@@ -527,10 +527,10 @@ int32_t RTE_GPIO_Interrupt_Register(RTE_GPIO_IRQ_Desc_st_t *pstIRQDesc,
*/
int32_t RTE_GPIO_Interrupt_Enable(RTE_GPIO_IRQ_Desc_st_t *pstIRQDesc)
{
int32_t i32Result;
uint8_t u8Index;
uint16_t u16PortIndex;
uint16_t u16PinIndex;
int32_t i32Result = 0;
uint8_t u8Index = 0;
uint16_t u16PortIndex = 0;
uint16_t u16PinIndex = 0;
INTP_InitTypeDef stEXTICfg;
// GPIO_InitTypeDef GPIO_InitStruct;
......
......@@ -17,14 +17,14 @@ typedef struct
void *pvHandler;
}RTE_GPIO_IRQ_Desc_st_t;
#define RTE_GPIO_PORT_GROUP_00 (00U)
#define RTE_GPIO_PORT_GROUP_01 (01U)
#define RTE_GPIO_PORT_GROUP_02 (02U)
#define RTE_GPIO_PORT_GROUP_03 (03U)
#define RTE_GPIO_PORT_GROUP_04 (04U)
#define RTE_GPIO_PORT_GROUP_05 (05U)
#define RTE_GPIO_PORT_GROUP_06 (06U)
#define RTE_GPIO_PORT_GROUP_07 (07U)
#define RTE_GPIO_PORT_GROUP_00 (0U)
#define RTE_GPIO_PORT_GROUP_01 (1U)
#define RTE_GPIO_PORT_GROUP_02 (2U)
#define RTE_GPIO_PORT_GROUP_03 (3U)
#define RTE_GPIO_PORT_GROUP_04 (4U)
#define RTE_GPIO_PORT_GROUP_05 (5U)
#define RTE_GPIO_PORT_GROUP_06 (6U)
#define RTE_GPIO_PORT_GROUP_07 (7U)
#define RTE_GPIO_PORT_GROUP_12 (12U)
#define RTE_GPIO_PORT_GROUP_13 (13U)
#define RTE_GPIO_PORT_GROUP_14 (14U)
......
......@@ -5,7 +5,7 @@
#include "BAT32A239.h"
#include "gpio.h"
#include "RTE_RTC.h"
#include"isr.h"
#define USED_FSUB_RTC_FCLK
......
......@@ -4,6 +4,7 @@
#include "Components.h"
#include "RTE.h"
#include "UDS_ISO14229_Server.h"
void Sys_Pseudo_Real_Time_Tasks(void)
{
Power_Management_Service();
......@@ -38,10 +39,10 @@ void Sys_5ms_Tasks(void)
}
uint8_t ljs_buf[200] = {0};
//uint8_t ljs_buf[200] = {0};
void Sys_10ms_Tasks(void)
{
memset(ljs_buf, 0x55, 200);
//memset(ljs_buf, 0x55, 200);
Line_In_Debounce_Service(10u);
Key_Service();
Data_Mileage_Write_EEPROM();
......@@ -53,6 +54,7 @@ void Sys_10ms_Tasks(void)
Protocol_Service();
Protocol_Send_Service();
//Uart0_IntSend(ljs_buf, 200) ;
FaultCode_Service(10u);
}
void Sys_20ms_Tasks(void)
......@@ -62,6 +64,7 @@ void Sys_20ms_Tasks(void)
Data_Vehicle_Speed_Processing_Service();
Data_Engine_Speed_Processing_Service();
Data_Coolant_Temp_Processing_Service();
Data_Voltage_Processing_Service();
}
......@@ -88,7 +91,7 @@ void Sys_100ms_Tasks(void)
Fuel_Cal_Sevice(100u);
BackLight_Process();
Services_Mileage_Callback();
Data_Voltage_Processing_Service();
//Data_Voltage_Processing_Service();
S3_ServerCNTT();
//ECU_FaultCode_Processing_Service();
Send_UUID_To_Esp32();
......@@ -111,6 +114,7 @@ void Sys_100ms_Tasks(void)
* @brief 50us中断服务 尽可能的减少中断使用
*
*/
void Sys_Exact_50us_Tasks(void)
{
static uint32_t task_1ms = 0u;
......@@ -122,5 +126,5 @@ void Sys_Exact_50us_Tasks(void)
task_1ms =0U;
eeprom_1ms_timeCount( );
}
//u32YZHDCount++;
}
......@@ -314,10 +314,10 @@
#define SWV 0x100 // 0x100 = 1.00 software version 软件版本号
#define HWV 0x100 // 0x100 = 1.00 hardware version 硬件版本号
#define BTV 0x100 // 0x100 = 1.00 bootloader version boot程序版本号
#define INTLV 0x101 // 0x100 = 1.00 internal version 内部版本号
#define INTLV 0x103 // 0x100 = 1.00 internal version 内部版本号
#define PROG_Y 0x24 // 0x24 = 2024年, program year
#define PROG_M 0x05 // 0x03 = 3月, program month
#define PROG_D 0x27 // 0x19 = 19日, program day
#define PROG_M 0x06 // 0x03 = 3月, program month
#define PROG_D 0x19 // 0x19 = 19日, program day
/******************************************************************************
Bootloader Variable
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
#new Option
#Mon Jun 03 09:12:48 CST 2024
#Wed Jun 19 19:12:31 CST 2024
IsSort=true
MergeFlashIsCompression=false
ChangeAppFilePath=
......@@ -7,7 +7,7 @@ MergeCanXLSPath=
RH850_D1M1AGPIOJSONpath=
DBFFilePath=
MergeCrcTtpe=21
MergeBootFilePath=D\:\\Git\\\u5929\u9E70\\tianying_ty100\\Firmware\\utility\\Boot_Release\\TianYing_TY200.080000b_Boot_B1.00_240513.hex
MergeBootFilePath=D\:\\Git\\\u5929\u9E70\\tianying_ty100\\Firmware\\utility\\Boot_Release\\TY200.080000b(ty)\\TY_TY200.080000b(ty)_Boot_B1.00_240607.hex
IsMergeChangeAddress=false
MergeFlashOutPutFilePath=
GPIOOutPutPath=
......@@ -56,8 +56,8 @@ IsHexDisplay=true
MergeLineInXLSPath=
MergeFlashInPutFilePath=
MergeFlashIsInternal=false
MergeOutPutFilePath=D\:\\Git\\\u5929\u9E70\\tianying_ty100\\Firmware\\utility\\\u7A0B\u5E8F\u91CA\u653E
MergeAppFilePath=D\:\\Git\\\u5929\u9E70\\tianying_ty100\\Firmware\\utility\\\u7A0B\u5E8F\u91CA\u653E\\TianYing.hex
MergeOutPutFilePath=D\:\\Git\\\u5929\u9E70\\tianying_ty100\\Firmware\\utility\\\u7A0B\u5E8F\u91CA\u653E\\20240619
MergeAppFilePath=D\:\\Git\\\u5929\u9E70\\tianying_ty100\\Firmware\\utility\\\u7A0B\u5E8F\u91CA\u653E\\20240619\\TianYing.hex
MergeTelltalesXLSPath=
FillingByte=-86
ImageVersion=0
......
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