Commit 4e0fc203 authored by 高士达's avatar 高士达

Merge branch 'lijianshuang' into 'dev'

Lijianshuang

See merge request !35
parents 6c38846a 37f5e13a
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -275,7 +275,7 @@
</OCR_RVCT3>
<OCR_RVCT4>
<Type>1</Type>
<StartAddress>0x8000</StartAddress>
<StartAddress>0x0</StartAddress>
<Size>0x40000</Size>
</OCR_RVCT4>
<OCR_RVCT5>
......@@ -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;..\..\..\..\Source\Component\System_Monitor</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</IncludePath>
</VariousControls>
</Cads>
<Aads>
......@@ -513,6 +513,16 @@
<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>
......@@ -573,16 +583,6 @@
<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>
......@@ -808,11 +808,6 @@
<FileType>4</FileType>
<FilePath>..\..\..\..\Source\Component\Line_In\Line_In.lib</FilePath>
</File>
<File>
<FileName>System_Monitor.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Component\System_Monitor\System_Monitor.h</FilePath>
</File>
<File>
<FileName>System_Monitor_User.c</FileName>
<FileType>1</FileType>
......@@ -843,11 +838,6 @@
<FileType>4</FileType>
<FilePath>..\..\..\..\Source\Component\Mileage\libMileage_BAT32_V1.07.lib</FilePath>
</File>
<File>
<FileName>System_Monitor.lib</FileName>
<FileType>4</FileType>
<FilePath>..\..\..\..\Source\Component\System_Monitor\System_Monitor.lib</FilePath>
</File>
<File>
<FileName>PowerManagement.lib</FileName>
<FileType>4</FileType>
......@@ -873,6 +863,11 @@
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\Component\System_Monitor\System_Monitor.c</FilePath>
</File>
<File>
<FileName>System_Monitor.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Component\System_Monitor\System_Monitor.h</FilePath>
</File>
</Files>
</Group>
<Group>
......
......@@ -15,13 +15,13 @@ 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"
......@@ -37,7 +37,7 @@ SET CPU_CLOCK=0x00B71B00
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\system_monitor_user.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\telltales_user.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\maintenance.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\system_monitor_1.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\system_monitor.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\rte_tick_timer_bat32a239.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\rte_wdt_bat32a239.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\rte_gpio_bat32a239.__i"
......
#include "Protocol_User.h"
#include "RTE.h"
#include "System_Monitor_User.h"
#include "Components.h"
#define UART_TX_MAX_DEPTH 1024UL //(2 * 1024UL) // 4K
#define UART_RX_MAX_DEPTH (2 * 1024UL) // 4K
......
......@@ -8,7 +8,7 @@ st_CanMsgTxOp CAN_CH0_CanMsgTxOp;
const st_CAN_SendAttribute CAN_CH0_CANSendAttr[CAN_CH0_ID_SEND_TOTAL] =
{
{0x220ul, 50ul * 1000ul, 7ul * 1000ul, 0u, MSG_STD, 1u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_220, (void *)0},
{0x220ul, 100ul * 1000ul, 7ul * 1000ul, 0u, MSG_STD, 1u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_220, (void *)0},
{0x6EEul, 100ul * 1000ul, 7ul * 1000ul, 0u, MSG_STD, 1u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_6EE, (void *)0},
{0x6EFul, 100ul * 1000ul, 7ul * 1000ul, 0u, MSG_STD, 1u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_6EF, (void *)0},
{0x450ul, 100ul * 1000ul, 7ul * 1000ul, 0u, MSG_STD, 1u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_450, (void *)0},
......@@ -26,7 +26,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
1000ul,
0x402ul,
(( void * )0),
(Fault_Code_Receive),
(( void * )0),
(( void * )0),
},
{
......
......@@ -13,7 +13,7 @@ void Can_Set_Buff_220(canlib_uint8_t CopyData[])
{
for ( i = 0u; i < 8u; i++ )
{
p220->Msg [ i ] = 0xFFu;
p220->Msg [ i ] = 0x0u;
}
p220 -> Sig.TCS_TX = Get_Dis_Tcs_Val();
......@@ -33,7 +33,7 @@ void Can_Set_Buff_6EE(canlib_uint8_t CopyData[])
{
for ( i = 0u; i < 8u; i++ )
{
p6EE->Msg [ i ] = 0xFFu;
p6EE->Msg [ i ] = 0x0u;
}
p6EE -> Sig.ODO_TX_H = (ODO_tx >> 16) & 0xFF ;
p6EE -> Sig.ODO_TX_M = (ODO_tx >> 8) & 0xFF ;
......@@ -78,7 +78,7 @@ void Can_Set_Buff_6EF(canlib_uint8_t CopyData[])
{
for ( i = 0u; i < 8u; i++ )
{
p6EF->Msg [ i ] = 0xFFu;
p6EF->Msg [ i ] = 0x0u;
}
p6EF -> Sig.TripA_H = (TripA_tx >> 8) & 0xFF;
p6EF -> Sig.TripA_L = TripA_tx & 0xFF;
......@@ -97,14 +97,31 @@ void Can_Set_Buff_450(canlib_uint8_t CopyData[])
{
for ( i = 0u; i < 8u; i++ )
{
p450->Msg [ i ] = 0xFFu;
p450->Msg [ i ] = 0x0u;
}
if(MenuData.TPMS_Front_Learn == 0)
{
p450 -> Sig.Front_Pressure_TX_H = 0;
p450 -> Sig.Front_Pressure_TX_L = 0;
}
else
{
p450 -> Sig.Front_Pressure_TX_H = (Get_Front_TPMS_TX() >> 8) & 0xFF;
p450 -> Sig.Front_Pressure_TX_L = Get_Front_TPMS_TX() & 0xFF;
}
if(MenuData.TPMS_Rear_Learn == 0)
{
p450 -> Sig.Rear_Pressure_TX_H = 0;
p450 -> Sig.Rear_Pressure_TX_L = 0;
}
else
{
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[])
{
......@@ -116,7 +133,7 @@ void Can_Set_Buff_580(canlib_uint8_t CopyData[])
{
for ( i = 0u; i < 8u; i++ )
{
p580->Msg [ i ] = 0xFFu;
p580->Msg [ i ] = 0x0u;
}
if(Get_Tpms_TX_Flag() == 1)
......
......@@ -23,6 +23,10 @@ void Data_TPMS_KL30_Init ( void )
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;
TPMS.TPMS_LOST = 0;
LearnTime_Count = 6001;
LearnTime_Count1 = 6001;
}
void Data_TPMS_KL15_WAKE_UP_Init ( void )
{
......@@ -36,6 +40,10 @@ void Data_TPMS_KL15_WAKE_UP_Init ( void )
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;
TPMS.TPMS_LOST = 0;
LearnTime_Count = 6001;
LearnTime_Count1 = 6001;
}
void Data_TPMS_Processing_Service ( void )
......@@ -48,11 +56,13 @@ void Data_TPMS_Processing_Service ( void )
{
TPMS.TPMS_Front_Learn = Get_CAN_CH0_ID_341_Sig_Front_LearningStatus();
TPMS.TPMS_Rear_Learn = Get_CAN_CH0_ID_341_Sig_Rear_LearningStatus();
TPMS.TPMS_LOST = 1;
}
else
{
TPMS.TPMS_Front_Learn = MenuData.TPMS_Front_Learn;
TPMS.TPMS_Rear_Learn = MenuData.TPMS_Rear_Learn;
TPMS.TPMS_LOST = 0;
}
......@@ -65,7 +75,14 @@ void Data_TPMS_Processing_Service ( void )
}
else
{
if(TPMS.TPMS_Front_Timeclean == 1)
{
LearnTime_Count = 0;
}
TPMS.TPMS_Front_Timeclean = 0;
if ((MenuData.TPMS_Front_Learn != 0x2) && (MenuData.TPMS_Front_Learn != 0x3) )
{
if(CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x341_Msg_Count) != CAN_SIG_LOST)
{
TPMS.TPMS_Front_Learn = LearningFailure;
}
......@@ -73,10 +90,21 @@ void Data_TPMS_Processing_Service ( void )
{
TPMS.TPMS_Front_Learn = MenuData.TPMS_Front_Learn;
}
}
else
{
TPMS.TPMS_Front_Learn = MenuData.TPMS_Front_Learn;
}
}
}
else if(TPMS.TPMS_Front_Learn == 0x1)
{
if(TPMS.TPMS_Front_Timeclean == 0)
{
LearnTime_Count = 0;
}
TPMS.TPMS_Front_Timeclean = 1;
if(LearnTime_Count <= 6000)
{
LearnTime_Count++;
......@@ -85,6 +113,8 @@ void Data_TPMS_Processing_Service ( void )
else
{
if ((MenuData.TPMS_Front_Learn != 0x2) && (MenuData.TPMS_Front_Learn != 0x3) )
{
if(CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x341_Msg_Count) != CAN_SIG_LOST)
{
TPMS.TPMS_Front_Learn = LearningFailure;
}
......@@ -93,6 +123,11 @@ void Data_TPMS_Processing_Service ( void )
TPMS.TPMS_Front_Learn = MenuData.TPMS_Front_Learn;
}
}
else
{
TPMS.TPMS_Front_Learn = MenuData.TPMS_Front_Learn;
}
}
}
else if (TPMS.TPMS_Front_Learn == 0x2)
{
......@@ -127,7 +162,14 @@ void Data_TPMS_Processing_Service ( void )
}
else
{
if(TPMS.TPMS_Rear_Timeclean == 1)
{
LearnTime_Count1 = 0;
}
TPMS.TPMS_Rear_Timeclean = 0;
if ((MenuData.TPMS_Rear_Learn != 0x2) && (MenuData.TPMS_Rear_Learn != 0x3) )
{
if(CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x341_Msg_Count) != CAN_SIG_LOST)
{
TPMS.TPMS_Rear_Learn = LearningFailure;
}
......@@ -136,6 +178,11 @@ void Data_TPMS_Processing_Service ( void )
TPMS.TPMS_Rear_Learn = MenuData.TPMS_Rear_Learn;
}
}
else
{
TPMS.TPMS_Rear_Learn = MenuData.TPMS_Rear_Learn;
}
}
}
else if(TPMS.TPMS_Rear_Learn == 0x1)
{
......@@ -146,13 +193,25 @@ void Data_TPMS_Processing_Service ( void )
}
else
{
if(TPMS.TPMS_Rear_Timeclean == 0)
{
LearnTime_Count1 = 0;
}
TPMS.TPMS_Rear_Timeclean = 1;
if ((MenuData.TPMS_Rear_Learn != 0x2) && (MenuData.TPMS_Rear_Learn != 0x3) )
{
if(CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x341_Msg_Count) != CAN_SIG_LOST)
{
TPMS.TPMS_Rear_Learn = LearningFailure;
}
else
{
TPMS.TPMS_Rear_Learn = MenuData.TPMS_Front_Learn;
TPMS.TPMS_Rear_Learn = MenuData.TPMS_Rear_Learn;
}
}
else
{
TPMS.TPMS_Rear_Learn = MenuData.TPMS_Rear_Learn;
}
}
}
......@@ -234,13 +293,13 @@ void Data_TPMS_Processing_Service ( void )
TPMS.Front_TPMS_Valid = 0;
TPMS.Rear_TPMS_Valid = 1;
TPMS.Front_Press_Value = 990;
TPMS.Rear_Press_Value = Rear_TPMS * 275;
TPMS.Rear_Press_Value = Rear_TPMS * 2750;
TPMS.Rear_Press_Value /= 102 ;
if(TPMS.Rear_Press_Value > 990)
if(TPMS.Rear_Press_Value > 9900)
{
TPMS.Rear_Press_Value = 990;
TPMS.Rear_Press_Value = 9900;
}
if((TPMS.Rear_Press_Value < 170) || (TPMS.Rear_Press_Value > 250))
if(((TPMS.Rear_Press_Value + 50)< 1700) || ((TPMS.Rear_Press_Value + 50) > 2500))
{
TPMS.TPMS_Warning = 1;
}
......@@ -254,13 +313,13 @@ void Data_TPMS_Processing_Service ( void )
TPMS.Front_TPMS_Valid = 1;
TPMS.Rear_TPMS_Valid = 0;
TPMS.Rear_Press_Value = 990;
TPMS.Front_Press_Value = Front_TPMS *275 ;
TPMS.Front_Press_Value = Front_TPMS *2750 ;
TPMS.Front_Press_Value /= 102 ;
if(TPMS.Front_Press_Value > 990)
if(TPMS.Front_Press_Value > 9900)
{
TPMS.Front_Press_Value = 990;
TPMS.Front_Press_Value = 9900;
}
if((TPMS.Front_Press_Value < 170) || (TPMS.Front_Press_Value > 230))
if(((TPMS.Front_Press_Value + 50) < 1700) || ((TPMS.Front_Press_Value + 50) > 2300))
{
TPMS.TPMS_Warning = 1;
}
......@@ -271,9 +330,9 @@ void Data_TPMS_Processing_Service ( void )
}
else
{
TPMS.Front_Press_Value = 990;
TPMS.Rear_Press_Value = 990;
//TPMS.TPMS_Warning = 0;
TPMS.Front_Press_Value = 9900;
TPMS.Rear_Press_Value = 9900;
TPMS.TPMS_Warning = 0;
TPMS.Front_TPMS_Valid = 0;
TPMS.Rear_TPMS_Valid = 0;
}
......@@ -282,20 +341,20 @@ void Data_TPMS_Processing_Service ( void )
{
TPMS.Front_TPMS_Valid = 1;
TPMS.Rear_TPMS_Valid = 1;
TPMS.Front_Press_Value = Front_TPMS * 275 ;
TPMS.Front_Press_Value = Front_TPMS * 2750 ;
TPMS.Front_Press_Value /= 102 ;
if(TPMS.Front_Press_Value > 990)
if(TPMS.Front_Press_Value > 9900)
{
TPMS.Front_Press_Value = 990;
TPMS.Front_Press_Value = 9900;
}
TPMS.Rear_Press_Value = Rear_TPMS * 275;
TPMS.Rear_Press_Value = Rear_TPMS * 2750;
TPMS.Rear_Press_Value /= 102 ;
if(TPMS.Rear_Press_Value > 990)
if(TPMS.Rear_Press_Value > 9900)
{
TPMS.Rear_Press_Value = 990;
TPMS.Rear_Press_Value = 9900;
}
if ((TPMS.Front_Press_Value < 170) || (TPMS.Front_Press_Value > 230) || (TPMS.Rear_Press_Value < 170) || (TPMS.Rear_Press_Value > 250))
if (((TPMS.Front_Press_Value + 50) < 1700) || ((TPMS.Front_Press_Value + 50) > 2300) || ((TPMS.Rear_Press_Value + 50) < 1700) || ((TPMS.Rear_Press_Value + 50) > 2500))
{
TPMS.TPMS_Warning = 1;
}
......@@ -322,7 +381,7 @@ void Data_TPMS_Processing_Service ( void )
else if(TPMS.TPMS_Front_Learn == LearningFailure)
{
TPMS.TPMS_Front_FirstLearn_Flag = LearningFailure;
TPMS.Front_Press_Value = 990;
TPMS.Front_Press_Value = 9900;
}
else
{
......@@ -345,7 +404,7 @@ void Data_TPMS_Processing_Service ( void )
else if(TPMS.TPMS_Rear_Learn == LearningFailure)
{
TPMS.TPMS_Rear_FirstLearn_Flag = LearningFailure;
TPMS.Rear_Press_Value = 990;
TPMS.Rear_Press_Value = 9900;
}
else
{
......@@ -372,7 +431,7 @@ uint32_t Data_Bar_To_Psi (uint32_t bar)
uint32_t Bar = 0;
Bar = bar * 145;
Bar /= 10;
Bar += 5;
//Bar += 5;
// bar *= 145;
// bar /= 10;
// bar += 5;
......@@ -400,7 +459,7 @@ uint16_t Get_Front_TPMS_Sig_Value (void)
uint16_t value = 0;
if (TPMS.TPMS_Unit == 1)
{
value = (Data_Bar_To_Psi(TPMS.Front_Press_Value) + 50) / 100;
value = (Data_Bar_To_Psi(TPMS.Front_Press_Value) + 500) / 1000;
if(value > 99)
{
value = 99;
......@@ -408,8 +467,8 @@ uint16_t Get_Front_TPMS_Sig_Value (void)
}
else
{
value = TPMS.Front_Press_Value + 5;
value = value / 10;
value = TPMS.Front_Press_Value + 50;
value = value / 100;
}
return value;
}
......@@ -418,7 +477,7 @@ uint16_t Get_Rear_TPMS_Sig_Value (void)
uint16_t value = 0;
if (TPMS.TPMS_Unit == 1)
{
value = (Data_Bar_To_Psi(TPMS.Rear_Press_Value) + 50) / 100;
value = (Data_Bar_To_Psi(TPMS.Rear_Press_Value) + 500) / 1000;
if(value > 99)
{
value = 99;
......@@ -427,15 +486,15 @@ uint16_t Get_Rear_TPMS_Sig_Value (void)
}
else
{
value = TPMS.Rear_Press_Value + 5;
value = value / 10;
value = TPMS.Rear_Press_Value + 50;
value = value / 100;
}
return value;
}
uint16_t Get_Rear_TPMS_TX (void)
{
uint16_t value = 0;
value = Data_Bar_To_Psi(TPMS.Rear_Press_Value) / 10;
value = Data_Bar_To_Psi(TPMS.Rear_Press_Value) / 100;
if(value > 990)
{
value = 990;
......@@ -445,7 +504,7 @@ uint16_t Get_Rear_TPMS_TX (void)
uint16_t Get_Front_TPMS_TX (void)
{
uint16_t value = 0;
value = Data_Bar_To_Psi(TPMS.Front_Press_Value) / 10;
value = Data_Bar_To_Psi(TPMS.Front_Press_Value) / 100;
if(value > 990)
{
value = 990;
......@@ -464,3 +523,9 @@ uint8_t Get_Rear_FirstLearn_Flag (void)
return TPMS.TPMS_Rear_FirstLearn_Flag;
}
/*获取0x341是否掉线 0-掉线 “--”闪烁 1-在线 获取学习结果进行显示*/
uint8_t Get_TPMS_CAN_LOST (void)
{
return TPMS.TPMS_LOST ;
}
......@@ -10,11 +10,15 @@ typedef struct __attribute__((aligned(4)))
uint8_t Rear_TPMS_Valid;
uint8_t TPMS_Warning;
uint8_t TPMS_Unit;
uint8_t TPMS_LOST;
uint8_t TPMS_Front_Learn;
uint8_t TPMS_Rear_Learn;
uint8_t TPMS_Front_FirstLearn_Flag;
uint8_t TPMS_Rear_FirstLearn_Flag;
uint8_t TPMS_Front_Timeclean;
uint8_t TPMS_Rear_Timeclean;
}_TPMS_Display;
typedef enum
{
......@@ -36,4 +40,5 @@ 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);
uint8_t Get_TPMS_CAN_LOST (void);
#endif
......@@ -4,6 +4,7 @@
static uint16_t DataVSpeedActual;
static uint16_t DataVSpeedDisp;
static uint32_t DataVSpeedTarget;
static uint16_t DataVSpeedHysteresis;
static uint8_t DataVSpeedValid;
// static uint16_t DataVSpeedDisp_Mile;
......@@ -34,6 +35,7 @@ void Data_Vehicle_Speed_KL30_Init(void)
DataVSPeedDamping.Dir = DATA_APPR_DIR_INC;
DataVSpeedSampler.Timer1 = 0;
DataVSpeedSampler.Timer = 0;
DataVSpeedTarget = 0;
}
/******************************************************************************
......@@ -53,6 +55,7 @@ void Data_Vehicle_Speed_Wakeup_Init(void)
DataVSPeedDamping.Dir = DATA_APPR_DIR_INC;
DataVSpeedSampler.Timer1 = 0;
DataVSpeedSampler.Timer = 0;
DataVSpeedTarget = 0;
}
/******************************************************************************
......@@ -120,8 +123,8 @@ void Data_Vehicle_Speed_Processing_Service(void)
VSpeed = DataVSpeedSampler.Buffer [ 1 ];
DataVSpeedActual = VSpeed * 10;
}
DataVSpeedSampler.Timer = 0;
DataVSpeedSampler.Timer1 = 0;
//DataVSpeedSampler.Timer = 0;
//DataVSpeedSampler.Timer1 = 0;
DataVSpeedSampler.Backup = DataVSpeedActual;
DataVSpeedValid = 1;
}
......@@ -132,18 +135,128 @@ void Data_Vehicle_Speed_Processing_Service(void)
{
DataVSpeedValid = 0;
DataVSpeedActual = 0;
DataVSpeedSampler.Timer = 0;
DataVSpeedSampler.Timer1 = 0;
//DataVSpeedSampler.Timer = 0;
//DataVSpeedSampler.Timer1 = 0;
DataVSpeedSampler.Cnt = 0;
DataVSpeedSampler.Backup = 0;
}
DataVSpeedTarget = DataVSpeedActual;
if ( DataVSpeedValid )
{
DataVSpeedTarget *= 108;
DataVSpeedTarget /= 100;
if(DataVSpeedTarget > 1990)
{
DataVSpeedTarget = 1990;
}
}
else
{
DataVSpeedTarget = 0;
}
if ( (DataVSpeedTarget >= DataVSpeedHysteresis) || (DataVSpeedTarget < DATA_VSPEED_HYSTERESIS) )
{
DataVSpeedHysteresis = DataVSpeedTarget;
}
else
{
if ( DataVSpeedHysteresis - DataVSpeedTarget >= DATA_VSPEED_HYSTERESIS )
{
DataVSpeedHysteresis = DataVSpeedTarget;
}
}
DataVSpeedSampler.Timer ++;
if(DataVSpeedSampler.Timer >= 10)
{
DataVSpeedSampler.Timer = 0;
if(DataVSpeedDisp < DataVSpeedHysteresis)
{
DataVSPeedDamping.Dir = DATA_APPR_DIR_INC;
}
else if (DataVSpeedDisp > DataVSpeedHysteresis)
{
DataVSPeedDamping.Dir = DATA_APPR_DIR_DEC;
}
else
{
;
}
if ( DataVSPeedDamping.Dir == DATA_APPR_DIR_INC)
{
if (DataVSpeedHysteresis >= DataVSpeedDisp)
{
if (DataVSpeedHysteresis > (DataVSpeedDisp + 400))
{
DataVSpeedDisp += 370;
}
else if (DataVSpeedHysteresis > (DataVSpeedDisp + 150))
{
DataVSpeedDisp += 120;
}
else if (DataVSpeedHysteresis > (DataVSpeedDisp + 50))
{
DataVSpeedDisp += 30;
}
else if (DataVSpeedHysteresis > (DataVSpeedDisp + 10))
{
DataVSpeedDisp += 10;
}
else
{
DataVSpeedDisp = DataVSpeedHysteresis;
}
}
}
else if (DataVSPeedDamping.Dir == DATA_APPR_DIR_DEC)
{
if (DataVSpeedHysteresis < DataVSpeedDisp)
{
if ((DataVSpeedHysteresis + 400) < DataVSpeedDisp)
{
DataVSpeedDisp -= 370;
}
else if ((DataVSpeedHysteresis + 150) < DataVSpeedDisp)
{
DataVSpeedDisp -= 120;
}
else if ((DataVSpeedHysteresis + 50) < DataVSpeedDisp)
{
DataVSpeedDisp -= 30;
}
else if ((DataVSpeedHysteresis + 10) < DataVSpeedDisp)
{
DataVSpeedDisp -= 10;
}
else
{
DataVSpeedDisp = DataVSpeedHysteresis;
}
}
if (DataVSpeedDisp >= 1990)
{
DataVSpeedDisp = 1990;
}
}
}
#if(0)
// 第2步:车速的阻尼处理
VSpeed = DataVSpeedActual;
if ( VSpeed > DataVSPeedDamping.Speed ) // 实际值比当前显示值大时
{
Delta = ( uint16_t )VSpeed - DataVSPeedDamping.Speed;
if ( DataVSPeedDamping.Dir == DATA_APPR_DIR_INC ) // 显示值正在向实际值增加,则维持当前方向调节增加速度
{
if ( DataVSPeedDamping.Delta < Delta ) // 当前增量小于显示值与实际值的差值,则提升增加的速度
......@@ -304,6 +417,7 @@ void Data_Vehicle_Speed_Processing_Service(void)
{
DataVSpeedDisp = 0;
}
#endif
}
/*车速有效位:有效=1,无效=0*/
......
#include "Data_Fuel.h"
#include "Application.h"
#define FUEL_DATA_TIME 25u /*这里填写多长时间采集一个数据,单位ms*/
#define FUEL_DATA_NUM 20u /*燃油电阻采集数据总数 最大255*/
#define FUEL_CAL_START 5u /*数据排序后取中间部分计算平均:起始*/
#define FUEL_CAL_END 15u /*数据排序后取中间部分计算平均:结束*/
#define FUEL_DATA_TIME 10u /*这里填写多长时间采集一个数据,单位ms*/
#define FUEL_DATA_NUM 40u /*燃油电阻采集数据总数 最大255*/
#define FUEL_CAL_START 15u /*数据排序后取中间部分计算平均:起始*/
#define FUEL_CAL_END 25u /*数据排序后取中间部分计算平均:结束*/
#define RETURN_DIFFERENCE 25u /*判断上升或下降的回差,精度0.1*/
#define RETURN_DIFFERENCE 15u /*判断上升或下降的回差,精度0.1*/
#define FUEL_SEG_UP 0u
#define FUEL_SEG_DOWN 1u
......@@ -67,7 +67,8 @@ void Fuel_R_Cal(uint8_t deltaTime)
static uint16_t timeCount = 0;
if(FuelStateInitFlag)
if((FuelStateInitFlag) && (ADC_Read_Signal_Valid(ADC_CH_FUEL1)))
{
FuelR = ADC_Read_Signal(ADC_CH_FUEL1);
}
......
......@@ -112,15 +112,8 @@ void Gauge_Service(void)
// BU98R10Chip1DDRAM.Byte[i] = 0x77;
//}
if (VSpeed_Count < 3)
{
VSpeed_Count++;
}
else
{
VSpeed_Count = 0;
SEG_SET_VSpeed_NUM(1u, Get_DispVechileSpeed( ) / 10u,Get_Dis_KM_Unit());
}
SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(Get_Dis_KM_Unit(), Get_ODO_Value() / 10u, Get_Trip_Value());
Gauge_Clock_Display();
......@@ -152,7 +145,9 @@ void Gauge_Service(void)
LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_17_Length2, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_18_Length1, LED_OFF);
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);
}
}
......
......@@ -364,7 +364,7 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
}
else
{
switch(m_Code)
switch (m_Code)
{
case EC_NAVI_ICON_LEFT:
case EC_NAVI_ICON_ENTRY_RING_LEFT:
......@@ -677,7 +677,7 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
break;
}
}
if(m_Flag)
if (m_Flag && BlueTooth.BLE_St)
{
LED_Driver_Channel_Set(LampChannel_0, LampCh0_17_Length2, LED_ON);
......@@ -690,7 +690,7 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
}
else
{
if(m_Mileage < 1000)
if (m_Mileage < 1000)
{
IC1_SEG030 = IC_SEG_OFF;
IC1_SEG130 = IC_SEG_ON;
......@@ -702,7 +702,6 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
IC1_SEG130 = IC_SEG_OFF;
IC1_SEG129 = IC_SEG_ON;
}
}
{
......@@ -783,12 +782,19 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
if (m_Mileage < 1000)
{
Num = m_Mileage / 100;
if ((ClearODO_Flag == 1) || (Common_GetIgnOnTime() < 3000))
{
m8 = SEG_DISPLAY_NUMBER0[Num];
}
else
{
m8 = SEG_UNDISPLAY_NUMBER0[Num];
}
}
else
{
Num = ((m_Mileage + 50) / 100) % 1000 / 100;
if (m_Mileage >= 10000)
if ((m_Mileage >= 10000) || (ClearODO_Flag == 1) || (Common_GetIgnOnTime() < 3000))
{
m8 = SEG_DISPLAY_NUMBER0[Num];
}
......@@ -797,11 +803,6 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
m8 = SEG_UNDISPLAY_NUMBER0[Num];
}
}
if((ClearODO_Flag == 1) || (Common_GetIgnOnTime() < 3000))
{
m8 = SEG_DISPLAY_NUMBER0[Num];
}
if (Bit_Is_Set(m8, 0))
{
......@@ -862,7 +863,7 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
if (m_Mileage < 1000)
{
Num = (m_Mileage / 10) % 10;
if(m_Mileage >= 10)
if ((m_Mileage >= 10) || (ClearODO_Flag == 1) || (Common_GetIgnOnTime() < 3000))
{
m8 = SEG_DISPLAY_NUMBER0[Num];
}
......@@ -870,17 +871,13 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
{
m8 = SEG_UNDISPLAY_NUMBER0[Num];
}
}
else
{
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;
......@@ -942,18 +939,13 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
Num = m_Mileage % 10;
m8 = SEG_DISPLAY_NUMBER0[Num];
}
else
{
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;
......@@ -1059,6 +1051,8 @@ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage)
}
}
/**@brief 燃油表显示函数
* @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
* @param[in] m_SEG 燃油表盘段数0<=m_SEG<=5
......@@ -1075,7 +1069,7 @@ void SEG_SET_FuelDial(uint8_t m_Flag, uint8_t m_SEG)
IC2_SEG102 = IC_SEG_GREY;
IC2_SEG101 = IC_SEG_GREY;
if (((Get_Fuel_Sensor_State() == 2) || (Get_Fuel_Sensor_State() == 1))&& (ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= 3000))
if (((Get_Fuel_Sensor_State() == 2) || (Get_Fuel_Sensor_State() == 1)) && (ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= 3000))
{
if (FLASH_SYNC_1Hz)
{
......@@ -1103,7 +1097,7 @@ void SEG_SET_FuelDial(uint8_t m_Flag, uint8_t m_SEG)
else
{
if((Get_CurFuelSetp() == 0) && (Common_GetIgnOnTime() >= 3000))
if ((Get_CurFuelSetp() == 0) && (Common_GetIgnOnTime() >= 3000))
{
if (FLASH_SYNC_1Hz)
{
......@@ -1154,7 +1148,6 @@ void SEG_SET_FuelDial(uint8_t m_Flag, uint8_t m_SEG)
break;
}
}
}
}
else
......@@ -1168,7 +1161,6 @@ void SEG_SET_FuelDial(uint8_t m_Flag, uint8_t m_SEG)
IC2_SEG107 = IC_SEG_OFF;
IC2_SEG100 = IC_SEG_OFF;
}
}
/**@brief 转速表盘显示函数
......@@ -1291,8 +1283,6 @@ void SEG_SET_EspeedDial(uint8_t m_Flag, uint8_t m_SEG)
default:
break;
}
}
else
{
......@@ -1352,7 +1342,6 @@ void SEG_SET_EspeedDial(uint8_t m_Flag, uint8_t m_SEG)
IC1_SEG140 = IC_SEG_OFF;
IC1_SEG144 = IC_SEG_OFF;
}
}
/**@brief 水温表显示函数
* @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
......@@ -1366,7 +1355,7 @@ void SEG_SET_CoolantDial(uint8_t m_Flag, uint8_t m_SEG, uint16_t m_Num, uint8_t
uint8_t m8;
if (m_Flag == 1u)
{
if((m_flash == 0) && (ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= 3000))
if ((m_flash == 0) && (ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= 3000))
{
if (FLASH_SYNC_1Hz)
{
......@@ -1411,7 +1400,7 @@ void SEG_SET_CoolantDial(uint8_t m_Flag, uint8_t m_SEG, uint16_t m_Num, uint8_t
default:
break;
}
if((m_flash == 0) && (ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= 3000))
if ((m_flash == 0) && (ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= 3000))
{
IC1_SEG128 = IC_SEG_OFF;
IC1_SEG125 = IC_SEG_OFF;
......@@ -1564,8 +1553,6 @@ void SEG_SET_CoolantDial(uint8_t m_Flag, uint8_t m_SEG, uint16_t m_Num, uint8_t
IC1_SEG116 = IC_SEG_OFF;
}
}
}
else
{
......@@ -1595,15 +1582,13 @@ void SEG_SET_CoolantDial(uint8_t m_Flag, uint8_t m_SEG, uint16_t m_Num, uint8_t
IC1_SEG120 = IC_SEG_OFF;
IC1_SEG116 = IC_SEG_OFF;
}
}
/**@brief 车速数字显示函数
* @param[in] m_Flag 车速是否显示 -1 显示 -0 不显示
* @param[in] m_NUM 车速数值
* @param[in] m_Unit 车速单位 -0 Km -1 mile
*/
* @param[in] m_Flag 车速是否显示 -1 显示 -0 不显示
* @param[in] m_NUM 车速数值
* @param[in] m_Unit 车速单位 -0 Km -1 mile
*/
void SEG_SET_VSpeed_NUM(uint8_t m_Flag, uint16_t m_NUM, uint8_t m_Unit)
{
uint16_t Num = 0;
......@@ -1627,14 +1612,13 @@ void SEG_SET_VSpeed_NUM(uint8_t m_Flag, uint16_t m_NUM, uint8_t m_Unit)
RTE_GPIO_Set_Level(VSpeed_Hundreds, 0);
}
if ((ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= 3000))
{
if (Get_Current_PageType() == Page_Km_Unit)
{
if (m_Unit == 0)
{
if(FLASH_SYNC_1Hz)
if (FLASH_SYNC_1Hz)
{
IC2_SEG156 = IC_SEG_OFF;
IC2_SEG159 = IC_SEG_ON;
......@@ -1648,11 +1632,10 @@ void SEG_SET_VSpeed_NUM(uint8_t m_Flag, uint16_t m_NUM, uint8_t m_Unit)
LED_Driver_Channel_Set(LampChannel_0, LampCh0_08_KMH, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_09_MPH, LED_OFF);
}
}
else
{
if(FLASH_SYNC_1Hz)
if (FLASH_SYNC_1Hz)
{
IC2_SEG156 = IC_SEG_ON;
IC2_SEG159 = IC_SEG_OFF;
......@@ -1667,7 +1650,6 @@ void SEG_SET_VSpeed_NUM(uint8_t m_Flag, uint16_t m_NUM, uint8_t m_Unit)
LED_Driver_Channel_Set(LampChannel_0, LampCh0_09_MPH, LED_OFF);
}
}
}
else
{
......@@ -1686,7 +1668,6 @@ void SEG_SET_VSpeed_NUM(uint8_t m_Flag, uint16_t m_NUM, uint8_t m_Unit)
LED_Driver_Channel_Set(LampChannel_0, LampCh0_09_MPH, LED_ON);
}
}
}
else
{
......@@ -1828,7 +1809,6 @@ void SEG_SET_VSpeed_NUM(uint8_t m_Flag, uint16_t m_NUM, uint8_t m_Unit)
{
IC2_SEG150 = IC_SEG_OFF;
}
}
else
{
......@@ -1856,18 +1836,18 @@ void SEG_SET_VSpeed_NUM(uint8_t m_Flag, uint16_t m_NUM, uint8_t m_Unit)
}
}
/**@brief 电压数字显示函数
* @param[in] m_Flag 电压是否显示 -1 显示 -0 不显示
* @param[in] m_NUM 电压数值
*/
* @param[in] m_Flag 电压是否显示 -1 显示 -0 不显示
* @param[in] m_NUM 电压数值
*/
void SEG_SET_Voltage_NUM(uint8_t m_Flag, uint16_t m_NUM)
{
uint16_t Num = 0;
uint8_t m8;
if(m_Flag)
if (m_Flag)
{
IC1_SEG079 = IC_SEG_ON;
IC1_SEG086 = IC_SEG_ON;
if((Get_Battery_Voltage_Valid() != 1)&&(ClearODO_Flag != 1)&&(Common_GetIgnOnTime() > 3000))
if ((Get_Battery_Voltage_Valid() != 1) && (ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= 3000))
{
IC1_SEG088 = IC_SEG_ON;
......@@ -1896,7 +1876,7 @@ void SEG_SET_Voltage_NUM(uint8_t m_Flag, uint16_t m_NUM)
else
{
Num = m_NUM / 100;
if((ClearODO_Flag == 1) || (Common_GetIgnOnTime() <= 3000))
if ((ClearODO_Flag == 1) || (Common_GetIgnOnTime() <= 3000))
{
m8 = SEG_DISPLAY_NUMBER0[Num];
}
......@@ -1905,7 +1885,6 @@ void SEG_SET_Voltage_NUM(uint8_t m_Flag, uint16_t m_NUM)
m8 = SEG_UNDISPLAY_NUMBER0[Num];
}
if (Bit_Is_Set(m8, 0))
{
IC1_SEG096 = IC_SEG_ON;
......@@ -2088,25 +2067,23 @@ void SEG_SET_Voltage_NUM(uint8_t m_Flag, uint16_t m_NUM)
IC1_SEG081 = IC_SEG_OFF;
}
}
}
}
/**@brief 胎压数字显示函数
* @param[in] m_Flag 胎压是否显示 -1 显示 -0 不显示
* @param[in] m_NUM1 前轮胎压数值
* @param[in] m_NUM2 后轮胎压数值
* @param[in] m_Unit 胎压单位 -1 Psi -0 Bar
* @param[in] m_valid1 前轮有效标志 -0 无效,显示--
* @param[in] m_valid2 后轮有效标志 -0 无效,显示--
*/
* @param[in] m_Flag 胎压是否显示 -1 显示 -0 不显示
* @param[in] m_NUM1 前轮胎压数值
* @param[in] m_NUM2 后轮胎压数值
* @param[in] m_Unit 胎压单位 -1 Psi -0 Bar
* @param[in] m_valid1 前轮有效标志 -0 无效,显示--
* @param[in] m_valid2 后轮有效标志 -0 无效,显示--
*/
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;
uint8_t m8;
if(m_Flag)
if (m_Flag)
{
IC2_SEG142 = IC_SEG_ON;
IC2_SEG122 = IC_SEG_ON;
......@@ -2118,7 +2095,7 @@ void SEG_SET_TPMS_DISPLAY(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint
{
IC2_SEG118 = IC_SEG_ON;
IC2_SEG138 = IC_SEG_ON;
if(FLASH_SYNC_1Hz)
if (FLASH_SYNC_1Hz)
{
IC2_SEG109 = IC_SEG_OFF;
IC2_SEG110 = IC_SEG_ON;
......@@ -2133,7 +2110,7 @@ void SEG_SET_TPMS_DISPLAY(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint
{
IC2_SEG118 = IC_SEG_OFF;
IC2_SEG138 = IC_SEG_OFF;
if(FLASH_SYNC_1Hz)
if (FLASH_SYNC_1Hz)
{
IC2_SEG109 = IC_SEG_ON;
IC2_SEG110 = IC_SEG_OFF;
......@@ -2144,21 +2121,18 @@ void SEG_SET_TPMS_DISPLAY(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint
IC2_SEG110 = IC_SEG_OFF;
}
}
}
else
{
if (m_Unit == 0)
{
IC2_SEG109 = IC_SEG_OFF;
IC2_SEG110 = IC_SEG_ON;
if ((Get_Current_PageType() == Page_Front_Tpms) || (Get_Front_FirstLearn_Flag() == 1) || (Get_Front_FirstLearn_Flag() == 3))
{
if(FLASH_SYNC_1Hz)
if (FLASH_SYNC_1Hz)
{
IC2_SEG138 = IC_SEG_ON;
}
......@@ -2174,7 +2148,7 @@ void SEG_SET_TPMS_DISPLAY(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint
if ((Get_Current_PageType() == Page_Rear_Tpms) || (Get_Rear_FirstLearn_Flag() == 1) || (Get_Rear_FirstLearn_Flag() == 3))
{
if(FLASH_SYNC_1Hz)
if (FLASH_SYNC_1Hz)
{
IC2_SEG118 = IC_SEG_ON;
}
......@@ -2187,7 +2161,6 @@ void SEG_SET_TPMS_DISPLAY(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint
{
IC2_SEG118 = IC_SEG_ON;
}
}
else
{
......@@ -2196,27 +2169,64 @@ void SEG_SET_TPMS_DISPLAY(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint
IC2_SEG118 = IC_SEG_OFF;
IC2_SEG138 = IC_SEG_OFF;
}
}
if(Get_TPMS_CAN_LOST() == 0)
{
IC2_SEG140 = IC_SEG_ON;
IC2_SEG133 = IC_SEG_ON;
IC2_SEG120 = IC_SEG_ON;
IC2_SEG113 = 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;
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;
}
SEG_SET_FRONT_TPMS_NUM( Get_Front_FirstLearn_Flag(), m_NUM1, m_valid1);
else
{
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
{
IC2_SEG109 = IC_SEG_ON;
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_FRONT_TPMS_NUM(2, m_NUM1, m_valid1);
SEG_SET_Rear_TPMS_NUM(2, m_NUM2, m_valid2);
}
}
else
{
......@@ -2255,11 +2265,10 @@ void SEG_SET_TPMS_DISPLAY(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint
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)
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;
......@@ -2268,7 +2277,7 @@ void SEG_SET_FRONT_TPMS_NUM(uint8_t learnflag, uint16_t m_NUM1,uint8_t m_valid1)
{
if (Get_Current_PageType() == Page_Front_Tpms)
{
if(FLASH_SYNC_1Hz)
if (FLASH_SYNC_1Hz)
{
IC2_SEG140 = IC_SEG_ON;
IC2_SEG133 = IC_SEG_ON;
......@@ -2308,11 +2317,10 @@ void SEG_SET_FRONT_TPMS_NUM(uint8_t learnflag, uint16_t m_NUM1,uint8_t m_valid1)
IC2_SEG137 = IC_SEG_OFF;
IC2_SEG136 = IC_SEG_OFF;
}
}
else if (learnflag == 1)
{
if(FLASH_SYNC_1Hz)
if (FLASH_SYNC_1Hz)
{
IC2_SEG140 = IC_SEG_ON;
IC2_SEG133 = IC_SEG_ON;
......@@ -2339,7 +2347,7 @@ void SEG_SET_FRONT_TPMS_NUM(uint8_t learnflag, uint16_t m_NUM1,uint8_t m_valid1)
{
if (Get_Current_PageType() == Page_Front_Tpms)
{
if(FLASH_SYNC_1Hz)
if (FLASH_SYNC_1Hz)
{
if (m_valid1 == 1)
{
......@@ -2655,11 +2663,10 @@ void SEG_SET_FRONT_TPMS_NUM(uint8_t learnflag, uint16_t m_NUM1,uint8_t m_valid1)
IC2_SEG136 = IC_SEG_OFF;
}
}
}
else if (learnflag == 3)
{
if(FLASH_SYNC_1Hz)
if (FLASH_SYNC_1Hz)
{
IC2_SEG140 = IC_SEG_ON;
IC2_SEG133 = IC_SEG_ON;
......@@ -2703,7 +2710,7 @@ 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)
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;
......@@ -2712,7 +2719,7 @@ void SEG_SET_Rear_TPMS_NUM(uint8_t learnflag, uint16_t m_NUM2,uint8_t m_valid2)
{
if (Get_Current_PageType() == Page_Rear_Tpms)
{
if(FLASH_SYNC_1Hz)
if (FLASH_SYNC_1Hz)
{
IC2_SEG120 = IC_SEG_ON;
IC2_SEG113 = IC_SEG_ON;
......@@ -2756,11 +2763,10 @@ void SEG_SET_Rear_TPMS_NUM(uint8_t learnflag, uint16_t m_NUM2,uint8_t m_valid2)
IC2_SEG117 = IC_SEG_OFF;
IC2_SEG116 = IC_SEG_OFF;
}
}
else if (learnflag == 1)
{
if(FLASH_SYNC_1Hz)
if (FLASH_SYNC_1Hz)
{
IC2_SEG120 = IC_SEG_ON;
IC2_SEG113 = IC_SEG_ON;
......@@ -2782,13 +2788,12 @@ void SEG_SET_Rear_TPMS_NUM(uint8_t learnflag, uint16_t m_NUM2,uint8_t m_valid2)
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 (FLASH_SYNC_1Hz)
{
if (m_valid2 == 1)
{
......@@ -3108,11 +3113,10 @@ void SEG_SET_Rear_TPMS_NUM(uint8_t learnflag, uint16_t m_NUM2,uint8_t m_valid2)
IC2_SEG116 = IC_SEG_OFF;
}
}
}
else if (learnflag == 3)
{
if(FLASH_SYNC_1Hz)
if (FLASH_SYNC_1Hz)
{
IC2_SEG120 = IC_SEG_ON;
IC2_SEG113 = IC_SEG_ON;
......@@ -3174,7 +3178,7 @@ void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint
{
if (m_Uint == 0)
{
if(FLASH_SYNC_1Hz)
if (FLASH_SYNC_1Hz)
{
IC1_SEG036 = IC_SEG_OFF;
IC1_SEG037 = IC_SEG_ON;
......@@ -3187,7 +3191,7 @@ void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint
}
else
{
if(FLASH_SYNC_1Hz)
if (FLASH_SYNC_1Hz)
{
IC1_SEG036 = IC_SEG_ON;
IC1_SEG037 = IC_SEG_OFF;
......@@ -3198,11 +3202,10 @@ void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint
IC1_SEG037 = IC_SEG_OFF;
}
}
}
else
{
if((Get_Current_PageMenu() == Page_Odo) || (Get_Current_PageMenu() == Page_Trip))
if ((Get_Current_PageMenu() == Page_Odo) || (Get_Current_PageMenu() == Page_Trip))
{
if (m_Uint == 0)
{
......@@ -3215,7 +3218,7 @@ void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint
IC1_SEG037 = IC_SEG_OFF;
}
if(Get_Current_PageMenu() == Page_Odo)
if (Get_Current_PageMenu() == Page_Odo)
{
IC1_SEG072 = IC_SEG_ON;
IC1_SEG045 = IC_SEG_OFF;
......@@ -3246,9 +3249,7 @@ void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint
LED_Driver_Channel_Set(LampChannel_0, LampCh0_35_ODO, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_34_TRIP, LED_OFF);
}
}
}
else
{
......@@ -3261,9 +3262,9 @@ void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint
LED_Driver_Channel_Set(LampChannel_0, LampCh0_34_TRIP, LED_ON);
}
if((Get_Current_PageMenu() == Page_Odo) || (ClearODO_Flag == 1) || (Common_GetIgnOnTime() < 3000))
if ((Get_Current_PageMenu() == Page_Odo) || (ClearODO_Flag == 1) || (Common_GetIgnOnTime() < 3000))
{
if(m_NUM_ODO > 99999)
if (m_NUM_ODO > 99999)
{
IC1_SEG076 = IC_SEG_ON;
}
......@@ -3727,11 +3728,11 @@ void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint
IC1_SEG055 = IC_SEG_OFF;
}
Num = (m_NUM_TRIP / 10) % 10;
//if ((m_NUM_TRIP >= 100) || (m_NUM_TRIP == 0))
// if ((m_NUM_TRIP >= 100) || (m_NUM_TRIP == 0))
//{
m8 = SEG_DISPLAY_NUMBER0[Num];
//}
//else
// else
//{
// m8 = SEG_UNDISPLAY_NUMBER0[Num];
//}
......@@ -3854,7 +3855,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) //|| (Get_FaultCode_Valid() == 0))
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;
......@@ -3867,22 +3868,22 @@ void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint
}
else
{
//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))
// 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
// }
// else
//{
// if(DTC_DISTimer < 100)
// {
......@@ -3913,7 +3914,7 @@ void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint
// }
// }
// SEG_SET_DTC_NUM(Current_DTC_CODE);
//}
// }
IC1_SEG071 = IC_SEG_ON;
IC1_SEG070 = IC_SEG_ON;
IC1_SEG068 = IC_SEG_OFF;
......@@ -3952,9 +3953,7 @@ void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint
IC1_SEG058 = IC_SEG_ON;
IC1_SEG055 = IC_SEG_OFF;
if(Get_Dis_Tcs_Val() == 0)
if (Get_Dis_Tcs_Val() == 0)
{
IC1_SEG050 = IC_SEG_ON;
IC1_SEG049 = IC_SEG_OFF;
......@@ -3991,11 +3990,12 @@ void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint
IC1_SEG040 = IC_SEG_OFF;
}
}
else{;}
else
{
;
}
}
/**@brief 时间显示函数
* @param[in] m_hour 小时
* @param[in] m_minute 分钟
......@@ -4288,7 +4288,6 @@ void SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t m_F
IC2_SEG025 = IC_SEG_OFF;
IC2_SEG048 = IC_SEG_OFF;
}
}
uint8_t fuel_check_SEG_step = 0;
......@@ -4308,7 +4307,6 @@ void SEG_Scan_SET_Fuel_Coolant_Dial(uint8_t coolant)
}
}
uint8_t Espeed_check_SEG_step = 0;
void SEG_Scan_SET_EspeedDial(void)
{
......@@ -4318,7 +4316,6 @@ void SEG_Scan_SET_EspeedDial(void)
SEG_SET_EspeedDial(1, a / 500);
}
uint8_t check_SEG_step = 0;
/*仪表段码扫描函数*/
......@@ -4333,7 +4330,7 @@ void Check_SEG_Display(void)
SEG_SET_VSpeed_NUM(1u, (100u + (a * 10u) + a), 0);
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)
#if (IC_Current == TY200_080000b_ty)
SEG_SET_TPMS_DISPLAY(1, a * 11, a * 11, 0, 1, 1);
#endif
SEG_SET_Voltage_NUM(1, a * 111);
......@@ -4344,10 +4341,8 @@ void Check_SEG_Display(void)
SEG_SET_LED_STS(i, 1);
}
SEG_Scan_SET_Fuel_Coolant_Dial((a*11) + 100);
SEG_Scan_SET_Fuel_Coolant_Dial((a * 11) + 100);
SEG_Scan_SET_EspeedDial();
}
uint8_t Checkself_SEG_step = 0;
......@@ -4360,7 +4355,9 @@ void Checkself_Init(void)
Espeed_check_SEG_step = 0;
fuel_check_SEG_step = 0;
}
//uint32_t u32NavigationCount = 0;
//uint32_t u32NavigationCount00 = 0;
//uint32_t u32NavigationCount11 = 1;
void Checkself_SEG_Display(void)
{
uint16_t Vspeed = 0;
......@@ -4373,41 +4370,41 @@ void Checkself_SEG_Display(void)
uint16_t min = 0;
uint32_t ODO = 0;
uint32_t Mileage = 0;
//uint32_t i = 0;
// uint32_t i = 0;
//SEG_SET_Navigation_Checkself(u32YZHDCount * 1111,u32YZHDCount22);
//for(i = 0; i < BU98R10_DDRAM_SIZE; i ++)
//u32NavigationCount00++;
//if (u32NavigationCount00 >= 3) // 500ms
//{
// BU98R10Chip0DDRAM.Byte[i] = 1;
// BU98R10Chip1DDRAM.Byte[i] = 1;
// u32NavigationCount00 = 0;
// if (u32NavigationCount11 == 1)
// {
// u32NavigationCount++;
// if (u32NavigationCount >= 9)
// {
// u32NavigationCount11 = 0;
// }
// }
// else
// {
// if (u32NavigationCount)
// {
// u32NavigationCount--;
// }
// else
// {
// u32NavigationCount11 = 1;
// //u32YZHDCount22 = 0;
// }
// }
//}
Mileage = ((Checkself_SEG_step / 3) * 111100);
SEG_SET_Navigation_STS(1, 3, Mileage);
Fuel = Checkself_SEG_step / 5u;
SEG_SET_FuelDial(1, Fuel);
collant = 100 + ((Checkself_SEG_step / 3) * 11);
SEG_SET_CoolantDial(1, Fuel, collant, 1);
Espeed = (Checkself_SEG_step * 5 / 6) * 500;
SEG_SET_EspeedDial(1, Espeed / 500);
Vspeed = ((Checkself_SEG_step / 3) * 11) + 100;
SEG_SET_VSpeed_NUM(1, Vspeed, 0);
ODO = ((Checkself_SEG_step / 3) * 11111) + 100000;
SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(1, ODO, 0);
hour = (Checkself_SEG_step / 3) * 11;
min = (Checkself_SEG_step / 3) * 11;
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_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);
// for(i = 0; i < BU98R10_DDRAM_SIZE; i ++)
//{
// BU98R10Chip0DDRAM.Byte[i] = 1;
// BU98R10Chip1DDRAM.Byte[i] = 1;
// }
#if (1)
if (Checkself_SEG_step_count < 60)
{
Checkself_SEG_step_count++;
......@@ -4432,11 +4429,38 @@ void Checkself_SEG_Display(void)
Checkself_SEG_step--;
}
}
Mileage = ((Checkself_SEG_step / 3) * 111100);
Fuel = Checkself_SEG_step / 5u;
collant = 100 + ((Checkself_SEG_step / 3) * 11);
Espeed = (Checkself_SEG_step * 5 / 6) * 500;
Vspeed = ((Checkself_SEG_step / 3) * 11) + 100;
ODO = ((Checkself_SEG_step / 3) * 11111) + 100000;
hour = (Checkself_SEG_step / 3) * 11;
min = (Checkself_SEG_step / 3) * 11;
voltage = (Checkself_SEG_step / 3) * 111;
SEG_SET_Navigation_STS(1, 3, Mileage);
SEG_SET_FuelDial(1, Fuel);
SEG_SET_CoolantDial(1, Fuel, collant, 1);
SEG_SET_EspeedDial(1, Espeed / 500);
SEG_SET_VSpeed_NUM(1, Vspeed, 0);
SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(1, ODO, 0);
SEG_SET_Voltage_NUM(1, voltage);
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_dis = (Checkself_SEG_step / 3) * 11;
SEG_SET_TPMS_DISPLAY(1, TPMS_dis, TPMS_dis, 0, 1, 1);
#endif
#endif
}
void TYW_Check_Count(void)
{
if ((ClearODO_Flag == 1)&&( Common_Get_IG_Sts( ) == COMMON_POWER_ON ))
if ((ClearODO_Flag == 1) && (Common_Get_IG_Sts() == COMMON_POWER_ON))
{
if (check_SEG_step < 249u)
{
......
......@@ -9,8 +9,8 @@ const Line_In_Attribute_st g_stLineInAttribute[LINE_IN_MAX] =
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_TurnLeft, },
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_TurnRight, },
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 40U, 20U, Get_LINE_IN_HighBeam, },
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 100U, 20U, Get_LINE_IN_FAULT_ELECTROSPRAY, },
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 100U, 20U, Get_LINE_IN_Fault_ABS, },
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 120U, 20U, Get_LINE_IN_FAULT_ELECTROSPRAY, },
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 170U, 20U, Get_LINE_IN_Fault_ABS, },
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 500U, 20U, Get_LINE_IN_Oil_Pressure, },
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 100U, 20U, Get_LINE_IN_Auto_Start_Stop, },
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 100U, 20U, Get_LINE_IN_Little_Lamp, },
......
......@@ -5,8 +5,8 @@
#include "wdt.h"
#define u16Base_Vol 0u
#define u16ENTER_LOW_N_RANGE 6500U
#define u16EXIT_LOW_N_RANGE 7000U
#define u16ENTER_LOW_N_RANGE 7000U
#define u16EXIT_LOW_N_RANGE 7500U
#define u16ENTER_LOW_Y_RANGE 9000U
#define u16EXIT_LOW_Y_RANGE 10000U
......@@ -20,7 +20,7 @@
void Delay_ms(uint32_t u32Ms);
// #pragma alignvar(8)
static const monitorlib_uint16_t SysFun_Range[24u] = {
static const monitorlib_uint16_t SysFun_Range[26u] = {
u16Base_Vol,
u16ENTER_LOW_N_RANGE,
......@@ -36,7 +36,7 @@ static const monitorlib_uint16_t SysFun_Range[24u] = {
u16ENTER_HIGH_N_RANGE,
u16Top_Vol,
500, /* 进入异常电压时间 1S */
2500, /* 进入异常电压时间 5S */
50u, /* KL15消抖时间 100ms*/
u16Base_Vol,
......@@ -55,6 +55,9 @@ static const monitorlib_uint16_t SysFun_Range[24u] = {
u16Top_Vol,
2u,
2u,
2u,
0u,
};
monitorlib_uint16_t Sys_Read_KL30_Voltage_F(void)
......@@ -101,17 +104,29 @@ monitorlib_uint8_t Sys_Read_KL15_Valid(void)
monitorlib_uint8_t System_LINE_KL15(void)
{
monitorlib_uint8_t u8KL15 = 0;
if (RTE_GPIO_Get_Level(WAKEUP_KL15_In) == 1u )
static monitorlib_uint8_t u8KL15 = 0;
//if (RTE_GPIO_Get_Level(WAKEUP_KL15_In) == 1u )
//{
// u8KL15 = 1u;
//}
//else
//{
// u8KL15 = 0;
//}
if (Sys_Read_KL15_Voltage() >= 5500u )
{
u8KL15 = 1u;
}
else if((Sys_Read_KL15_Voltage() >= 5000u)&&(Sys_Read_KL15_Voltage() < 5500u))
{
;
}
else
{
u8KL15 = 0;
}
return u8KL15;
}
......@@ -136,8 +151,8 @@ void Sys_KL30_Init(void)
m_st.SysGet_KL15_value_Force = Sys_Read_KL15_Voltage_F;
m_st.SysGet_KL30_value_Force = Sys_Read_KL30_Voltage_F;
m_st.SysMonitorLogic = Sys_LogicProcess;
System_Monitor_KL30Init();
Sys_Set_Pata(SysFun_Range, &m_st);
System_Monitor_KL30Init();
}
void Sys_WakeUp_Init(void)
......@@ -152,8 +167,8 @@ void Sys_WakeUp_Init(void)
m_st.SysGet_KL15_value_Force = Sys_Read_KL15_Voltage_F;
m_st.SysGet_KL30_value_Force = Sys_Read_KL30_Voltage_F;
m_st.SysMonitorLogic = Sys_LogicProcess;
System_Monitor_WakeupInit();
Sys_Set_Pata(SysFun_Range, &m_st);
System_Monitor_WakeupInit();
}
void Delay_ms(uint32_t u32Ms)
......
......@@ -296,7 +296,7 @@ static Tellib_uint16_t LED_Coolant_Judgement(void)
}
else
{
LED_STATE = 1;
LED_STATE = 4;
}
return LED_STATE;
}
......@@ -330,12 +330,18 @@ static void LED_Coolant_Execution(Tellib_uint16_t led_status)
SEG_SET_LED_STS(em_SEG_Coolant, 0);
}
}
else if ( led_status == 1u )
else if ( led_status == 4u )
{
LED_Driver_Channel_Set(LampChannel_0, LampCh0_13_Temp_AlarmW, LED_ON);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_11_Temp_AlarmR, LED_OFF);
SEG_SET_LED_STS(em_SEG_Coolant, 1);
}
else if ( led_status == 1u )
{
LED_Driver_Channel_Set(LampChannel_0, LampCh0_13_Temp_AlarmW, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_11_Temp_AlarmR, LED_ON);
SEG_SET_LED_STS(em_SEG_Coolant, 1);
}
else
{
LED_Driver_Channel_Set(LampChannel_0, LampCh0_13_Temp_AlarmW, LED_OFF);
......@@ -615,6 +621,8 @@ static void LED_Lateral_Strut_Execution(Tellib_uint16_t led_status)
static Tellib_uint16_t LED_Tire_Pressure_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if((Get_Front_FirstLearn_Flag() == 2) || (Get_Rear_FirstLearn_Flag() == 2))
{
if(Get_Led_TPMS_Waring() == 1)
{
LED_STATE = 1;
......@@ -623,6 +631,12 @@ static Tellib_uint16_t LED_Tire_Pressure_Judgement(void)
{
LED_STATE = 2;
}
}
else
{
LED_STATE = 2;
}
return LED_STATE;
}
static void LED_Tire_Pressure_Execution(Tellib_uint16_t led_status)
......
......@@ -64,7 +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();
//Data_Voltage_Processing_Service();
}
......@@ -91,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();
......
......@@ -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 0x103 // 0x100 = 1.00 internal version 内部版本号
#define INTLV 0x104 // 0x100 = 1.00 internal version 内部版本号
#define PROG_Y 0x24 // 0x24 = 2024年, program year
#define PROG_M 0x06 // 0x03 = 3月, program month
#define PROG_D 0x19 // 0x19 = 19日, program day
#define PROG_D 0x26 // 0x19 = 19日, program day
/******************************************************************************
Bootloader Variable
......
#new Option
#Wed Jun 19 19:12:31 CST 2024
#Wed Jun 26 11:58:06 CST 2024
IsSort=true
MergeFlashIsCompression=false
ChangeAppFilePath=
MergeCanXLSPath=
MergeCanXLSPath=D\:\\Git\\\u5929\u9E70\\tianying_ty100\\Firmware\\utility\\Can_BDF\\Can\u914D\u7F6E20240626115754122931.xls
RH850_D1M1AGPIOJSONpath=
DBFFilePath=
MergeCrcTtpe=21
......@@ -11,7 +11,7 @@ MergeBootFilePath=D\:\\Git\\\u5929\u9E70\\tianying_ty100\\Firmware\\utility\\Boo
IsMergeChangeAddress=false
MergeFlashOutPutFilePath=
GPIOOutPutPath=
MergeCanDBCPath=
MergeCanDBCPath=D\:\\Git\\\u5929\u9E70\\tianying_ty100\\Firmware\\utility\\Can_BDF\\tianying.dbc
IsFilling=true
RxID=789
MergeAudioInPutPath=
......@@ -32,7 +32,7 @@ IsMergeCreateBin=false
IsOverWrite=false
DllFilePath=
MergeAudioOutPutPath=
MergeCanOutPutPath=
MergeCanOutPutPath=D\:\\Git\\\u5929\u9E70\\tianying_ty100\\Firmware\\utility\\Can_BDF
ChangeOutPutFilePath=
MergeTelltalesOutPutPath=
TTFExtractTXTpath=
......
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