Commit 9153bef1 authored by 郑萍's avatar 郑萍

🎉 init:重新拉取新的dev,此版屏可亮

parents 97c8a6ae e20aaf97
...@@ -623,6 +623,16 @@ ...@@ -623,6 +623,16 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>..\..\..\..\Source\Device\Cmsemicon\BAT32A279\RTE\RTE.h</FilePath> <FilePath>..\..\..\..\Source\Device\Cmsemicon\BAT32A279\RTE\RTE.h</FilePath>
</File> </File>
<File>
<FileName>RTE_RTC.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\Device\Cmsemicon\BAT32A279\RTE\RTC\RTE_RTC.c</FilePath>
</File>
<File>
<FileName>RTE_RTC.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Device\Cmsemicon\BAT32A279\RTE\RTC\RTE_RTC.h</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
......
...@@ -6,7 +6,7 @@ st_CanMsgTxOp CAN_CH0_CanMsgTxOp; ...@@ -6,7 +6,7 @@ st_CanMsgTxOp CAN_CH0_CanMsgTxOp;
const st_CAN_SendAttribute CAN_CH0_CANSendAttr[CAN_CH0_ID_SEND_TOTAL] = const st_CAN_SendAttribute CAN_CH0_CANSendAttr[CAN_CH0_ID_SEND_TOTAL] =
{ {
{0} {0}
}; };
const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] = const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
......
...@@ -3,9 +3,7 @@ ...@@ -3,9 +3,7 @@
#include "Components.h" #include "Components.h"
#include "CAN_Signal\CAN_Lib.h" #include "CAN_Signal\CAN_Lib.h"
extern st_CanMsgOp CAN_CH0_CanMsgOp; extern st_CanMsgOp CAN_CH0_CanMsgOp;
extern st_CanMsgTxOp CAN_CH0_CanMsgTxOp; extern st_CanMsgTxOp CAN_CH0_CanMsgTxOp;
typedef enum typedef enum
...@@ -23,7 +21,7 @@ typedef enum ...@@ -23,7 +21,7 @@ typedef enum
typedef enum typedef enum
{ {
TEST, TEST,
CAN_CH0_ID_SEND_TOTAL, CAN_CH0_ID_SEND_TOTAL,
} CAN_CH0_CAN_MSG_SEND_ID_t; } CAN_CH0_CAN_MSG_SEND_ID_t;
......
// #include "Can_User.h" #include "Can_User.h"
// #include <string.h> #include <string.h>
// #include "can.h" #include "can.h"
// #include "RTE.h" #include "RTE.h"
// #include "CAN_CH0_CAN_Communication_Matrix.h" #include "CAN_CH0_CAN_Communication_Matrix.h"
// __align(4) __align(4)
// uint32_t pRXBuff[CAN_RX_MSG_Block * CAN_CH0_ID_TOTAL_MAX]; uint32_t pRXBuff[CAN_RX_MSG_Block * CAN_CH0_ID_TOTAL_MAX];
// uint32_t pTXBuff[CAN_TX_MSG_Block * CAN_CH0_ID_SEND_TOTAL]; uint32_t pTXBuff[CAN_TX_MSG_Block * CAN_CH0_ID_SEND_TOTAL];
// static RSCAN0BusoffMonitorStruct RSCAN0Busoff; static RSCAN0BusoffMonitorStruct RSCAN0Busoff;
// void Can_Init(void) void Can_Init(void)
// { {
// can_config_st_t Can_Config; can_config_st_t Can_Config;
// Can_Config.ch = CAN_CH_0; Can_Config.ch = CAN_CH_0;
// Can_Config.freq = CAN_500Kbps; Can_Config.freq = CAN_500Kbps;
// Can_Config.MASK[0] = 0x001fffffU; Can_Config.MASK[0] = 0x001fffffU;
// Can_Config.MASK[1] = 0x000fffffU; Can_Config.MASK[1] = 0x000fffffU;
// Can_Config.MASK[2] = 0x1fffffffU; Can_Config.MASK[2] = 0x1fffffffU;
// Can_Config.MASK[3] = 0x1fffffffU; Can_Config.MASK[3] = 0x1fffffffU;
// Can_Config.rx_callback = Can_Rx_Cak; Can_Config.rx_callback = Can_Rx_Cak;
// COM_CAN_Init(); COM_CAN_Init();
// rte_can_init(&Can_Config); rte_can_init(&Can_Config);
// Can_Tx_Apply_Buff();
// Can_RX_Apply_Buff();
// RTE_GPIO_Set_Level(RTE_GPIO_PORT05_PIN02,RTE_GPIO_LEVEL_LOW);
// } Can_Tx_Apply_Buff();
Can_RX_Apply_Buff();
// /** RTE_GPIO_Set_Level(RTE_GPIO_PORT05_PIN02,RTE_GPIO_LEVEL_LOW);
// * @brief 用于申请RXBUFF CAN0MSG00~CAN0MSG07
// *
// */
// void Can_RX_Apply_Buff(void)
// {
// CAN_RecvMsg.Id = 0x101;
// 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(CAN0MSG01);
// CAN_MessageCache_Init(CAN0MSG01, &CAN_RecvMsg);
// CAN_MessageCache_OverWriteConfig(CAN0MSG01, ENABLE);
// // CAN_RecvMsg.Id = DIAG_ID_Rx_PHY;
// // 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(CAN0MSG03);
// // CAN_MessageCache_Init(CAN0MSG03, &CAN_RecvMsg);
// // CAN_MessageCache_OverWriteConfig(CAN0MSG03, ENABLE);
// // CAN_RecvMsg.Id = DIAG_ID_Rx_FUN;
// // 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(CAN0MSG04);
// // CAN_MessageCache_Init(CAN0MSG04, &CAN_RecvMsg);
// // CAN_MessageCache_OverWriteConfig(CAN0MSG04, ENABLE);
// }
// /** }
// * @brief 用于申请TXBUFF
// * /**
// */ * @brief 用于申请RXBUFF CAN0MSG00~CAN0MSG07
// void Can_Tx_Apply_Buff(void) *
// { */
// CanTxRxMsg CAN_SendMsg; void Can_RX_Apply_Buff(void)
// CanTxRxMsg CAN_SendMsg_Diag_Tx; {
// CAN_SendMsg.Id = 0x500; CAN_RecvMsg.Id = 0x101;
// CAN_SendMsg.IDE = CAN_Id_Standard; CAN_RecvMsg.IDE = CAN_Id_Standard;
// CAN_SendMsg.CacheType = CAN_CacheType_Tx; CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
// CAN_SendMsg.RTR = CAN_RTR_Data; CAN_RecvMsg.RTR = CAN_RTR_Data;
// CAN_RecvMsg.Interrupt = DISABLE; CAN_RecvMsg.Interrupt = ENABLE;
// CAN_SendMsg.DLC = 8; CAN_MessageCache_DeInit(CAN0MSG01);
// for (uint8_t i = 0; i < CAN_SendMsg.DLC; i++) CAN_MessageCache_Init(CAN0MSG01, &CAN_RecvMsg);
// { CAN_MessageCache_OverWriteConfig(CAN0MSG01, ENABLE);
// CAN_SendMsg.Data[i] = 0;
// } CAN_RecvMsg.Id = 0x111;
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(CAN0MSG02);
CAN_MessageCache_Init(CAN0MSG02, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG02, ENABLE);
CAN_RecvMsg.Id = 0x401;
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(CAN0MSG03);
CAN_MessageCache_Init(CAN0MSG03, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG03, ENABLE);
// CAN_MessageCache_DeInit(CAN0MSG08); CAN_RecvMsg.Id = 0x402;
// CAN_MessageCache_Init(CAN0MSG08, &CAN_SendMsg); 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(CAN0MSG04);
CAN_MessageCache_Init(CAN0MSG04, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG04, ENABLE);
CAN_RecvMsg.Id = 0x12B;
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(CAN0MSG05);
CAN_MessageCache_Init(CAN0MSG05, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG05, ENABLE);
CAN_RecvMsg.Id = 0x450;
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(CAN0MSG06);
CAN_MessageCache_Init(CAN0MSG06, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG06, ENABLE);
CAN_RecvMsg.Id = 0x37B;
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(CAN0MSG07);
CAN_MessageCache_Init(CAN0MSG07, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG07, ENABLE);
// CAN_RecvMsg.Id = DIAG_ID_Rx_PHY;
// 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(CAN0MSG03);
// CAN_MessageCache_Init(CAN0MSG03, &CAN_RecvMsg);
// CAN_MessageCache_OverWriteConfig(CAN0MSG03, ENABLE);
// CAN_RecvMsg.Id = DIAG_ID_Rx_FUN;
// 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(CAN0MSG04);
// CAN_MessageCache_Init(CAN0MSG04, &CAN_RecvMsg);
// CAN_MessageCache_OverWriteConfig(CAN0MSG04, ENABLE);
}
/**
* @brief 用于申请TXBUFF
*
*/
void Can_Tx_Apply_Buff(void)
{
// CanTxRxMsg CAN_SendMsg;
// CanTxRxMsg CAN_SendMsg_Diag_Tx;
// CAN_SendMsg.Id = 0x500;
// CAN_SendMsg.IDE = CAN_Id_Standard;
// CAN_SendMsg.CacheType = CAN_CacheType_Tx;
// CAN_SendMsg.RTR = CAN_RTR_Data;
// CAN_RecvMsg.Interrupt = DISABLE;
// CAN_SendMsg.DLC = 8;
// for (uint8_t i = 0; i < CAN_SendMsg.DLC; i++)
// {
// CAN_SendMsg.Data[i] = 0;
// }
// CAN_MessageCache_DeInit(CAN0MSG08);
// CAN_MessageCache_Init(CAN0MSG08, &CAN_SendMsg);
// // CAN_SendMsg_Diag_Tx.Id = DIAG_ID_Tx; // CAN_SendMsg_Diag_Tx.Id = DIAG_ID_Tx;
// // CAN_SendMsg_Diag_Tx.IDE = CAN_Id_Standard; // CAN_SendMsg_Diag_Tx.IDE = CAN_Id_Standard;
// // CAN_SendMsg_Diag_Tx.CacheType = CAN_CacheType_Tx; // CAN_SendMsg_Diag_Tx.CacheType = CAN_CacheType_Tx;
// // CAN_SendMsg_Diag_Tx.RTR = CAN_RTR_Data; // CAN_SendMsg_Diag_Tx.RTR = CAN_RTR_Data;
// // CAN_SendMsg_Diag_Tx.Interrupt = DISABLE; // CAN_SendMsg_Diag_Tx.Interrupt = DISABLE;
// // CAN_SendMsg_Diag_Tx.DLC = 8; // CAN_SendMsg_Diag_Tx.DLC = 8;
// // for (uint8_t i = 0; i < CAN_SendMsg_Diag_Tx.DLC; i++) // for (uint8_t i = 0; i < CAN_SendMsg_Diag_Tx.DLC; i++)
// // { // {
// // CAN_SendMsg_Diag_Tx.Data[i] = 0; // CAN_SendMsg_Diag_Tx.Data[i] = 0;
// // } // }
// // CAN_MessageCache_DeInit(CAN0MSG09);
// // CAN_MessageCache_Init(CAN0MSG09, &CAN_SendMsg_Diag_Tx);
// }
// /**
// * @brief 用于接收回调函数
// * @code
// */
// void Can_Rx_Cak(CanTxRxMsg *Msg)
// {
// Co_Can_Buff_Set(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(Msg->Id), Msg->DLC, Msg->Data);
// if ((Msg->Id == DIAG_ID_Rx_FUN) || (Msg->Id == DIAG_ID_Rx_PHY)) // CAN_MessageCache_DeInit(CAN0MSG09);
// { // CAN_MessageCache_Init(CAN0MSG09, &CAN_SendMsg_Diag_Tx);
// DoCAN_L_Data_Indication(Msg->Id, Msg->DLC, Msg->Data); }
// } /**
// } * @brief 用于接收回调函数
// /** * @code
// * @brief CAN库初始化TX/RX */
// * void Can_Rx_Cak(CanTxRxMsg *Msg)
// */ {
// void COM_CAN_Init(void) Co_Can_Buff_Set(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(Msg->Id), Msg->DLC, Msg->Data);
// {
// memset(pRXBuff, 0, sizeof(pRXBuff));
// CAN_CH0_CanMsgOp.CAN_MSG_Analysis = (st_CANMsgStruct *)pRXBuff;
// CAN_CH0_CanMsgOp.pAttrubute = CAN_CH0_CAN_MSG_CONST_ARRAY;
// CAN_CH0_CanMsgOp.Total_Msg = CAN_CH0_ID_TOTAL_MAX;
// CAN_CH0_CanMsgOp.u8CAN_RX_ENABLE = CAN_N_RX_Enable;
// Can_RX_BuffInit(&CAN_CH0_CanMsgOp, CAN_CH0_CAN_MSG_CONST_ARRAY, CAN_CH0_ID_TOTAL_MAX);
// CAN_RX_SetEnable(&CAN_CH0_CanMsgOp, CAN_N_RX_Enable);
// memset(pTXBuff, 0, sizeof(pTXBuff));
// CAN_CH0_CanMsgTxOp.CanMsg = (st_CAN_SendOperation *)pTXBuff;
// Can_TX_BuffInit(&CAN_CH0_CanMsgTxOp, CAN_CH0_CANSendAttr, CAN_CH0_ID_SEND_TOTAL, COM_APP_Process);
// CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable);
// }
// if ((Msg->Id == DIAG_ID_Rx_FUN) || (Msg->Id == DIAG_ID_Rx_PHY))
// {
// DoCAN_L_Data_Indication(Msg->Id, Msg->DLC, Msg->Data);
// }
}
/**
* @brief CAN库初始化TX/RX
*
*/
void COM_CAN_Init(void)
{
memset(pRXBuff, 0, sizeof(pRXBuff));
CAN_CH0_CanMsgOp.CAN_MSG_Analysis = (st_CANMsgStruct *)pRXBuff;
CAN_CH0_CanMsgOp.pAttrubute = CAN_CH0_CAN_MSG_CONST_ARRAY;
CAN_CH0_CanMsgOp.Total_Msg = CAN_CH0_ID_TOTAL_MAX;
CAN_CH0_CanMsgOp.u8CAN_RX_ENABLE = CAN_N_RX_Enable;
Can_RX_BuffInit(&CAN_CH0_CanMsgOp, CAN_CH0_CAN_MSG_CONST_ARRAY, CAN_CH0_ID_TOTAL_MAX);
CAN_RX_SetEnable(&CAN_CH0_CanMsgOp, CAN_N_RX_Enable);
// /** // memset(pTXBuff, 0, sizeof(pTXBuff));
// * @brief Buff恢复函数 // CAN_CH0_CanMsgTxOp.CanMsg = (st_CAN_SendOperation *)pTXBuff;
// * @param deltaTime 调用时间 单位ms 10MS调用 // Can_TX_BuffInit(&CAN_CH0_CanMsgTxOp, CAN_CH0_CANSendAttr, CAN_CH0_ID_SEND_TOTAL, COM_APP_Process);
// */ // CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable);
// void Can_BusOff_Recover(uint8_t deltaTime) }
// {
// if (get_can_busoff(CAN_CH_0) == 2)
// { /**
// if (RSCAN0Busoff.Status == RSCAN0_BUS_STABLE) * @brief Buff恢复函数
// { * @param deltaTime 调用时间 单位ms 10MS调用
// RSCAN0Busoff.Status = RSCAN0_BUS_OFF_LV1; */
// } void Can_BusOff_Recover(uint8_t deltaTime)
{
// if (RSCAN0Busoff.Status == RSCAN0_BUS_OFF_LV1) if (get_can_busoff(CAN_CH_0) == 2)
// { {
// RSCAN0Busoff.Timer++; if (RSCAN0Busoff.Status == RSCAN0_BUS_STABLE)
// if (RSCAN0Busoff.Timer >= RSCAN0_BUS_OFF_LV1_RECOVERY_TIME / deltaTime) {
// { RSCAN0Busoff.Status = RSCAN0_BUS_OFF_LV1;
// RSCAN0Busoff.Timer = 0U; }
// RSCAN0Busoff.Cnt++; if (RSCAN0Busoff.Status == RSCAN0_BUS_OFF_LV1)
// if (RSCAN0Busoff.Cnt >= 10U) {
// { RSCAN0Busoff.Timer++;
if (RSCAN0Busoff.Timer >= RSCAN0_BUS_OFF_LV1_RECOVERY_TIME / deltaTime)
// RSCAN0Busoff.Cnt = 0U; {
RSCAN0Busoff.Timer = 0U;
// RSCAN0Busoff.Status = RSCAN0_BUS_OFF_LV2;
// } RSCAN0Busoff.Cnt++;
// reset_busoff(CAN_CH_0); if (RSCAN0Busoff.Cnt >= 10U)
// } {
// }
// else if (RSCAN0Busoff.Status == RSCAN0_BUS_OFF_LV2) RSCAN0Busoff.Cnt = 0U;
// {
// RSCAN0Busoff.Timer++; RSCAN0Busoff.Status = RSCAN0_BUS_OFF_LV2;
}
// if (RSCAN0Busoff.Timer >= RSCAN0_BUS_OFF_LV2_RECOVERY_TIME / deltaTime) reset_busoff(CAN_CH_0);
// { }
// RSCAN0Busoff.Timer = 0U; }
// reset_busoff(CAN_CH_0); else if (RSCAN0Busoff.Status == RSCAN0_BUS_OFF_LV2)
// } {
// } RSCAN0Busoff.Timer++;
// else
// { if (RSCAN0Busoff.Timer >= RSCAN0_BUS_OFF_LV2_RECOVERY_TIME / deltaTime)
// } {
// } RSCAN0Busoff.Timer = 0U;
// else /* 总线正常,没有Bus-off发生*/ reset_busoff(CAN_CH_0);
// { }
}
else
{
}
}
else /* 总线正常,没有Bus-off发生*/
{
// } }
// } }
// /** /**
// * @brief 获取busoff状态 * @brief 获取busoff状态
// * @return 0 没有busoff * @return 0 没有busoff
// * 1 错误的操作 * 1 错误的操作
// * 2 busoff * 2 busoff
// */ */
// uint8_t Get_Busoff_Status(void) uint8_t Get_Busoff_Status(void)
// { {
// return get_can_busoff(CAN_CH_0); return get_can_busoff(CAN_CH_0);
// } }
// uint8_t COM_APP_Process(st_CAN_Msg *Msg) // uint8_t COM_APP_Process(st_CAN_Msg *Msg)
// { // {
......
// #ifndef _CAN_USER_H_ #ifndef _CAN_USER_H_
// #define _CAN_USER_H_ #define _CAN_USER_H_
// #include "RTE.h" #include "RTE.h"
// #include "Components.h" #include "Components.h"
// /****************************************************************************** /******************************************************************************
// Bus-off Bus-off
// ******************************************************************************/ ******************************************************************************/
// #define RSCAN0_BUS_STABLE 0x00U #define RSCAN0_BUS_STABLE 0x00U
// #define RSCAN0_BUS_OFF_LV1 0x01U #define RSCAN0_BUS_OFF_LV1 0x01U
// #define RSCAN0_BUS_OFF_LV2 0x02U #define RSCAN0_BUS_OFF_LV2 0x02U
// #define RSCAN00_BUS_LIMP 0x03U #define RSCAN00_BUS_LIMP 0x03U
// /****************************************************************************** /******************************************************************************
// Bus-off Bus-off
// ******************************************************************************/ ******************************************************************************/
// #define RSCAN0_BUS_OFF_LV1_RECOVERY_TIME 90U #define RSCAN0_BUS_OFF_LV1_RECOVERY_TIME 90U
// #define RSCAN0_BUS_OFF_LV2_RECOVERY_TIME 1000U #define RSCAN0_BUS_OFF_LV2_RECOVERY_TIME 1000U
// typedef struct typedef struct
// { {
// uint8_t Status; uint8_t Status;
// uint8_t Timer; uint8_t Timer;
// uint8_t Cnt; uint8_t Cnt;
// uint8_t ReportDTCCnt; uint8_t ReportDTCCnt;
// } RSCAN0BusoffMonitorStruct; } RSCAN0BusoffMonitorStruct;
// extern void Can_Tx_Apply_Buff(void); extern void Can_Tx_Apply_Buff(void);
// extern void Can_RX_Apply_Buff(void); extern void Can_RX_Apply_Buff(void);
// extern void Can_BusOff_Recover(uint8_t deltaTime); extern void Can_BusOff_Recover(uint8_t deltaTime);
// extern void COM_CAN_Init(void); extern void COM_CAN_Init(void);
// extern void Can_Init(void); extern void Can_Init(void);
// extern void Can_Rx_Cak(CanTxRxMsg *Msg); extern void Can_Rx_Cak(CanTxRxMsg *Msg);
// extern void Busoff(void); extern void Busoff(void);
// extern uint8_t COM_APP_Process(st_CAN_Msg *Msg); extern uint8_t COM_APP_Process(st_CAN_Msg *Msg);
// extern void Can_Write(st_CAN_Msg *Msg); extern void Can_Write(st_CAN_Msg *Msg);
// #endif #endif
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
uint32_t PowerIgnOnTimeLine; uint32_t PowerIgnOnTimeLine;
uint32_t PowerIgnOffTimeLine; uint32_t PowerIgnOffTimeLine;
static uint32_t PowerSocTimeLine; static uint32_t PowerSocTimeLine;
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#define SWDIO_JTMS RTE_GPIO_PORT04_PIN00 #define SWDIO_JTMS RTE_GPIO_PORT04_PIN00
#define Start_stop_MCU RTE_GPIO_PORT04_PIN01 #define Start_stop_MCU RTE_GPIO_PORT04_PIN01
#define Select_button_MCU RTE_GPIO_PORT04_PIN02 #define KEY_SELECT_MCU RTE_GPIO_PORT04_PIN02
#define VCC1V2_AMT_EN RTE_GPIO_PORT04_PIN03 //ljs #define VCC1V2_AMT_EN RTE_GPIO_PORT04_PIN03 //ljs
#define CAN_MCU_RXD RTE_GPIO_PORT05_PIN00 #define CAN_MCU_RXD RTE_GPIO_PORT05_PIN00
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
#define CAN_STB_MCU RTE_GPIO_PORT05_PIN02 #define CAN_STB_MCU RTE_GPIO_PORT05_PIN02
#define HighBeam_MCU RTE_GPIO_PORT05_PIN03 #define HighBeam_MCU RTE_GPIO_PORT05_PIN03
#define L_FuelSender_OUT RTE_GPIO_PORT05_PIN04 #define L_FuelSender_OUT RTE_GPIO_PORT05_PIN04
#define SWITCH_MCU RTE_GPIO_PORT05_PIN05 #define KEY_OK_MCU RTE_GPIO_PORT05_PIN05
#define IIC_SCL_24G16 RTE_GPIO_PORT06_PIN00 #define IIC_SCL_24G16 RTE_GPIO_PORT06_PIN00
#define IIC_SDA_24G16 RTE_GPIO_PORT06_PIN01 #define IIC_SDA_24G16 RTE_GPIO_PORT06_PIN01
......
...@@ -27,5 +27,8 @@ ...@@ -27,5 +27,8 @@
#include "Data_ESpeed.h" #include "Data_ESpeed.h"
#include "Data_VSpeed.h" #include "Data_VSpeed.h"
#include "BackLight.h" #include "BackLight.h"
#include "RTC\RTE_RTC.h"
#include "CAN_Signal\CAN_Lib.h"
#include "CAN_CH0_CAN_Communication_Matrix.h"
#endif #endif
...@@ -6,56 +6,21 @@ ...@@ -6,56 +6,21 @@
__align(4) __align(4)
#define BACK_MENU_TIME 1000 #define BACK_MENU_TIME 1000
// #define MENU_GRADE g_u8Menu_Grade
#define CURSOR_POSITION g_u8Cursor_Posittion
_Menu_Data MenuData; _Menu_Data MenuData;
uint8_t PageType; //设置时间参数(设置小时或者分钟)
uint8_t Key_Right_Long_Press_Flag;
uint8_t Key_Left_Long_Press_Flag;
RTC_TimeTypeDef RTC_TimeStruct; RTC_TimeTypeDef RTC_TimeStruct;
RTC_DateTypeDef RTC_DateStruct; RTC_DateTypeDef RTC_DateStruct;
RTC_CounterTypeDef counter_val; RTC_CounterTypeDef counter_val;
void Key_Operation_Left(Key_Event_en_t enKeyEvent)//Mode void Key_Operation_Left(Key_Event_en_t enKeyEvent)//选择
{ {
switch (enKeyEvent) switch (enKeyEvent)
{ {
case KEY_EVENT_SHORT_PRESS_1: case KEY_EVENT_SHORT_PRESS_1:
// if(MENU_GRADE == 0x00) Key_Event_Short_Press_Left();
// {
// Menu_Service(MENU_KEY_LEFT_SHORT);
// }
// else
// {
// Menu_Service(MENU_KEY_DOWN_SHORT);
// }
break; break;
case KEY_EVENT_SHORT_PRESS_2: case KEY_EVENT_SHORT_PRESS_2:
// if(MENU_GRADE == 0x00)
// {
// Menu_Service(MENU_KEY_LEFT_LONG);
// }
// else
// {
// Menu_Change_Branch_To_Item(0, MENU_ITEM_DriveInfo);
// Menu_Service(MENU_KEY_DOWN_LONG);
// }
break; break;
case KEY_EVENT_LONG_PRESS_1: //2 case KEY_EVENT_LONG_PRESS_1: //2
// if(MENU_GRADE == 0x00)
// {
// Menu_Service(MENU_KEY_LEFT_SUPER_LONG);
// }
// else
// {
// Menu_Service(MENU_KEY_DOWN_SUPER_LONG);
// }
Key_Left_Long_Press_Flag = 1;
break; break;
case KEY_EVENT_LONG_PRESS_2: //3 case KEY_EVENT_LONG_PRESS_2: //3
break; break;
...@@ -68,25 +33,22 @@ void Key_Operation_Left(Key_Event_en_t enKeyEvent)//Mode ...@@ -68,25 +33,22 @@ void Key_Operation_Left(Key_Event_en_t enKeyEvent)//Mode
case KEY_EVENT_ON_TO_OFF: case KEY_EVENT_ON_TO_OFF:
break; break;
case KEY_EVENT_NONE: case KEY_EVENT_NONE:
Key_Left_Long_Press_Flag = 0; KEY_LEFT_EVENT_NONE_Service();
break; break;
default: default:
break; break;
} }
} }
void Key_Operation_Right(Key_Event_en_t enKeyEvent)//Set void Key_Operation_Right(Key_Event_en_t enKeyEvent)//确认
{ {
switch (enKeyEvent) switch (enKeyEvent)
{ {
case KEY_EVENT_SHORT_PRESS_1: case KEY_EVENT_SHORT_PRESS_1:
// Menu_Service(MENU_KEY_CONFIRM_SHORT); Key_Event_Short_Press_Right();
break; break;
case KEY_EVENT_SHORT_PRESS_2: case KEY_EVENT_SHORT_PRESS_2:
// Menu_Service(MENU_KEY_CONFIRM_LONG);
break; break;
case KEY_EVENT_LONG_PRESS_1: //2s case KEY_EVENT_LONG_PRESS_1: //2s
// Menu_Service(MENU_KEY_CONFIRM_SUPER_LONG);
Key_Right_Long_Press_Flag = 1;
break; break;
case KEY_EVENT_LONG_PRESS_2: //3s case KEY_EVENT_LONG_PRESS_2: //3s
break; break;
...@@ -99,7 +61,7 @@ void Key_Operation_Right(Key_Event_en_t enKeyEvent)//Set ...@@ -99,7 +61,7 @@ void Key_Operation_Right(Key_Event_en_t enKeyEvent)//Set
case KEY_EVENT_ON_TO_OFF: case KEY_EVENT_ON_TO_OFF:
break; break;
case KEY_EVENT_NONE: case KEY_EVENT_NONE:
Key_Right_Long_Press_Flag = 0; KEY_RIGHT_EVENT_NONE_Service();
break; break;
default: default:
break; break;
...@@ -111,33 +73,30 @@ void Key_Operation_Right(Key_Event_en_t enKeyEvent)//Set ...@@ -111,33 +73,30 @@ void Key_Operation_Right(Key_Event_en_t enKeyEvent)//Set
Key_Status_en_t Key_Status_Read_Left(void) Key_Status_en_t Key_Status_Read_Left(void)
{ {
Key_Status_en_t enKeyReal = KEY_REALTIME_LOOSEN; Key_Status_en_t enKeyReal = KEY_REALTIME_LOOSEN;
if (SYS_OPR_STAT_IGN_ON) if (RTE_GPIO_Get_Level(KEY_SELECT_MCU))//选择
{
enKeyReal = KEY_REALTIME_PRESS;
}
else
{ {
// if (RTE_GPIO_Get_Level(MODE_P_IN)) enKeyReal = KEY_REALTIME_LOOSEN;
// {
// enKeyReal = KEY_REALTIME_LOOSEN;
// }
// else
// {
// enKeyReal = KEY_REALTIME_PRESS;
// }
} }
return enKeyReal; return enKeyReal;
} }
Key_Status_en_t Key_Status_Read_Right(void) Key_Status_en_t Key_Status_Read_Right(void)
{ {
Key_Status_en_t enKeyReal = KEY_REALTIME_LOOSEN; Key_Status_en_t enKeyReal = KEY_REALTIME_LOOSEN;
if (SYS_OPR_STAT_IGN_ON)
if (RTE_GPIO_Get_Level(KEY_OK_MCU))//确认
{
enKeyReal = KEY_REALTIME_PRESS;
}
else
{ {
// if (RTE_GPIO_Get_Level(SET_P_IN)) enKeyReal = KEY_REALTIME_LOOSEN;
// {
// enKeyReal = KEY_REALTIME_LOOSEN;
// }
// else
// {
// enKeyReal = KEY_REALTIME_PRESS;
// }
} }
return enKeyReal; return enKeyReal;
} }
...@@ -147,8 +106,6 @@ const Key_Attribute_st_t stKeyAttribute[KEY_NUM_MAX] = ...@@ -147,8 +106,6 @@ const Key_Attribute_st_t stKeyAttribute[KEY_NUM_MAX] =
{ {
{KEY_NEED_DEBOUNCE_NORMAL, Key_Status_Read_Left, Key_Operation_Left}, {KEY_NEED_DEBOUNCE_NORMAL, Key_Status_Read_Left, Key_Operation_Left},
{KEY_NEED_DEBOUNCE_NORMAL, Key_Status_Read_Right, Key_Operation_Right}, {KEY_NEED_DEBOUNCE_NORMAL, Key_Status_Read_Right, Key_Operation_Right},
//{KEY_NEED_DEBOUNCE_NORMAL, Key_Status_Read_FLIP, Key_Operation_FLIP},
//{KEY_NEED_DEBOUNCE_NORMAL, Key_Status_Read_ADJUST, Key_Operation_ADJUST},
}; };
/*---------------------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------------------*/
...@@ -167,11 +124,13 @@ void Key_KL30_Init_EXample(void) ...@@ -167,11 +124,13 @@ void Key_KL30_Init_EXample(void)
stKeyInitTem.enKeyIGNRealStatus = KEY_IG_OFF; stKeyInitTem.enKeyIGNRealStatus = KEY_IG_OFF;
Key_KL30_Init(&u8KeyRamData[0], stKeyAttribute, &stKeyInitTem); Key_KL30_Init(&u8KeyRamData[0], stKeyAttribute, &stKeyInitTem);
Key_Parameter_Set_Short_Press_1_Time(50U,1000U); Key_Parameter_Set_Short_Press_1_Time(50U,2000U);
Key_Parameter_Set_Short_Press_2_Time(3000U,10000U); Key_Parameter_Set_Short_Press_2_Time(3000U,6000U);
Key_Parameter_Set_Long_Press_1_Time(10000U); Key_Parameter_Set_Long_Press_1_Time(7000U);
Key_Parameter_Set_Long_Press_2_Time(60000U); Key_Parameter_Set_Long_Press_2_Time(8000U);
Key_Parameter_Set_Long_Press_3_Time(9000U);
Key_Parameter_Set_Long_Press_4_Time(10000U);
} }
void Key_Wakeup_Init_EXample(void) void Key_Wakeup_Init_EXample(void)
{ {
...@@ -181,33 +140,168 @@ void Key_Wakeup_Init_EXample(void) ...@@ -181,33 +140,168 @@ void Key_Wakeup_Init_EXample(void)
stKeyInitTem.enKeyIGNRealStatus = KEY_IG_OFF; stKeyInitTem.enKeyIGNRealStatus = KEY_IG_OFF;
Key_Wakeup_Init(&u8KeyRamData[0], stKeyAttribute, &stKeyInitTem); Key_Wakeup_Init(&u8KeyRamData[0], stKeyAttribute, &stKeyInitTem);
Key_Parameter_Set_Short_Press_1_Time(50U,1000U); Key_Parameter_Set_Short_Press_1_Time(50U,2000U);
Key_Parameter_Set_Short_Press_2_Time(3000U,10000U); Key_Parameter_Set_Short_Press_2_Time(3000U,6000U);
Key_Parameter_Set_Long_Press_1_Time(10000U); Key_Parameter_Set_Long_Press_1_Time(7000U);
Key_Parameter_Set_Long_Press_2_Time(60000U); Key_Parameter_Set_Long_Press_2_Time(8000U);
Key_Parameter_Set_Long_Press_3_Time(9000U);
Key_Parameter_Set_Long_Press_4_Time(10000U);
} }
void Key_Check_Service(void) void Key_TimeOut_Service(void)
{ {
PageType = Page_Time_Set_Hour; if((MenuData.Back_Time_Left_Flag == 1)&&(MenuData.Back_Time_Right_Flag == 1))
{
Menu_Service(MENU_KEY_TIMEOUT);
}
} }
void Key_Auto_Save(void) void Key_Auto_Save(void)
{ {
if(PageType == Page_Time_Set_Hour)
{ {
RTC_SetTime(&counter_val.time); //RTC_SetTime(&counter_val.time);
} }
if(PageType == Page_Time_Set_Minute)
{ {
RTC_SetTime(&counter_val.time); //RTC_SetTime(&counter_val.time);
} }
PageType = Page_Time;
} }
void Key_Event_Short_Press_Left(void)//选择
{
if(Menu_Get_Current_Cursor_Information() == MENU_ITEM_MAIN_ITEM)//切换大小计
{
Menu_Service(MENU_KEY_FUNCTION_1_SHORT);
}
if((Menu_Get_Current_Cursor_Information() == MENU_ITEM_DISPLAY_MODE)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BACKLIGHT_SETTING)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BLUETOOTH_CONNECT)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_SETTING)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_UNIT_SETTING)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_LANGUAGE_SETTING)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_FAULT_INFORMATION)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_PHONE_CONNECT)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_QUIT))
{
Menu_Service(MENU_KEY_RIGHT_SHORT);
}
else
{
if((Menu_Get_Current_Cursor_Information() == MENU_ITEM_SELECT_DAYTIME)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_SELECT_NIGHTTIME)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_SELECT_AUTO)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BACKLIGHT_5)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BACKLIGHT_4)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BACKLIGHT_3)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BACKLIGHT_2)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BACKLIGHT_1)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BACKLIGHT_AUTO)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BLUETOOTH_OPEN_CLOSE)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BLUETOOTH_SYNC)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BLUETOOTH_BACK)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_HOUR_TENB)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_HOUR_BIT)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_MIN_TENB)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_MIN_BIT)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_BACK)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_HOUR_TENB_SET)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_HOUR_BIT_SET)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_MIN_TENB_SET)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_MIN_BIT_SET)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_UNIT_KM)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_UNIT_MILE)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_LANGUAGE_CHINESE)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_LANGUAGE_ENGLISH))
{
Menu_Service(MENU_KEY_DOWN_SHORT);
}
}
}
void Key_Event_Short_Press_Right(void)//确认
{
if((Menu_Get_Current_Cursor_Information() == MENU_ITEM_MAIN_ITEM)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_DISPLAY_MODE)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BACKLIGHT_SETTING)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BLUETOOTH_CONNECT)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_SETTING)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_UNIT_SETTING)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_LANGUAGE_SETTING)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_FAULT_INFORMATION)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_PHONE_CONNECT)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_QUIT)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_SELECT_DAYTIME)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_SELECT_NIGHTTIME)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_SELECT_AUTO)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BACKLIGHT_5)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BACKLIGHT_4)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BACKLIGHT_3)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BACKLIGHT_2)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BACKLIGHT_1)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BACKLIGHT_AUTO)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BLUETOOTH_OPEN_CLOSE)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BLUETOOTH_SYNC)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BLUETOOTH_BACK)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_HOUR_TENB)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_HOUR_BIT)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_MIN_TENB)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_MIN_BIT)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_BACK)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_HOUR_TENB_SET)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_HOUR_BIT_SET)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_MIN_TENB_SET)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_MIN_BIT_SET)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_UNIT_KM)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_UNIT_MILE)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_LANGUAGE_CHINESE)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_LANGUAGE_ENGLISH)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_PHONE_CONNECT_SET)||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_PHONE_CONNECT_APP))
{
Menu_Service(MENU_KEY_CONFIRM_SHORT);
}
}
void KEY_LEFT_EVENT_NONE_Service(void)
{
MenuData.Back_Time_Left++;
if(MenuData.Back_Time_Left > BACK_MENU_TIME)
{
MenuData.Back_Time_Left = BACK_MENU_TIME;
MenuData.Back_Time_Left_Flag = 1;
}
}
void KEY_RIGHT_EVENT_NONE_Service(void)
{
MenuData.Back_Time_Right++;
if(MenuData.Back_Time_Right > BACK_MENU_TIME)
{
MenuData.Back_Time_Right = BACK_MENU_TIME;
MenuData.Back_Time_Right_Flag = 1;
}
}
void Key_Clear_Time(void)
{
if(Key_Status_Read_Left() == KEY_REALTIME_PRESS)
{
MenuData.Back_Time_Left = 0;
MenuData.Back_Time_Left_Flag = 0;
MenuData.Back_Time_Right_Flag = 0;
}
if(Key_Status_Read_Right() == KEY_REALTIME_PRESS)
{
MenuData.Back_Time_Right = 0;
MenuData.Back_Time_Left_Flag = 0;
MenuData.Back_Time_Right_Flag = 0;
}
}
uint8_t ClearODO_Flag = 0; uint8_t ClearODO_Flag = 0;
void TYW_RESET_ODO(void) void TYW_RESET_ODO(void)
...@@ -229,6 +323,8 @@ void TYW_RESET_ODO(void) ...@@ -229,6 +323,8 @@ void TYW_RESET_ODO(void)
} }
} }
uint8_t Get_Dis_Hour_Time(void) uint8_t Get_Dis_Hour_Time(void)
{ {
return counter_val.time.RTC_Hours; return counter_val.time.RTC_Hours;
...@@ -239,12 +335,22 @@ uint8_t Get_Dis_Minute_Time(void) ...@@ -239,12 +335,22 @@ uint8_t Get_Dis_Minute_Time(void)
return counter_val.time.RTC_Minutes; return counter_val.time.RTC_Minutes;
} }
uint8_t Get_Current_PageType(void) uint8_t Get_Dis_Unit(void)
{ {
return PageType; return MenuData.Unit; //0km,1mile
} }
uint8_t Get_Dis_Unit(void) uint8_t Get_Dis_OdoAndTrip(void)
{ {
return MenuData.Unit; //0km,1mile return MenuData.OdoAndTrip; //0Odo,1Trip
}
uint8_t Get_Dis_Bluetooth_Open_Close(void)
{
return MenuData.Bluetooth_Open_Close; //0开,1关
} }
uint8_t Get_Dis_Language(void)
{
return MenuData.Language; //0中文,1英文
}
\ No newline at end of file
...@@ -32,36 +32,23 @@ typedef enum ...@@ -32,36 +32,23 @@ typedef enum
typedef struct typedef struct
{ {
uint8_t Set_Hour; uint16_t Back_Time_Left;
uint8_t Set_Minute; uint16_t Back_Time_Right;
uint8_t Dis_Hour; uint8_t Back_Time_Right_Flag;
uint8_t Dis_Minute; uint8_t Back_Time_Left_Flag;
uint8_t Dis_Hour_Tenb;
uint8_t Dis_Hour_Bit;
uint8_t Dis_Minute_Tenb;
uint8_t Dis_Minute_Bit;
uint8_t Unit; uint8_t Unit;
uint8_t Language;
uint8_t OdoAndTrip;
uint8_t Bluetooth_Open_Close;
uint8_t Clock_Flash;
}_Menu_Data; }_Menu_Data;
typedef enum
{
Page_Time = 0,
Page_Time_Set_Hour,
Page_Time_Set_Minute,
Page_Max,
}_Page_Type;
extern uint8_t PageType;
extern uint8_t Key_Right_Long_Press_Flag;
extern uint8_t Key_Left_Long_Press_Flag;
extern uint8_t ClearODO_Flag; extern uint8_t ClearODO_Flag;
// extern uint8_t g_u8Menu_Grade;
extern uint8_t g_u8Cursor_Posittion; extern uint8_t g_u8Cursor_Posittion;
extern uint8_t g_u8Language;
extern uint8_t g_u8Theme;
extern uint8_t g_u8Blue;
extern uint8_t g_u8DVR_Set;
extern uint8_t g_u8Formatting;
extern uint8_t g_u8Factory;
extern _Menu_Infor MenuInfor;
extern RTC_CounterTypeDef counter_val; extern RTC_CounterTypeDef counter_val;
extern void Key_KL30_Init_EXample(void); extern void Key_KL30_Init_EXample(void);
extern void Key_Wakeup_Init_EXample(void); extern void Key_Wakeup_Init_EXample(void);
...@@ -70,13 +57,22 @@ void Key_Operation_Right(Key_Event_en_t enKeyEvent); ...@@ -70,13 +57,22 @@ void Key_Operation_Right(Key_Event_en_t enKeyEvent);
void Key_Operation_Left(Key_Event_en_t enKeyEvent); void Key_Operation_Left(Key_Event_en_t enKeyEvent);
Key_Status_en_t Key_Status_Read_Left(void); Key_Status_en_t Key_Status_Read_Left(void);
Key_Status_en_t Key_Status_Read_Right(void); Key_Status_en_t Key_Status_Read_Right(void);
void Key_Event_Short_Press_Left(void);
void Key_Event_Short_Press_Right(void);
void KEY_RIGHT_EVENT_NONE_Service(void);
void KEY_LEFT_EVENT_NONE_Service(void);
void Key_Auto_Save(void); void Key_Auto_Save(void);
uint8_t Get_Dis_Hour_Time(void); uint8_t Get_Dis_Hour_Time(void);
uint8_t Get_Dis_Minute_Time(void); uint8_t Get_Dis_Minute_Time(void);
uint8_t Get_Current_PageType(void);
void TYW_RESET_ODO(void); void TYW_RESET_ODO(void);
uint8_t Get_Dis_Unit(void); uint8_t Get_Dis_Unit(void);
void Key_Check_Service(void); void Key_TimeOut_Service(void);
void Key_Clear_Time(void);
uint8_t Get_Dis_OdoAndTrip(void);
uint8_t Get_Dis_Bluetooth_Open_Close(void);
uint8_t Get_Dis_Language(void);
#endif #endif
...@@ -5,63 +5,156 @@ ...@@ -5,63 +5,156 @@
const Line_In_Attribute_st g_stLineInAttribute[LINE_IN_MAX] = 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_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Turn_Left, },
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_TurnRight, }, {LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Turn_Right, },
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 60U, 20U, Get_LINE_IN_HighBeam, }, {LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 60U, 20U, Get_LINE_IN_High_Beam, },
{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_Efi_Fault, },
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_ABS, },
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Auto_Start_Stop, },
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Oil_Pressure_Alert, },
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Voltage, },
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Fuel_Level_Low, },
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_E, },
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_S, },
}; };
Linelib_uint8_t Get_LINE_IN_Turn_Left(void)
Linelib_uint8_t Get_LINE_IN_TurnLeft(void)
{ {
Linelib_uint8_t ret = 0U; Linelib_uint8_t ret = 0U;
//if (RTE_GPIO_Get_Level(LeftTurn_P_In)) if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
{ {
ret = 1u; ret = 1u;
} }
//else else
{ {
ret = 0UL; ret = 0UL;
} }
return ret; return ret;
} }
Linelib_uint8_t Get_LINE_IN_Turn_Right(void)
Linelib_uint8_t Get_LINE_IN_TurnRight(void)
{ {
Linelib_uint8_t ret = 0U; Linelib_uint8_t ret = 0U;
//if (RTE_GPIO_Get_Level(RightTurn_P_In)) if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
{ {
ret = 1u; ret = 1u;
} }
//else else
{ {
ret = 0UL; ret = 0UL;
} }
return ret; return ret;
} }
Linelib_uint8_t Get_LINE_IN_High_Beam(void)
Linelib_uint8_t Get_LINE_IN_HighBeam(void)
{ {
Linelib_uint8_t ret = 0U; Linelib_uint8_t ret = 0U;
//if (RTE_GPIO_Get_Level(HighBeam_P_In)) if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
{ {
ret = 1u; ret = 1u;
} }
//else else
{
ret = 0UL;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_Efi_Fault(void)
{
Linelib_uint8_t ret = 0U;
if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
{
ret = 1u;
}
else
{
ret = 0UL;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_ABS(void)
{
Linelib_uint8_t ret = 0U;
if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
{
ret = 1u;
}
else
{ {
ret = 0UL; ret = 0UL;
} }
return ret; return ret;
} }
Linelib_uint8_t Get_LINE_IN_Auto_Start_Stop(void) Linelib_uint8_t Get_LINE_IN_Auto_Start_Stop(void)
{ {
Linelib_uint8_t ret = 0U; Linelib_uint8_t ret = 0U;
//if (RTE_GPIO_Get_Level(START_STOP_P_IN)) if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
{
ret = 1u;
}
else
{
ret = 0UL;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_Oil_Pressure_Alert(void)
{
Linelib_uint8_t ret = 0U;
if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
{
ret = 1u;
}
else
{
ret = 0UL;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_Voltage(void)
{
Linelib_uint8_t ret = 0U;
if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
{
ret = 1u;
}
else
{
ret = 0UL;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_Fuel_Level_Low(void)
{
Linelib_uint8_t ret = 0U;
if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
{
ret = 1u;
}
else
{
ret = 0UL;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_E(void)
{
Linelib_uint8_t ret = 0U;
if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
{
ret = 1u;
}
else
{
ret = 0UL;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_S(void)
{
Linelib_uint8_t ret = 0U;
if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
{ {
ret = 1u; ret = 1u;
} }
//else else
{ {
ret = 0UL; ret = 0UL;
} }
...@@ -74,7 +167,7 @@ Linelib_uint8_t LINE_IN_Men[LINE_IN_MAX * LINE_IN_BLOCK_SIZE]; ...@@ -74,7 +167,7 @@ Linelib_uint8_t LINE_IN_Men[LINE_IN_MAX * LINE_IN_BLOCK_SIZE];
static Linelib_uint16_t LINE_GET_PWR(void) static Linelib_uint16_t LINE_GET_PWR(void)
{ {
Linelib_uint16_t Res; Linelib_uint16_t Res;
//Res = Common_Get_IG_Sts() & 0x00FFu; Res = Common_Get_IG_Sts() & 0x00FFu;
return Res; return Res;
} }
......
...@@ -5,19 +5,31 @@ ...@@ -5,19 +5,31 @@
typedef enum typedef enum
{ {
LINE_IN_TurnLeft = 0, LINE_IN_Turn_Left,
LINE_IN_TurnRight, LINE_IN_Turn_Right,
LINE_IN_HighBeam, LINE_IN_High_Beam,
LINE_IN_Auto_Start_Stop, LINE_IN_Efi_Fault,
LINE_IN_ABS,
LINE_IN_Auto_Start_Stop,
LINE_IN_Oil_Pressure_Alert,
LINE_IN_Voltage,
LINE_IN_Fuel_Level_Low,
LINE_IN_E,
LINE_IN_S,
LINE_IN_MAX, LINE_IN_MAX,
} LINE_IN_Enum_t; } LINE_IN_Enum_t;
extern void LINE_IN_Init(void); extern void LINE_IN_Init(void);
Linelib_uint8_t Get_LINE_IN_TurnLeft(void); Linelib_uint8_t Get_LINE_IN_Turn_Left(void);
Linelib_uint8_t Get_LINE_IN_TurnRight(void); Linelib_uint8_t Get_LINE_IN_Turn_Right(void);
Linelib_uint8_t Get_LINE_IN_HighBeam(void); Linelib_uint8_t Get_LINE_IN_High_Beam(void);
Linelib_uint8_t Get_LINE_IN_Efi_Fault(void);
Linelib_uint8_t Get_LINE_IN_ABS(void);
Linelib_uint8_t Get_LINE_IN_Auto_Start_Stop(void); Linelib_uint8_t Get_LINE_IN_Auto_Start_Stop(void);
Linelib_uint8_t Get_LINE_IN_Oil_Pressure_Alert(void);
Linelib_uint8_t Get_LINE_IN_Voltage(void);
Linelib_uint8_t Get_LINE_IN_Fuel_Level_Low(void);
Linelib_uint8_t Get_LINE_IN_E(void);
Linelib_uint8_t Get_LINE_IN_S(void);
#endif #endif
...@@ -34,64 +34,87 @@ typedef unsigned int Menu_uint32_t; ...@@ -34,64 +34,87 @@ typedef unsigned int Menu_uint32_t;
*/ */
typedef enum typedef enum
{ {
MENU_ITEM_BACKLIGHT_SETTING, /*04 背光设置*/ MENU_ITEM_MAIN_ITEM = 0, /*主界面*/
MENU_ITEM_BACKLIGHT_AUTO, /*05 背光自动*/ MENU_ITEM_DISPLAY_MODE, /*00 显示模式*/
MENU_ITEM_BACKLIGHT_1, /*06 背光_1*/ MENU_ITEM_BACKLIGHT_SETTING, /*04 背光设置*/
MENU_ITEM_BACKLIGHT_2, /*07 背光_2*/ MENU_ITEM_BLUETOOTH_CONNECT, /*11 蓝牙连接*/
MENU_ITEM_BACKLIGHT_3, /*08 背光_3*/ MENU_ITEM_CLOCK_SETTING, /*15 时钟设置*/
MENU_ITEM_BACKLIGHT_4, /*09 背光_4*/ MENU_ITEM_UNIT_SETTING, /*21 单位设置*/
MENU_ITEM_BACKLIGHT_5, /*10 背光_5*/ MENU_ITEM_LANGUAGE_SETTING, /*24 语言设置*/
MENU_ITEM_FAULT_INFORMATION, /*27 故障信息*/
MENU_ITEM_PHONE_CONNECT, /*28 手机互联*/
MENU_ITEM_QUIT, /*29 退出*/
MENU_ITEM_BLUETOOTH_CONNECT, /*11 蓝牙连接*/ MENU_ITEM_SELECT_DAYTIME, /*01 选中日间*/
MENU_ITEM_BLUETOOTH_OPEN, /*12 蓝牙_开*/ MENU_ITEM_SELECT_NIGHTTIME, /*02 选中夜间*/
MENU_ITEM_BLUETOOTH_CLOSE, /*13 蓝牙_关*/ MENU_ITEM_SELECT_AUTO, /*03 选中自动*/
MENU_ITEM_BLUETOOTH_BACK, /*14 蓝牙返回*/
MENU_ITEM_BACKLIGHT_5, /*10 背光_5*/
MENU_ITEM_BACKLIGHT_4, /*09 背光_4*/
MENU_ITEM_BACKLIGHT_3, /*08 背光_3*/
MENU_ITEM_BACKLIGHT_2, /*07 背光_2*/
MENU_ITEM_BACKLIGHT_1, /*06 背光_1*/
MENU_ITEM_BACKLIGHT_AUTO, /*05 背光自动*/
MENU_ITEM_CLOCK_SETTING, /*15 时钟设置*/ MENU_ITEM_BLUETOOTH_OPEN_CLOSE, /*12 蓝牙_开*/
MENU_ITEM_CLOCK_BACK, /*16 时钟返回*/ MENU_ITEM_BLUETOOTH_SYNC, /*13 蓝牙同步联系人*/
MENU_ITEM_CLOCK_MIN_BIT, /*17 时钟分钟个位*/ MENU_ITEM_BLUETOOTH_BACK, /*14 蓝牙返回*/
MENU_ITEM_CLOCK_MIN_TENB, /*18 时钟分钟十位*/
MENU_ITEM_CLOCK_HOUR_BIT, /*19 时钟小时个位*/
MENU_ITEM_CLOCK_HOUR_TENB, /*20 时钟小时十位*/
MENU_ITEM_UNIT_SETTING, /*21 单位设置*/ MENU_ITEM_CLOCK_HOUR_TENB, /*20 时钟小时十位*/
MENU_ITEM_UNIT_KM, /*22 选中公制*/ MENU_ITEM_CLOCK_HOUR_BIT, /*19 时钟小时个位*/
MENU_ITEM_UNIT_MILE, /*23 选中英制*/ MENU_ITEM_CLOCK_MIN_TENB, /*18 时钟分钟十位*/
MENU_ITEM_CLOCK_MIN_BIT, /*17 时钟分钟个位*/
MENU_ITEM_CLOCK_BACK, /*16 时钟返回*/
MENU_ITEM_LANGUAGE_SETTING, /*24 语言设置*/ MENU_ITEM_CLOCK_HOUR_TENB_SET, /*20 时钟小时十位*/
MENU_ITEM_LANGUAGE_CHINESE, /*25 选中中文*/ MENU_ITEM_CLOCK_HOUR_BIT_SET, /*19 时钟小时个位*/
MENU_ITEM_LANGUAGE_ENGLISH, /*26 选中英文*/ MENU_ITEM_CLOCK_MIN_TENB_SET, /*18 时钟分钟十位*/
MENU_ITEM_CLOCK_MIN_BIT_SET, /*17 时钟分钟个位*/
MENU_ITEM_FAULT_INFORMATION, /*27 故障信息*/ MENU_ITEM_UNIT_KM, /*22 选中公制*/
MENU_ITEM_UNIT_MILE, /*23 选中英制*/
MENU_ITEM_LANGUAGE_CHINESE, /*25 选中中文*/
MENU_ITEM_LANGUAGE_ENGLISH, /*26 选中英文*/
MENU_ITEM_PHONE_CONNECT, /*28 手机互联*/ MENU_ITEM_PHONE_CONNECT_SET,
MENU_ITEM_PHONE_CONNECT_WIN, /*28 手机互联成功*/
MENU_ITEM_PHONE_CONNECT_APP, /*28 手机互联成功*/
MENU_ITEM_QUIT, /*29 退出*/
MENU_ITEM_MAX,
MENU_ITEM_MAX,
} Menu_Item_en_t; } Menu_Item_en_t;
/*所有菜单界面的枚举*/ /*所有菜单界面的枚举*/
typedef enum typedef enum
{ {
MENU_INTF_DISPLAY_MODE = 0U, /*显示模式*/ MENU_INTF_MAIN_INTF = 0,
MENU_INTF_BACKLIGHT_SETTING, /*背光设置*/
MENU_INTF_BLUETOOTH_CONNECT, /*蓝牙连接*/
MENU_INTF_CLOCK_SETTING, /*时钟设置*/
MENU_INTF_UNIT_SETTING, /*单位设置*/
MENU_INTF_LANGUAGE_SETTING, /*语言设置*/
MENU_INTF_FAULT_INFORMATION, /*故障信息*/ MENU_INTF_MODE,
MENU_INTF_PHONE_CONNECT, /*手机互联*/ MENU_INTF_DISPLAY_MODE, /*显示模式*/
MENU_INTF_BACKLIGHT_SETTING, /*背光设置*/
MENU_INTF_BLUETOOTH_CONNECT, /*蓝牙连接*/
MENU_INTF_CLOCK_SETTING, /*时钟设置*/
MENU_INTF_QUIT, /*退出*/ MENU_INTF_CLOCK_HOUR_TENB_SET,
MENU_INTF_CLOCK_HOUR_BIT_SET,
MENU_INTF_CLOCK_MIN_TENB_SET,
MENU_INTF_CLOCK_MIN_BIT_SET,
MENU_INTF_UNIT_SETTING, /*单位设置*/
MENU_INTF_LANGUAGE_SETTING, /*语言设置*/
MENU_INTF_FAULT_INFORMATION, /*故障信息*/
MENU_INTF_PHONE_CONNECT, /*手机互联*/
MENU_INTF_PHONE_CONNECT_SET,
MENU_INTF_QUIT, /*退出*/
MENU_INTERFACE_MAX, MENU_INTERFACE_MAX,
} Menu_Interface_en_t; } Menu_Interface_en_t;
/*所有菜单分支*/ /*所有菜单分支*/
...@@ -398,6 +421,8 @@ extern Menu_uint8_t Menu_Item_Select_Get(Menu_Item_en_t enMenuItem); ...@@ -398,6 +421,8 @@ extern Menu_uint8_t Menu_Item_Select_Get(Menu_Item_en_t enMenuItem);
/*-----------------------------------------------------------------------------------*/ /*-----------------------------------------------------------------------------------*/
extern Menu_uint8_t u8MenuRamData[MENU_RAM_DATA_LEN]; extern Menu_uint8_t u8MenuRamData[MENU_RAM_DATA_LEN];
extern void Menu_Service(Menu_Key_en_t enMenuKey); extern void Menu_Service(Menu_Key_en_t enMenuKey);
void Menu_User_Init(void);
void Menu_User_WAKEUP(void);
/*-----------------------------------------------------------------------------------*/ /*-----------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------*/ /*-----------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------*/ /*-----------------------------------------------------------------------------------*/
......
// #include "Menu.h" #include "Menu.h"
// #include "Components.h" #include "Components.h"
// /*-------------------------------------------------------*/
/*-------------------Logic_Operation Call Back---------------------*/
// /*-----------------------------------------------------------------*/ uint8_t g_u8Cursor_Posittion;
extern _Menu_Data MenuData;
// /*-------------------Logic_Operation Call Back---------------------*/ void Menu_Logic_Operation_MAIN_ITEM(Menu_Key_en_t enKeyType);
// uint8_t g_u8Menu_Grade;
// uint8_t g_u8Cursor_Posittion; void Menu_Logic_Operation_Display_Mode(Menu_Key_en_t enKeyType);
// uint8_t g_u8Language; void Menu_Logic_Operation_Backlight_Setting(Menu_Key_en_t enKeyType);
// uint8_t g_u8Theme; void Menu_Logic_Operation_Bluetooth_Connect(Menu_Key_en_t enKeyType);
// uint8_t g_u8Blue; void Menu_Logic_Operation_Clock_Setting(Menu_Key_en_t enKeyType);
// uint8_t g_u8DVR_Set; void Menu_Logic_Operation_Unit_Setting(Menu_Key_en_t enKeyType);
// uint8_t g_u8Formatting; void Menu_Logic_Operation_Language_Setting(Menu_Key_en_t enKeyType);
// uint8_t g_u8Factory; void Menu_Logic_Operation_Fault_Information(Menu_Key_en_t enKeyType);
// _Menu_Infor MenuInfor; void Menu_Logic_Operation_Phone_Connect(Menu_Key_en_t enKeyType);
// void DriveInfo_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Quit(Menu_Key_en_t enKeyType);
// void QR_ANDROID_Service(Menu_Key_en_t enMenuKey);
// void QR_ODS_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Select_Daytime(Menu_Key_en_t enKeyType);
// void SUBJECT_MODE_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Select_Nighttime(Menu_Key_en_t enKeyType);
// void UNITS_SETUP_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Select_Auto(Menu_Key_en_t enKeyType);
// void CLOCK_Service(Menu_Key_en_t enMenuKey);
// void BACKLIGHT_CLASS_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Backlight_Auto(Menu_Key_en_t enKeyType);
// void TPMS_STUDY_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Backlight_1(Menu_Key_en_t enKeyType);
// void LANGUAGE_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Backlight_2(Menu_Key_en_t enKeyType);
// void BLUE_TOOTH_SETTING_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Backlight_3(Menu_Key_en_t enKeyType);
// void DVRSET_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Backlight_4(Menu_Key_en_t enKeyType);
// void VERSION_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Backlight_5(Menu_Key_en_t enKeyType);
// void FACTORY_RESET_Service(Menu_Key_en_t enMenuKey);
// void SUBJECT1_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Bluetooth_Open_Close(Menu_Key_en_t enKeyType);
// void SUBJECT2_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Bluetooth_Sync_Contacts(Menu_Key_en_t enKeyType);
// void SUBJECT3_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Bluetooth_Back(Menu_Key_en_t enKeyType);
// void TIME_12H_Service(Menu_Key_en_t enMenuKey);
// void TIME_24H_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Clock_Back(Menu_Key_en_t enKeyType);
// void TIME_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Clock_Min_Bit(Menu_Key_en_t enKeyType);
// void BACKLIGHT_TYPE1_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Clock_Min_Tenb(Menu_Key_en_t enKeyType);
// void BACKLIGHT_TYPE2_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Clock_Hour_Bit(Menu_Key_en_t enKeyType);
// void BACKLIGHT_TYPE3_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Clock_Hour_Tenb(Menu_Key_en_t enKeyType);
// void BACKLIGHT_TYPE4_Service(Menu_Key_en_t enMenuKey);
// void BACKLIGHT_TYPE5_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Clock_Hour_Tenb_Set(Menu_Key_en_t enKeyType);
// void BACKLIGHT_TYPEA_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Clock_Hour_Bit_Set(Menu_Key_en_t enKeyType);
// void TPMS_UNIT_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Clock_Min_Tenb_Set(Menu_Key_en_t enKeyType);
// void TPMS_STUDYF_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Clock_Min_Bit_Set(Menu_Key_en_t enKeyType);
// void TPMS_STUDYB_Service(Menu_Key_en_t enMenuKey);
// void BLUE_LINK_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Unit_Km(Menu_Key_en_t enKeyType);
// void BLUE_lINKMAN_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Unit_Mile(Menu_Key_en_t enKeyType);
// void BLUE_NAME_Service(Menu_Key_en_t enMenuKey);
// void BLUE_OUT_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Language_Chinese(Menu_Key_en_t enKeyType);
// void DVR_SET_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Language_English(Menu_Key_en_t enKeyType);
// void DVR_LOOK_Service(Menu_Key_en_t enMenuKey);
// void VERSION2_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Phone_Connect_Set(Menu_Key_en_t enKeyType);
// void BACKLIGHT_BLACK_Service(Menu_Key_en_t enMenuKey); void Menu_Logic_Operation_Phone_Connect_App(Menu_Key_en_t enKeyType);
// void BACKLIGHT_WHITE_Service(Menu_Key_en_t enMenuKey);
// void BACKLIGHT_A_Service(Menu_Key_en_t enMenuKey); void Menu_u8Data_Updata_Process(uint8_t updateDir , uint8_t datMax, uint8_t datMin, uint8_t datStep, uint8_t *dat);
// void DVR_SET2_Service(Menu_Key_en_t enMenuKey);
// void DVR_NAME_Service(Menu_Key_en_t enMenuKey);
// void STORAGE_Service(Menu_Key_en_t enMenuKey); void Menu_User_Init(void)
// void FORMATTING_Service(Menu_Key_en_t enMenuKey); {
// void DVR_LOOK2_Service(Menu_Key_en_t enMenuKey); Menu_Init_st_t Menu_Init_st;
// void FACTORY_YES_Service(Menu_Key_en_t enMenuKey); Menu_Init_st.enMenuBranchLen = MENU_BRANCH_MAX;
// void FACTORY_NO_Service(Menu_Key_en_t enMenuKey); Menu_Init_st.enMenuInterfaceLen = MENU_INTERFACE_MAX;
// void FORMATTING_YES_Service(Menu_Key_en_t enMenuKey); Menu_Init_st.enMenuItemLen = MENU_ITEM_MAX;
// void FORMATTING_NO_Service(Menu_Key_en_t enMenuKey); Menu_Init_st.uintMenuConfig = 0x0001;
// /*---------------------------------------------------------------------------------------*/ Menu_Init_st.uintMenuCursorMemoryDepth = 0;
// const Menu_Item_Attribute_st_t stMenuItemAttribute[MENU_ITEM_MAX] = Menu_Init((uint8_t *)u8MenuRamData, (Menu_Item_Attribute_st_t *)stMenuItemAttribute, (Menu_Init_st_t *)&Menu_Init_st);
// { }
// {0, MENU_INTF_DriveInfo, MENU_ITEM_MAX, 0U, 1U, 1U, MENU_ITEM_DriveInfo, MENU_ITEM_MAX, MENU_DIRECTION_TRANSVERSE, 0XFFU, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, DriveInfo_Service },/**< 行车电脑界面 */
// {0, MENU_INTF_QR_CODE, MENU_ITEM_MAX, 1U, 1U, 1U, MENU_ITEM_QR_ANDROID, MENU_ITEM_MAX, MENU_DIRECTION_TRANSVERSE, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, QR_ANDROID_Service },/**< 手机互联安卓 */ void Menu_User_WAKEUP(void)
// {0, MENU_INTF_QR_CODE, MENU_ITEM_MAX, 1U, 1U, 1U, MENU_ITEM_QR_ODS, MENU_ITEM_MAX, MENU_DIRECTION_TRANSVERSE, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, QR_ODS_Service },/**< 手机互联苹果 */ {
// {0, MENU_INTF_STAIR_MENU, MENU_ITEM_MAX, 2U, 10U, 10U, MENU_ITEM_SUBJECT_MODE, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_SUBJECT_MODE, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, SUBJECT_MODE_Service },/**< 主题模式 */ Menu_Init_st_t Menu_Init_st;
// {0, MENU_INTF_STAIR_MENU, MENU_ITEM_MAX, 3U, 10U, 10U, MENU_ITEM_UNITS_SETUP, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, UNITS_SETUP_Service },/**< 单位设置 */ Menu_Init_st.enMenuBranchLen = MENU_BRANCH_MAX;
// {0, MENU_INTF_STAIR_MENU, MENU_ITEM_MAX, 4U, 10U, 10U, MENU_ITEM_CLOCK, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_CLOCK, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, CLOCK_Service },/**< 时钟信息 */ Menu_Init_st.enMenuInterfaceLen = MENU_INTERFACE_MAX;
// {0, MENU_INTF_STAIR_MENU, MENU_ITEM_MAX, 5U, 10U, 10U, MENU_ITEM_BACKLIGHT_CLASS, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_BACKLIGHT_CLASS, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, BACKLIGHT_CLASS_Service },/**< 亮度设置 */ Menu_Init_st.enMenuItemLen = MENU_ITEM_MAX;
// {0, MENU_INTF_STAIR_MENU, MENU_ITEM_MAX, 6U, 10U, 10U, MENU_ITEM_TPMS_STUDY, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_TPMS_STUDY, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, TPMS_STUDY_Service },/**< 胎压学习 */ Menu_Init_st.uintMenuConfig = 0x0001;
// {0, MENU_INTF_STAIR_MENU, MENU_ITEM_MAX, 7U, 10U, 10U, MENU_ITEM_LANGUAGE, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, LANGUAGE_Service },/**< 语言设置 */ Menu_Init_st.uintMenuCursorMemoryDepth = 0;
// {0, MENU_INTF_STAIR_MENU, MENU_ITEM_MAX, 8U, 10U, 10U, MENU_ITEM_BLUE_TOOTH_SETTING, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_BLUE_TOOTH_SETTING, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, BLUE_TOOTH_SETTING_Service },/**< 蓝牙设置 */ Menu_Wake_Up_Init((uint8_t *)u8MenuRamData, (Menu_Item_Attribute_st_t *)stMenuItemAttribute, (Menu_Init_st_t *)&Menu_Init_st);
// {0, MENU_INTF_STAIR_MENU, MENU_ITEM_MAX, 9U, 10U, 10U, MENU_ITEM_DVRSET, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_DVRSET, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, DVRSET_Service },/**< DVR */ }
// {0, MENU_INTF_STAIR_MENU, MENU_ITEM_MAX, 10U, 10U, 10U, MENU_ITEM_VERSION, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_VERSION, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, VERSION_Service },/**< 版本信息 */
// {0, MENU_INTF_STAIR_MENU, MENU_ITEM_MAX, 11U, 10U, 10U, MENU_ITEM_FACTORY_RESET, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_FACTORY_RESET, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, FACTORY_RESET_Service },/**< 恢复出厂设置 */ /*---------------------------------------------------------------------------------------*/
// {0, MENU_INTF_SUBJECT_MODE, MENU_ITEM_MAX, 12U, 3U, 3U, MENU_ITEM_SUBJECT1, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_BACKLIGHT_CLASS, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, SUBJECT1_Service },/**< 主题一 */ const Menu_Item_Attribute_st_t stMenuItemAttribute[MENU_ITEM_MAX] =
// {0, MENU_INTF_SUBJECT_MODE, MENU_ITEM_MAX, 13U, 3U, 3U, MENU_ITEM_SUBJECT2, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_BACKLIGHT_CLASS, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, SUBJECT2_Service },/**< 主题二 */ {
// {0, MENU_INTF_SUBJECT_MODE, MENU_ITEM_MAX, 14U, 3U, 3U, MENU_ITEM_SUBJECT3, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_BACKLIGHT_CLASS, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, SUBJECT3_Service },/**< 主题三 */ /*MENU_ITEM_MAIN_ITEM = 0, */ {0, MENU_INTF_MAIN_INTF, MENU_ITEM_MAX, 0U, 1U, 1U, 0, MENU_ITEM_MAX, MENU_DIRECTION_TRANSVERSE, 0XFFU, MENU_INTF_MODE, MENU_JUMP_FIRST, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_MAIN_ITEM },
// {0, MENU_INTF_CLOCK, MENU_ITEM_MAX, 15U, 3U, 3U, MENU_ITEM_TIME_12H, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, TIME_12H_Service },/**< 12时制 */ /*MENU_ITEM_DISPLAY_MODE, */ {0, MENU_INTF_MODE, MENU_ITEM_MAIN_ITEM, 0U, 9U, 1U, 1, MENU_ITEM_MAX, MENU_DIRECTION_TRANSVERSE, 0XFFU, MENU_INTF_DISPLAY_MODE, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Display_Mode },
// {0, MENU_INTF_CLOCK, MENU_ITEM_MAX, 16U, 3U, 3U, MENU_ITEM_TIME_24H, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, TIME_24H_Service },/**< 24时制 */ /*MENU_ITEM_BACKLIGHT_SETTING, */ {0, MENU_INTF_MODE, MENU_ITEM_MAIN_ITEM, 1U, 9U, 1U, 2, MENU_ITEM_MAX, MENU_DIRECTION_TRANSVERSE, 0XFFU, MENU_INTF_BACKLIGHT_SETTING, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Backlight_Setting },
// {0, MENU_INTF_CLOCK, MENU_ITEM_MAX, 17U, 3U, 3U, MENU_ITEM_TIME, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, TIME_Service },/**< 时间调整 */ /*MENU_ITEM_BLUETOOTH_CONNECT, */ {0, MENU_INTF_MODE, MENU_ITEM_MAIN_ITEM, 2U, 9U, 1U, 3, MENU_ITEM_MAX, MENU_DIRECTION_TRANSVERSE, 0XFFU, MENU_INTF_BLUETOOTH_CONNECT, MENU_JUMP_FIRST, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Bluetooth_Connect },
// {0, MENU_INTF_BACKLIGHT_CLASS, MENU_ITEM_MAX, 18U, 6U, 6U, MENU_ITEM_BACKLIGHT_TYPE1, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, BACKLIGHT_TYPE1_Service },/**< 亮度1 */ /*MENU_ITEM_CLOCK_SETTING, */ {0, MENU_INTF_MODE, MENU_ITEM_MAIN_ITEM, 3U, 9U, 1U, 4, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_CLOCK_SETTING, MENU_JUMP_FIRST, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Clock_Setting },
// {0, MENU_INTF_BACKLIGHT_CLASS, MENU_ITEM_MAX, 19U, 6U, 6U, MENU_ITEM_BACKLIGHT_TYPE2, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, BACKLIGHT_TYPE2_Service },/**< 亮度2 */ /*MENU_ITEM_UNIT_SETTING, */ {0, MENU_INTF_MODE, MENU_ITEM_MAIN_ITEM, 4U, 9U, 1U, 5, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_UNIT_SETTING, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Unit_Setting },
// {0, MENU_INTF_BACKLIGHT_CLASS, MENU_ITEM_MAX, 20U, 6U, 6U, MENU_ITEM_BACKLIGHT_TYPE3, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, BACKLIGHT_TYPE3_Service },/**< 亮度3 */ /*MENU_ITEM_LANGUAGE_SETTING, */ {0, MENU_INTF_MODE, MENU_ITEM_MAIN_ITEM, 5U, 9U, 1U, 6, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_LANGUAGE_SETTING, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Language_Setting },
// {0, MENU_INTF_BACKLIGHT_CLASS, MENU_ITEM_MAX, 21U, 6U, 6U, MENU_ITEM_BACKLIGHT_TYPE4, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, BACKLIGHT_TYPE4_Service },/**< 亮度4 */ /*MENU_ITEM_FAULT_INFORMATION, */ {0, MENU_INTF_MODE, MENU_ITEM_MAIN_ITEM, 6U, 9U, 1U, 7, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_FAULT_INFORMATION, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Fault_Information },
// {0, MENU_INTF_BACKLIGHT_CLASS, MENU_ITEM_MAX, 22U, 6U, 6U, MENU_ITEM_BACKLIGHT_TYPE5, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, BACKLIGHT_TYPE5_Service },/**< 亮度5 */ /*MENU_ITEM_PHONE_CONNECT, */ {0, MENU_INTF_MODE, MENU_ITEM_MAIN_ITEM, 7U, 9U, 1U, 8, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_PHONE_CONNECT, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Phone_Connect },
// {0, MENU_INTF_BACKLIGHT_CLASS, MENU_ITEM_MAX, 23U, 6U, 6U, MENU_ITEM_BACKLIGHT_TYPEA, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, BACKLIGHT_TYPEA_Service },/**< 亮度自动 */ /*MENU_ITEM_QUIT, */ {0, MENU_INTF_MODE, MENU_ITEM_MAIN_ITEM, 8U, 9U, 1U, 9, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Quit },
// {0, MENU_INTF_TPMS_STUDY, MENU_ITEM_MAX, 24U, 3U, 3U, MENU_ITEM_TPMS_UNIT, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, TPMS_UNIT_Service },/**< 胎压单位 */ /*MENU_ITEM_SELECT_DAYTIME, */ {0, MENU_INTF_DISPLAY_MODE, MENU_ITEM_DISPLAY_MODE, 0U, 3U, 1U, 10, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Select_Daytime },
// {0, MENU_INTF_TPMS_STUDY, MENU_ITEM_MAX, 25U, 3U, 3U, MENU_ITEM_TPMS_STUDYF, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, TPMS_STUDYF_Service },/**< 前轮学习 */ /*MENU_ITEM_SELECT_NIGHTTIME, */ {0, MENU_INTF_DISPLAY_MODE, MENU_ITEM_DISPLAY_MODE, 1U, 3U, 1U, 11, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Select_Nighttime },
// {0, MENU_INTF_TPMS_STUDY, MENU_ITEM_MAX, 26U, 3U, 3U, MENU_ITEM_TPMS_STUDYB, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, TPMS_STUDYB_Service },/**< 后轮学习 */ /*MENU_ITEM_SELECT_AUTO, */ {0, MENU_INTF_DISPLAY_MODE, MENU_ITEM_DISPLAY_MODE, 2U, 3U, 1U, 12, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Select_Auto },
// {0, MENU_INTF_BLUE_TOOTH_SETTING, MENU_ITEM_MAX, 11U, 4U, 4U, MENU_ITEM_BLUE_LINK, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, BLUE_LINK_Service },/**< 蓝牙连接 */ /*MENU_ITEM_BACKLIGHT_5, */ {0, MENU_INTF_BACKLIGHT_SETTING, MENU_ITEM_BACKLIGHT_SETTING, 0U, 6U, 1U, 13, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MAIN_INTF, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Backlight_5 },
// {0, MENU_INTF_BLUE_TOOTH_SETTING, MENU_ITEM_MAX, 11U, 4U, 4U, MENU_ITEM_BLUE_lINKMAN, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, BLUE_lINKMAN_Service },/**< 同步联系人 */ /*MENU_ITEM_BACKLIGHT_4, */ {0, MENU_INTF_BACKLIGHT_SETTING, MENU_ITEM_BACKLIGHT_SETTING, 1U, 6U, 1U, 14, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MAIN_INTF, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Backlight_4 },
// {0, MENU_INTF_BLUE_TOOTH_SETTING, MENU_ITEM_MAX, 11U, 4U, 4U, MENU_ITEM_BLUE_NAME, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, BLUE_NAME_Service },/**< 蓝牙名称 */ /*MENU_ITEM_BACKLIGHT_3, */ {0, MENU_INTF_BACKLIGHT_SETTING, MENU_ITEM_BACKLIGHT_SETTING, 2U, 6U, 1U, 15, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MAIN_INTF, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Backlight_3 },
// {0, MENU_INTF_BLUE_TOOTH_SETTING, MENU_ITEM_MAX, 11U, 4U, 4U, MENU_ITEM_BLUE_OUT, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, BLUE_OUT_Service },/**< 蓝牙退出 */ /*MENU_ITEM_BACKLIGHT_2, */ {0, MENU_INTF_BACKLIGHT_SETTING, MENU_ITEM_BACKLIGHT_SETTING, 3U, 6U, 1U, 16, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MAIN_INTF, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Backlight_2 },
// {0, MENU_INTF_DVRSET, MENU_ITEM_MAX, 11U, 2U, 2U, MENU_ITEM_DVR_SET, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_DVR_SET, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, DVR_SET_Service },/**< DVR设置 */ /*MENU_ITEM_BACKLIGHT_1, */ {0, MENU_INTF_BACKLIGHT_SETTING, MENU_ITEM_BACKLIGHT_SETTING, 4U, 6U, 1U, 17, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MAIN_INTF, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Backlight_1 },
// {0, MENU_INTF_DVRSET, MENU_ITEM_MAX, 11U, 2U, 2U, MENU_ITEM_DVR_LOOK, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_DVR_LOOK, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, DVR_LOOK_Service },/**< DVR回放 */ /*MENU_ITEM_BACKLIGHT_AUTO, */ {0, MENU_INTF_BACKLIGHT_SETTING, MENU_ITEM_BACKLIGHT_SETTING, 5U, 6U, 1U, 18, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MAIN_INTF, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Backlight_Auto },
// {0, MENU_INTF_VERSION, MENU_ITEM_MAX, 11U, 1U, 1U, MENU_ITEM_VERSION2, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, VERSION2_Service },/**< 版本信息子菜单 */ /*MENU_ITEM_BLUETOOTH_OPEN_CLOSE*/ {0, MENU_INTF_BLUETOOTH_CONNECT, MENU_ITEM_BLUETOOTH_CONNECT, 0U, 3U, 1U, 19, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_BLUETOOTH_CONNECT, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Bluetooth_Open_Close },
// {0, MENU_INTF_BACKLIGHT_MODE, MENU_ITEM_MAX, 11U, 3U, 3U, MENU_ITEM_BACKLIGHT_BLACK, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_SUBJECT_MODE, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, BACKLIGHT_BLACK_Service },/**< 黑天模式 */ /*MENU_ITEM_BLUETOOTH_SYNC, */ {0, MENU_INTF_BLUETOOTH_CONNECT, MENU_ITEM_BLUETOOTH_CONNECT, 1U, 3U, 1U, 20, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_BLUETOOTH_CONNECT, MENU_JUMP_LAST_POSITION, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Bluetooth_Sync_Contacts},
// {0, MENU_INTF_BACKLIGHT_MODE, MENU_ITEM_MAX, 11U, 3U, 3U, MENU_ITEM_BACKLIGHT_WHITE, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_SUBJECT_MODE, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, BACKLIGHT_WHITE_Service },/**< 白天模式 */ /*MENU_ITEM_BLUETOOTH_BACK, */ {0, MENU_INTF_BLUETOOTH_CONNECT, MENU_ITEM_BLUETOOTH_CONNECT, 2U, 3U, 1U, 21, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MODE, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Bluetooth_Back },
// {0, MENU_INTF_BACKLIGHT_MODE, MENU_ITEM_MAX, 11U, 3U, 3U, MENU_ITEM_BACKLIGHT_A, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_SUBJECT_MODE, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, BACKLIGHT_A_Service },/**< 自动模式 */ /*MENU_ITEM_CLOCK_HOUR_TENB, */ {0, MENU_INTF_CLOCK_SETTING, MENU_ITEM_CLOCK_SETTING, 0U, 5U, 1U, 22, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_CLOCK_HOUR_TENB_SET, MENU_JUMP_FIRST, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Clock_Hour_Tenb },
// {0, MENU_INTF_DVR_SET, MENU_ITEM_MAX, 11U, 4U, 4U, MENU_ITEM_DVR_SET2, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_DVRSET, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, DVR_SET2_Service },/**< DVR设置 */ /*MENU_ITEM_CLOCK_HOUR_BIT, */ {0, MENU_INTF_CLOCK_SETTING, MENU_ITEM_CLOCK_SETTING, 1U, 5U, 1U, 23, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_CLOCK_HOUR_BIT_SET, MENU_JUMP_FIRST, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Clock_Hour_Bit },
// {0, MENU_INTF_DVR_SET, MENU_ITEM_MAX, 11U, 4U, 4U, MENU_ITEM_DVR_NAME, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_DVRSET, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, DVR_NAME_Service },/**< 记录仪名称 */ /*MENU_ITEM_CLOCK_MIN_TENB, */ {0, MENU_INTF_CLOCK_SETTING, MENU_ITEM_CLOCK_SETTING, 2U, 5U, 1U, 24, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_CLOCK_MIN_TENB_SET, MENU_JUMP_FIRST, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Clock_Min_Tenb },
// {0, MENU_INTF_DVR_SET, MENU_ITEM_MAX, 11U, 4U, 4U, MENU_ITEM_STORAGE, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_DVRSET, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, STORAGE_Service },/**< 存储空间 */ /*MENU_ITEM_CLOCK_MIN_BIT, */ {0, MENU_INTF_CLOCK_SETTING, MENU_ITEM_CLOCK_SETTING, 3U, 5U, 1U, 25, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_CLOCK_MIN_BIT_SET, MENU_JUMP_FIRST, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Clock_Min_Bit },
// {0, MENU_INTF_DVR_SET, MENU_ITEM_MAX, 11U, 4U, 4U, MENU_ITEM_FORMATTING, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_FORMATTING, MENU_JUMP_FIRST, MENU_INTF_DVRSET, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, FORMATTING_Service },/**< 格式化SD卡 */ /*MENU_ITEM_CLOCK_BACK, */ {0, MENU_INTF_CLOCK_SETTING, MENU_ITEM_CLOCK_SETTING, 4U, 5U, 1U, 26, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MODE, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Clock_Back },
// {0, MENU_INTF_DVR_LOOK, MENU_ITEM_MAX, 11U, 1U, 1U, MENU_ITEM_DVR_LOOK2, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_DVRSET, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, DVR_LOOK2_Service },/**< DVR回放子菜单 */ /*MENU_ITEM_CLOCK_HOUR_TENB_SET,*/ {0, MENU_INTF_CLOCK_HOUR_TENB_SET, MENU_ITEM_CLOCK_HOUR_TENB_SET, 0U, 1U, 1U, 27, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_CLOCK_SETTING, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Clock_Hour_Tenb_Set },
// {0, MENU_INTF_FACTORY_RESET, MENU_ITEM_MAX, 11U, 4U, 4U, MENU_ITEM_FACTORY_YES, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, FACTORY_YES_Service },/**< 恢复出厂设置是 */ /*MENU_ITEM_CLOCK_HOUR_BIT_SET, */ {0, MENU_INTF_CLOCK_HOUR_BIT_SET, MENU_ITEM_CLOCK_HOUR_BIT_SET, 0U, 1U, 1U, 28, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_CLOCK_SETTING, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Clock_Hour_Bit_Set },
// {0, MENU_INTF_FACTORY_RESET, MENU_ITEM_MAX, 11U, 4U, 4U, MENU_ITEM_FACTORY_NO, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_STAIR_MENU, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, FACTORY_NO_Service },/**< 恢复出厂设置否 */ /*MENU_ITEM_CLOCK_MIN_TENB_SET, */ {0, MENU_INTF_CLOCK_MIN_TENB_SET, MENU_ITEM_CLOCK_MIN_TENB, 0U, 1U, 1U, 29, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_CLOCK_SETTING, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Clock_Min_Tenb_Set },
// {0, MENU_INTF_FORMATTING, MENU_ITEM_MAX, 11U, 4U, 4U, MENU_ITEM_FORMATTING_YES, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_DVR_SET, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, FORMATTING_YES_Service },/**< 格式化SD卡是 */ /*MENU_ITEM_CLOCK_MIN_BIT_SET, */ {0, MENU_INTF_CLOCK_MIN_BIT_SET, MENU_ITEM_CLOCK_MIN_BIT, 0U, 1U, 1U, 30, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_CLOCK_SETTING, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Clock_Min_Bit_Set },
// {0, MENU_INTF_FORMATTING, MENU_ITEM_MAX, 11U, 1U, 1U, MENU_ITEM_FORMATTING_NO, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTERFACE_MAX, MENU_JUMP_FIRST, MENU_INTF_DVR_SET, MENU_JUMP_FIRST, MENU_INTF_DriveInfo, MENU_JUMP_FIRST, FORMATTING_NO_Service },/**< 格式化SD卡否 */ /*MENU_ITEM_UNIT_KM, */ {0, MENU_INTF_UNIT_SETTING, MENU_ITEM_UNIT_SETTING, 0U, 2U, 1U, 31, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MAIN_INTF, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Unit_Km },
// }; /*MENU_ITEM_UNIT_MILE, */ {0, MENU_INTF_UNIT_SETTING, MENU_ITEM_UNIT_SETTING, 1U, 2U, 1U, 32, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MAIN_INTF, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Unit_Mile },
/*MENU_ITEM_LANGUAGE_CHINESE, */ {0, MENU_INTF_LANGUAGE_SETTING, MENU_ITEM_LANGUAGE_SETTING, 0U, 2U, 1U, 33, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MAIN_INTF, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Language_Chinese },
// /*-------------------------------------------------------------------------------------------------*/ /*MENU_ITEM_LANGUAGE_ENGLISH, */ {0, MENU_INTF_LANGUAGE_SETTING, MENU_ITEM_LANGUAGE_SETTING, 1U, 2U, 1U, 34, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MAIN_INTF, MENU_JUMP_SELECT, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Language_English },
/*MENU_ITEM_PHONE_CONNECT_SET */ {0, MENU_INTF_PHONE_CONNECT, MENU_ITEM_PHONE_CONNECT, 0U, 1U, 1U, 35, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_PHONE_CONNECT_SET, MENU_JUMP_FIRST, 0XFFU, MENU_JUMP_FIRST, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, Menu_Logic_Operation_Phone_Connect_Set },
// /*--------------------------The following usage is recommended, but not required--------------------------------*/ /*MENU_ITEM_PHONE_CONNECT_APP */ {0, MENU_INTF_PHONE_CONNECT_SET, MENU_ITEM_PHONE_CONNECT_SET, 0U, 1U, 1U, 36, MENU_ITEM_MAX, MENU_DIRECTION_LONGITUDINAL, 0XFFU, MENU_INTF_MAIN_INTF, MENU_JUMP_FIRST, 0XFFU, MENU_JUMP_FIRST, 0XFFU, MENU_JUMP_FIRST, Menu_Logic_Operation_Phone_Connect_App },
// /*--------------------------The following usage is recommended, but not required--------------------------------*/ };
// /*--------------------------The following usage is recommended, but not required--------------------------------*/
/*-------------------------------------------------------------------------------------------------*/
// static void Menu_Cursor_Preprocess(Menu_Key_en_t enMenuKey);
// static void Menu_Cursor_Postprocess(Menu_Key_en_t enMenuKey); /*--------------------------The following usage is recommended, but not required--------------------------------*/
// void Menu_Service(Menu_Key_en_t enMenuKey); /*--------------------------The following usage is recommended, but not required--------------------------------*/
/*--------------------------The following usage is recommended, but not required--------------------------------*/
// /*传入按键动作执行之前需要预先处理的动作*/
//static void Menu_Cursor_Preprocess(Menu_Key_en_t enMenuKey);
//static void Menu_Cursor_Postprocess(Menu_Key_en_t enMenuKey);
void Menu_Service(Menu_Key_en_t enMenuKey);
/*传入按键动作执行之前需要预先处理的动作*/
// static void Menu_Cursor_Preprocess(Menu_Key_en_t enMenuKey) // static void Menu_Cursor_Preprocess(Menu_Key_en_t enMenuKey)
// { // {
// /*预处理中执行过本次按键了,后续不必执行时调用一次*/ // /*预处理中执行过本次按键了,后续不必执行时调用一次*/
// /*u8MenuKeyExecute = 0U;*/ // /*u8MenuKeyExecute = 0U;*/
// } // }
// /*传入按键动作执行之后需要后置处理的动作*/ /*传入按键动作执行之后需要后置处理的动作*/
// static void Menu_Cursor_Postprocess(Menu_Key_en_t enMenuKey) // static void Menu_Cursor_Postprocess(Menu_Key_en_t enMenuKey)
// { // {
// } // }
// /*------------传入按键类型-----------------------*/ /*------------传入按键类型-----------------------*/
// void Menu_Service(Menu_Key_en_t enMenuKey) void Menu_Service(Menu_Key_en_t enMenuKey)
// { {
// /*功能回调函数的调用*/ /*功能回调函数的调用*/
// Menu_Logic_Process(enMenuKey); Menu_Logic_Process(enMenuKey);
// /*--------------------------------------------------*/ /*--------------------------------------------------*/
// /*按键动作对光标的处理*/ /*按键动作对光标的处理*/
// Menu_Cursor_Preprocess(enMenuKey); //Menu_Cursor_Preprocess(enMenuKey);
// Menu_Cursor_Process(enMenuKey); Menu_Cursor_Process(enMenuKey);
// Menu_Cursor_Postprocess(enMenuKey); //Menu_Cursor_Postprocess(enMenuKey);
// /*--------------------------------------------------*/ /*--------------------------------------------------*/
// } }
// /*------------请放在休眠,唤醒之后不会被清除的RAM区域中-------------------------*/ /*------------请放在休眠,唤醒之后不会被清除的RAM区域中-------------------------*/
// /*------------请放在休眠,唤醒之后不会被清除的RAM区域中-------------------------*/ /*------------请放在休眠,唤醒之后不会被清除的RAM区域中-------------------------*/
// /*------------请放在休眠,唤醒之后不会被清除的RAM区域中-------------------------*/ /*------------请放在休眠,唤醒之后不会被清除的RAM区域中-------------------------*/
// //#pragma ghs section bss = ".myNonInitArea" //#pragma ghs section bss = ".myNonInitArea"
// Menu_uint8_t u8MenuRamData[MENU_RAM_DATA_LEN]; Menu_uint8_t u8MenuRamData[MENU_RAM_DATA_LEN];
// //#pragma ghs section bss = default //#pragma ghs section bss = default
// /*---------------------------------------*/ /*---------------------------------------*/
// /*---------------------------------------*/ /*---------------------------------------*/
// /*---------------------------------------*/ /*---------------------------------------*/
// void DriveInfo_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x00; void Menu_Logic_Operation_MAIN_ITEM(Menu_Key_en_t enKeyType)
// g_u8Cursor_Posittion = 0x00; {
// if(enKeyType == MENU_KEY_LEFT_SHORT) if(enKeyType == MENU_KEY_FUNCTION_1_SHORT)//大小计切换
// { {
// //切换大计小计 if(Get_Dis_OdoAndTrip() == 0)
// } {
// else if(enKeyType == MENU_KEY_LEFT_LONG) MenuData.OdoAndTrip = 1;
// { }
// //清小计 else
// } {
// if(enKeyType == MENU_KEY_CONFIRM_LONG) MenuData.OdoAndTrip = 0;
// { }
// //长按该返回上一菜单没写此处是进入手机互联 }
// } }
// else if(enKeyType == MENU_KEY_UP_SUPER_LONG)
// { void Menu_Logic_Operation_Display_Mode(Menu_Key_en_t enKeyType)
// //请保养 {
// }
// } }
// void QR_ANDROID_Service(Menu_Key_en_t enKeyType)
// { void Menu_Logic_Operation_Select_Daytime(Menu_Key_en_t enKeyType)
// g_u8Menu_Grade = 0xB1; {
// g_u8Cursor_Posittion = 0x01; if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// } {
// void QR_ODS_Service(Menu_Key_en_t enKeyType) Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 1);
// { Menu_Item_Select_Set(MENU_ITEM_SELECT_NIGHTTIME, 0);
// g_u8Menu_Grade = 0xB1; Menu_Item_Select_Set(MENU_ITEM_SELECT_AUTO, 0);
// g_u8Cursor_Posittion = 0x02; }
// } }
// void SUBJECT_MODE_Service(Menu_Key_en_t enKeyType)
// { void Menu_Logic_Operation_Select_Nighttime(Menu_Key_en_t enKeyType)
// g_u8Menu_Grade = 0x10; {
// g_u8Cursor_Posittion = 0x00; if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// } {
// void UNITS_SETUP_Service(Menu_Key_en_t enKeyType) Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 0);
// { Menu_Item_Select_Set(MENU_ITEM_SELECT_NIGHTTIME, 1);
// g_u8Menu_Grade = 0x20; Menu_Item_Select_Set(MENU_ITEM_SELECT_AUTO, 0);
// if(enKeyType == MENU_KEY_CONFIRM_SHORT) }
// { }
// MenuInfor.Unit = !MenuInfor.Unit;//切换单位标志
// } void Menu_Logic_Operation_Select_Auto(Menu_Key_en_t enKeyType)
// } {
// void CLOCK_Service(Menu_Key_en_t enKeyType) if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// { {
// g_u8Menu_Grade = 0x30; Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 0);
// g_u8Cursor_Posittion = 0x00; Menu_Item_Select_Set(MENU_ITEM_SELECT_NIGHTTIME, 0);
// } Menu_Item_Select_Set(MENU_ITEM_SELECT_AUTO, 1);
// void BACKLIGHT_CLASS_Service(Menu_Key_en_t enKeyType) }
// { }
// g_u8Menu_Grade = 0x40;
// g_u8Cursor_Posittion = 0x00; void Menu_Logic_Operation_Backlight_5(Menu_Key_en_t enKeyType)
// } {
// void TPMS_STUDY_Service(Menu_Key_en_t enKeyType) if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// { {
// g_u8Menu_Grade = 0x50; Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 1);
// g_u8Cursor_Posittion = 0x00; Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 0);
// } Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 0);
// void LANGUAGE_Service(Menu_Key_en_t enKeyType) Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 0);
// { Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0);
// g_u8Menu_Grade = 0x60; Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0);
// if(enKeyType == MENU_KEY_CONFIRM_SHORT) }
// { }
// if(g_u8Language == 1u)
// { void Menu_Logic_Operation_Backlight_4(Menu_Key_en_t enKeyType)
// g_u8Language = 2; {
// } if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// else {
// { Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 0);
// g_u8Language = 1; Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 1);
// } Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 0);
// } Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 0);
// } Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0);
// void BLUE_TOOTH_SETTING_Service(Menu_Key_en_t enKeyType) Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0);
// { }
// g_u8Menu_Grade = 0x70; }
// g_u8Cursor_Posittion = 0x00;
// } void Menu_Logic_Operation_Backlight_3(Menu_Key_en_t enKeyType)
// void DVRSET_Service(Menu_Key_en_t enKeyType) {
// { if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// g_u8Menu_Grade = 0x80; {
// g_u8Cursor_Posittion = 0x00; Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 0);
// } Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 0);
// void VERSION_Service(Menu_Key_en_t enKeyType) Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 1);
// { Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 0);
// g_u8Menu_Grade = 0x90; Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0);
// g_u8Cursor_Posittion = 0x00; Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0);
// } }
// void FACTORY_RESET_Service(Menu_Key_en_t enKeyType) }
// {
// g_u8Menu_Grade = 0xA0; void Menu_Logic_Operation_Backlight_2(Menu_Key_en_t enKeyType)
// g_u8Cursor_Posittion = 0x00; {
// } if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// void SUBJECT1_Service(Menu_Key_en_t enKeyType) {
// { Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 0);
// g_u8Menu_Grade = 0x11; Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 0);
// g_u8Cursor_Posittion = 1u; Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 0);
// if(enKeyType == MENU_KEY_CONFIRM_SHORT) Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 1);
// { Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0);
// g_u8Theme = g_u8Cursor_Posittion; Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0);
// } }
}
void Menu_Logic_Operation_Backlight_1(Menu_Key_en_t enKeyType)
{
if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 1);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0);
}
}
void Menu_Logic_Operation_Backlight_Auto(Menu_Key_en_t enKeyType)
{
if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 1);
}
}
void Menu_Logic_Operation_Bluetooth_Open_Close(Menu_Key_en_t enKeyType)
{
if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{
Menu_Item_Select_Set(MENU_ITEM_BLUETOOTH_OPEN_CLOSE, 1);
Menu_Item_Select_Set(MENU_ITEM_BLUETOOTH_SYNC, 0);
Menu_Item_Select_Set(MENU_ITEM_BLUETOOTH_BACK, 0);
if(Get_Dis_Bluetooth_Open_Close() == 0)
{
MenuData.Bluetooth_Open_Close = 1;
}
else
{
MenuData.Bluetooth_Open_Close = 0;
}
}
}
void Menu_Logic_Operation_Bluetooth_Sync_Contacts(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Bluetooth_Back(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Clock_Hour_Tenb(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Clock_Hour_Bit(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Clock_Min_Tenb(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Clock_Min_Bit(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Clock_Back(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Clock_Hour_Tenb_Set(Menu_Key_en_t enKeyType)
{
uint8_t updataDir = 0u;
uint8_t datmax = 0u;
uint8_t datmin = 0u;
if(enKeyType == MENU_KEY_DOWN_SHORT)
{
updataDir = 1;
datmax = 2u;
datmin = 0u;
Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Hour_Tenb));
}
}
void Menu_Logic_Operation_Clock_Hour_Bit_Set(Menu_Key_en_t enKeyType)
{
uint8_t updataDir = 0u;
uint8_t datmax = 0u;
uint8_t datmin = 0u;
if(enKeyType == MENU_KEY_DOWN_SHORT)
{
updataDir = 1;
datmax = 9u;
datmin = 0u;
Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Hour_Bit));
}
}
void Menu_Logic_Operation_Clock_Min_Tenb_Set(Menu_Key_en_t enKeyType)
{
uint8_t updataDir = 0u;
uint8_t datmax = 0u;
uint8_t datmin = 0u;
if(enKeyType == MENU_KEY_DOWN_SHORT)
{
updataDir = 1;
datmax = 5u;
datmin = 0u;
Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Minute_Tenb));
}
}
void Menu_Logic_Operation_Clock_Min_Bit_Set(Menu_Key_en_t enKeyType)
{
uint8_t updataDir = 0u;
uint8_t datmax = 0u;
uint8_t datmin = 0u;
if(enKeyType == MENU_KEY_DOWN_SHORT)
{
updataDir = 1;
datmax = 9u;
datmin = 0u;
Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Minute_Bit));
}
}
void Menu_Logic_Operation_Backlight_Setting(Menu_Key_en_t enKeyType)
{
// } }
// void SUBJECT2_Service(Menu_Key_en_t enKeyType)
// { void Menu_Logic_Operation_Bluetooth_Connect(Menu_Key_en_t enKeyType)
// g_u8Menu_Grade = 0x11; {
// g_u8Cursor_Posittion = 2u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT) }
// {
// g_u8Theme = g_u8Cursor_Posittion; void Menu_Logic_Operation_Clock_Setting(Menu_Key_en_t enKeyType)
// } {
// }
// void SUBJECT3_Service(Menu_Key_en_t enKeyType) }
// {
// g_u8Menu_Grade = 0x11; void Menu_Logic_Operation_Unit_Setting(Menu_Key_en_t enKeyType)
// g_u8Cursor_Posittion = 3u; {
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// { }
// g_u8Theme = g_u8Cursor_Posittion;
// } void Menu_Logic_Operation_Language_Setting(Menu_Key_en_t enKeyType)
// } {
// void TIME_12H_Service(Menu_Key_en_t enKeyType)
// { }
// g_u8Menu_Grade = 0x31;
// g_u8Cursor_Posittion = 0x00u; void Menu_Logic_Operation_Fault_Information(Menu_Key_en_t enKeyType)
// if(enKeyType == MENU_KEY_CONFIRM_SHORT) {
// {
// g_u8Theme = !g_u8Cursor_Posittion; }
// }
// } void Menu_Logic_Operation_Phone_Connect(Menu_Key_en_t enKeyType)
// void TIME_24H_Service(Menu_Key_en_t enKeyType) {
// {
// g_u8Menu_Grade = 0x31; }
// g_u8Cursor_Posittion = 0x01u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT) void Menu_Logic_Operation_Quit(Menu_Key_en_t enKeyType)
// { {
// g_u8Theme = !g_u8Cursor_Posittion;
// } }
// }
// void TIME_Service(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Unit_Km(Menu_Key_en_t enKeyType)
// { {
// g_u8Menu_Grade = 0x31; if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// g_u8Cursor_Posittion = 0x02u; {
// //亮灭逻辑没写 Menu_Item_Select_Set(MENU_ITEM_UNIT_KM, 1);
// } Menu_Item_Select_Set(MENU_ITEM_UNIT_MILE, 0);
// void BACKLIGHT_TYPE1_Service(Menu_Key_en_t enKeyType) MenuData.Unit = 0;
// { }
// g_u8Menu_Grade = 0x41; }
// g_u8Cursor_Posittion = 0x01u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT) void Menu_Logic_Operation_Unit_Mile(Menu_Key_en_t enKeyType)
// { {
// MenuInfor.BackLight_Val = BackLight_Val_1; if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// } {
// } Menu_Item_Select_Set(MENU_ITEM_UNIT_KM, 0);
// void BACKLIGHT_TYPE2_Service(Menu_Key_en_t enKeyType) Menu_Item_Select_Set(MENU_ITEM_UNIT_MILE, 1);
// { MenuData.Unit = 1;
// g_u8Menu_Grade = 0x41; }
// g_u8Cursor_Posittion = 0x02u; }
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// { void Menu_Logic_Operation_Language_Chinese(Menu_Key_en_t enKeyType)
// MenuInfor.BackLight_Val = BackLight_Val_2; {
// } if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// } {
// void BACKLIGHT_TYPE3_Service(Menu_Key_en_t enKeyType) Menu_Item_Select_Set(MENU_ITEM_LANGUAGE_CHINESE, 1);
// { Menu_Item_Select_Set(MENU_ITEM_LANGUAGE_ENGLISH, 0);
// g_u8Menu_Grade = 0x41; MenuData.Language = 0;
// g_u8Cursor_Posittion = 0x03u; }
// if(enKeyType == MENU_KEY_CONFIRM_SHORT) }
// {
// MenuInfor.BackLight_Val = BackLight_Val_3; void Menu_Logic_Operation_Language_English(Menu_Key_en_t enKeyType)
// } {
// } if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// void BACKLIGHT_TYPE4_Service(Menu_Key_en_t enKeyType) {
// { Menu_Item_Select_Set(MENU_ITEM_LANGUAGE_CHINESE, 0);
// g_u8Menu_Grade = 0x41; Menu_Item_Select_Set(MENU_ITEM_LANGUAGE_ENGLISH, 1);
// g_u8Cursor_Posittion = 0x04u; MenuData.Language = 1;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT) }
// { }
// MenuInfor.BackLight_Val = BackLight_Val_4;
// } void Menu_Logic_Operation_Phone_Connect_Set(Menu_Key_en_t enKeyType)
// } {
// void BACKLIGHT_TYPE5_Service(Menu_Key_en_t enKeyType)
// { }
// g_u8Menu_Grade = 0x41;
// g_u8Cursor_Posittion = 0x05u; void Menu_Logic_Operation_Phone_Connect_App(Menu_Key_en_t enKeyType)
// if(enKeyType == MENU_KEY_CONFIRM_SHORT) {
// {
// MenuInfor.BackLight_Val = BackLight_Val_5; }
// }
// } void Menu_u8Data_Updata_Process(uint8_t updateDir , uint8_t datMax, uint8_t datMin, uint8_t datStep, uint8_t *dat)
// void BACKLIGHT_TYPEA_Service(Menu_Key_en_t enKeyType) {
// { uint8_t temp = *dat;
// g_u8Menu_Grade = 0x41; if(datMax > datMin)
// g_u8Cursor_Posittion = 0x06u; {
// if(enKeyType == MENU_KEY_CONFIRM_SHORT) if(updateDir == 1u)
// { {
// MenuInfor.BackLight_Val = BackLight_Val_A; if(temp < datMax)
// } {
// } if((temp) <= (255u-datStep))
// void TPMS_UNIT_Service(Menu_Key_en_t enKeyType) {
// { temp += datStep;
// g_u8Menu_Grade = 0x51; }
// g_u8Cursor_Posittion = 0x01u; }
// if(enKeyType == MENU_KEY_CONFIRM_SHORT) else
// { {
// //胎压单位进行顺序切换 temp = datMin;
// } }
// } }
// void TPMS_STUDYF_Service(Menu_Key_en_t enKeyType) else if(updateDir == 2u)
// { {
// g_u8Menu_Grade = 0x51; if(temp > datMin)
// g_u8Cursor_Posittion = 0x02u; {
// if(enKeyType == MENU_KEY_CONFIRM_SHORT) if(temp >= datStep)
// { {
// //前胎压学习状态位 temp -= datStep;
// } }
// else if(enKeyType == MENU_KEY_DOWN_SUPER_LONG) }
// { else
// //解除胎压学习 {
// } temp = datMax;
// } }
// void TPMS_STUDYB_Service(Menu_Key_en_t enKeyType) }
// { else
// g_u8Menu_Grade = 0x51; {
// g_u8Cursor_Posittion = 0x03u; }
// if(enKeyType == MENU_KEY_CONFIRM_SHORT) }
// { else
// //后胎压学习状态位 {
// } }
// else if(enKeyType == MENU_KEY_DOWN_SUPER_LONG)
// { *dat = temp;
// //解除胎压学习 }
// }
// }
// void BLUE_LINK_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x71;
// g_u8Cursor_Posittion = 0x01u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// if(g_u8Blue == 1u)
// {
// g_u8Blue = 2;
// }
// else
// {
// g_u8Blue = 1u;
// }
// }
// }
// void BLUE_lINKMAN_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x71;
// g_u8Cursor_Posittion = 0x02u;
// }
// void BLUE_NAME_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x71;
// g_u8Cursor_Posittion = 0x03u;
// }
// void BLUE_OUT_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x71;
// g_u8Cursor_Posittion = 0x01u;
// }
// void DVR_SET_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x81;
// g_u8Cursor_Posittion = 0x01u;
// }
// void DVR_LOOK_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x81;
// g_u8Cursor_Posittion = 0x02u;
// }
// void VERSION2_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x91;
// g_u8Cursor_Posittion = 0x00u;
// }
// void BACKLIGHT_BLACK_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x12;
// g_u8Cursor_Posittion = 0x01u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// MenuInfor.BackLightMode = g_u8Cursor_Posittion;
// }
// }
// void BACKLIGHT_WHITE_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x12;
// g_u8Cursor_Posittion = 0x02u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// MenuInfor.BackLightMode = g_u8Cursor_Posittion;
// }
// }
// void BACKLIGHT_A_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x12;
// g_u8Cursor_Posittion = 0x03u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// MenuInfor.BackLightMode = g_u8Cursor_Posittion;
// }
// }
// void DVR_SET2_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x82;
// g_u8Cursor_Posittion = 0x01u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// if(g_u8DVR_Set == 1u)
// {
// g_u8DVR_Set = 2;
// }
// else
// {
// g_u8DVR_Set = 1u;
// }
// }
// }
// void DVR_NAME_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x82;
// g_u8Cursor_Posittion = 0x02u;
// }
// void STORAGE_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x82;
// g_u8Cursor_Posittion = 0x03u;
// }
// void FORMATTING_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x82;
// g_u8Cursor_Posittion = 0x04u;
// }
// void DVR_LOOK2_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x84;
// g_u8Cursor_Posittion = 0x00u;
// }
// void FACTORY_YES_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0xA1;
// g_u8Cursor_Posittion = 0x01u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// g_u8Factory = g_u8Cursor_Posittion;
// }
// }
// void FACTORY_NO_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0xA1;
// g_u8Cursor_Posittion = 0x01u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// g_u8Factory = g_u8Cursor_Posittion;
// }
// }
// void FORMATTING_YES_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x84;
// g_u8Cursor_Posittion = 0x01u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// g_u8Formatting = g_u8Cursor_Posittion;
// }
// }
// void FORMATTING_NO_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x84;
// g_u8Cursor_Posittion = 0x02u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// g_u8Formatting = g_u8Cursor_Posittion;
// }
// }
\ No newline at end of file
#include "PowerManagement.h" #include "PowerManagement.h"
#include "Components.h" #include "Components.h"
//RTC_Information_st_t g_stRTCInformation; RTC_Information_st_t g_stRTCInformation;
static void Power_KL30_Init(void); static void Power_KL30_Init(void);
static void Power_Wakeup_Init(void); static void Power_Wakeup_Init(void);
...@@ -10,14 +10,11 @@ static void Power_OVP_Init(void); ...@@ -10,14 +10,11 @@ static void Power_OVP_Init(void);
static void Power_IG_OFF_Init(void); static void Power_IG_OFF_Init(void);
static void Power_IG_ON_Init(void); static void Power_IG_ON_Init(void);
static void Power_Sleep_Init(void); static void Power_Sleep_Init(void);
static Power_Status_em Power_Stay_ON(void); static Power_Status_em Power_Stay_ON(void);
static Power_Status_em Power_Stay_OFF(void); static Power_Status_em Power_Stay_OFF(void);
static Power_Status_em Power_Stay_Protect(void); static Power_Status_em Power_Stay_Protect(void);
static Power_Status_em Power_Stay_Sleep(void); static Power_Status_em Power_Stay_Sleep(void);
static const st_PowerGroup g_stPwrTasks = { static const st_PowerGroup g_stPwrTasks = {
Power_KL30_Init, Power_KL30_Init,
Power_IG_OFF_Init, Power_IG_OFF_Init,
...@@ -56,45 +53,44 @@ static void Power_KL30_Init(void) ...@@ -56,45 +53,44 @@ static void Power_KL30_Init(void)
Data_User_Mileage_KL30Init(); Data_User_Mileage_KL30Init();
Fuel_KL30_Init(); Fuel_KL30_Init();
Amt630hInit(); Amt630hInit();
Telltales_Init();
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 400, 64000000); TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 400, 64000000);
TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High); TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High);
g_stRTCInformation.u8RTCSecond = 0;
g_stRTCInformation.u8RTCMinute = 0;
// g_stRTCInformation.u8RTCSecond = 0; g_stRTCInformation.u8RTCHour = 0;
// g_stRTCInformation.u8RTCMinute = 0; g_stRTCInformation.u8RTCDayOfMonth = 1;
// g_stRTCInformation.u8RTCHour = 0; g_stRTCInformation.u8RTCMonth = 1;
// g_stRTCInformation.u8RTCDayOfMonth = 1; g_stRTCInformation.u8RTCYear = 20;
// g_stRTCInformation.u8RTCMonth = 1; RTE_RTC_Init(g_stRTCInformation);
// g_stRTCInformation.u8RTCYear = 20; Menu_User_Init();
// RTE_RTC_Init(g_stRTCInformation); Can_Init();
// RTE_DEEPSLEEP_GPIO_Interrupt_Enable(WAKEUP_KL15_In,Trigger_Rising);
Protocol_KL30_Wakeup_Init(); Protocol_KL30_Wakeup_Init();
//RTE_DEEPSLEEP_GPIO_Interrupt_Enable(KL15_AD_IN, Trigger_Rising);
} }
//extern uint32_t PowerIgnOffTimeLine;
static void Power_Wakeup_Init(void) static void Power_Wakeup_Init(void)
{ {
// PowerIgnOffTimeLine = 0;
Gpio_Init(Gpio_WakeUp_Init); Gpio_Init(Gpio_WakeUp_Init);
eeprom_StoreInfo_Init(); eeprom_StoreInfo_Init();
Analog_Signal_Conv_Init(); Analog_Signal_Conv_Init();
Data_User_Mileage_WakeupInit(); Data_User_Mileage_WakeupInit();
Sys_WakeUp_Init();
Sys_WakeUp_Init(); Data_Vehicle_Speed_KL30_Wakeup_Init();
Data_Vehicle_Speed_KL30_Wakeup_Init(); Data_Engine_Speed_KL30_Wakeup_Init();
Data_Engine_Speed_KL30_Wakeup_Init(); LINE_IN_Init();
LINE_IN_Init(); Key_Wakeup_Init_EXample();
Key_Wakeup_Init_EXample(); Line_In_KL15_ON_Init();
Line_In_KL15_ON_Init(); Fuel_KL30_Init();
Fuel_KL30_Init(); Amt630hInit();
Amt630hInit(); TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 400, 64000000);
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 400, 64000000); TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High);
TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High); Telltales_Init();
//Telltales_Init(); Key_KL30_Init_EXample();
// RTE_DEEPSLEEP_GPIO_Interrupt_Enable(WAKEUP_KL15_In,Trigger_Rising); Menu_User_WAKEUP();
Can_Init();
Protocol_KL30_Wakeup_Init(); Protocol_KL30_Wakeup_Init();
//RTE_DEEPSLEEP_GPIO_Interrupt_Enable(KL15_AD_IN, Trigger_Rising);
} }
static void Power_LVP_Init(void) static void Power_LVP_Init(void)
...@@ -109,7 +105,6 @@ static void Power_OVP_Init(void) ...@@ -109,7 +105,6 @@ static void Power_OVP_Init(void)
static void Power_IG_OFF_Init(void) static void Power_IG_OFF_Init(void)
{ {
Line_In_KL15_OFF_Init(); Line_In_KL15_OFF_Init();
} }
static void Power_IG_ON_Init(void) static void Power_IG_ON_Init(void)
...@@ -123,19 +118,15 @@ static void Power_IG_ON_Init(void) ...@@ -123,19 +118,15 @@ static void Power_IG_ON_Init(void)
static void Power_Sleep_Init(void) static void Power_Sleep_Init(void)
{ {
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 400, 0); TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 400, 0);
// //RTC_Stop(); rte_can_deinit(CAN_CH_0);
// rte_can_deinit(CAN_CH_0);
TMM0_Stop(); TMM0_Stop();
TMM1_Stop(); TMM1_Stop();
TMM_All_Stop(); TMM_All_Stop();
RTE_ADC_DeInit(); RTE_ADC_DeInit();
// //CGC->CSC = 1 ; //HIOSTOP = 1
Gpio_Init(Gpio_Sleep_Init); Gpio_Init(Gpio_Sleep_Init);
AMT630H_Sleep(); AMT630H_Sleep();
Analog_Signal_Conv_Stop();
Analog_Signal_Conv_Stop(); RTE_DEEPSLEEP_Enable();
// RTE_DEEPSLEEP_Enable();
} }
static Power_Status_em Power_Stay_ON(void) static Power_Status_em Power_Stay_ON(void)
...@@ -160,66 +151,77 @@ static Power_Status_em Power_Stay_OFF(void) ...@@ -160,66 +151,77 @@ static Power_Status_em Power_Stay_OFF(void)
Power_Status_em u8PowerSts; Power_Status_em u8PowerSts;
u8PowerSts = EM_IGN_OFF; u8PowerSts = EM_IGN_OFF;
if (SYS_OPR_STAT_IGN_ON) if (SYS_OPR_STAT_IGN_ON)
{ {
u8PowerSts = EM_IGN_ON_Init; u8PowerSts = EM_IGN_ON_Init;
} }
else else
{ {
if ((Common_GetIgnOffTime() < 20000)) if ((Common_GetIgnOffTime() < 1000))
{ {
u8PowerSts = EM_IGN_OFF; u8PowerSts = EM_IGN_OFF;
} }
else else
{ {
u8PowerSts = EM_IGN_Sleep_Init; //igoff大于1s且下15电才进休眠,否则一直保持在igoff状态
} if(Sys_Read_KL15_Voltage() < 5000)
} {
u8PowerSts = EM_IGN_Sleep_Init;
}
}
}
return u8PowerSts; return u8PowerSts;
} }
static Power_Status_em Power_Stay_Protect(void) static Power_Status_em Power_Stay_Protect(void)
{ {
Power_Status_em u8PowerSts; Power_Status_em u8PowerSts;
// static uint8_t i; // static uint8_t i;
static uint8_t Delaycnt; static uint8_t Delaycnt;
/* 关闭所有外设,坪保留AD采集,电溝状思切�? */ /* 关闭所有外设,坪保留AD采集,电溝状思切�? */
{ {
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 0); TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 0);
} CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Disable);
u8PowerSts = EM_IGN_OFF_Init; }
/* 电溝模弝正常 */ u8PowerSts = EM_IGN_OFF_Init;
for ( ;; ) /* 电溝模弝正常 */
{ for ( ;; )
RTE_WDT_Clear(); {
Gen_TimeDelay(2000u, 50u); RTE_WDT_Clear();
Analog_Signal_Conv_Service(); Gen_TimeDelay(2000u, 50u);
Sys_Status_Update_Service(); Analog_Signal_Conv_Service();
Sys_Status_Update_Service();
if ( SYS_OPR_STAT_RUN )
{ if ( SYS_OPR_STAT_RUN )
return u8PowerSts; {
} CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable);
} return u8PowerSts;
}
//进入异常电压,电源库里直接将15电等于0,则直接退出,状态是igoff,下15则进入休眠
if ( SYS_OPR_STAT_IGN_OFF )
{
break;
}
}
} }
static Power_Status_em Power_Stay_Sleep(void) static Power_Status_em Power_Stay_Sleep(void)
{ {
Power_Status_em u8PowerSts = EM_IGN_Sleep; Power_Status_em u8PowerSts = EM_IGN_Sleep;
while (1) while (1)
{ {
RTE_WDT_Clear(); RTE_WDT_Clear();
if (RTE_GPIO_Get_Level(KL15_AD_IN))/* KL15 */ if (RTE_GPIO_Get_Level(KL15_AD_IN))/* KL15 */
{ {
u8PowerSts = EM_IGN_Wakeup; u8PowerSts = EM_IGN_Wakeup;
break; break;
} }
} }
return u8PowerSts; return u8PowerSts;
} }
......
//#include "Telltales_Lib.h" #include "Telltales_Lib.h"
//#include "Telltales_user.h" #include "Telltales_user.h"
//#include "Line_In\Line_In_user.h" #include "Line_In\Line_In_user.h"
//#include "Application.h" #include "Components.h"
//#include "CAN_APP\CAN_CH0_CAN_Communication_Matrix.h"
//#include "Components.h"
//static Tellib_uint16_t LED_High_Beam_Judgement(void); static Tellib_uint16_t LED_Turn_Left_Judgement(void);
//static void LED_High_Beam_Execution(Tellib_uint16_t led_status); static void LED_Turn_Left_Execution(Tellib_uint16_t led_status);
//static Tellib_uint16_t LED_Efi_Fault_Judgement(void); static Tellib_uint16_t LED_Turn_Right_Judgement(void);
//static void LED_Efi_Fault_Execution(Tellib_uint16_t led_status); static void LED_Turn_Right_Execution(Tellib_uint16_t led_status);
//static Tellib_uint16_t LED_Auto_Start_Stop_Judgement(void); static Tellib_uint16_t LED_High_Beam_Judgement(void);
//static void LED_Auto_Start_Stop_Execution(Tellib_uint16_t led_status); static void LED_High_Beam_Execution(Tellib_uint16_t led_status);
//static Tellib_uint16_t LED_Voltage_Judgement(void); static Tellib_uint16_t LED_Efi_Fault_Judgement(void);//电喷故障灯
//static void LED_Voltage_Execution(Tellib_uint16_t led_status); static void LED_Efi_Fault_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_ABS_Judgement(void);
static void LED_ABS_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_Auto_Start_Stop_Judgement(void);
static void LED_Auto_Start_Stop_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_Oil_Pressure_Alert_Judgement(void);
static void LED_Oil_Pressure_Alert_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_TCS_Judgement(void);
static void LED_TCS_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_HEV_Judgement(void);
static void LED_HEV_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_Voltage_Judgement(void);
static void LED_Voltage_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_Fuel_Level_Low_Judgement(void);
static void LED_Fuel_Level_Low_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_Coolant_Temperature_Judgement(void);
static void LED_Coolant_Temperature_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_WIFI_Judgement(void);
static void LED_WIFI_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_Bluetooth_Judgement(void);
static void LED_Bluetooth_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_E_Judgement(void);
static void LED_E_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_S_Judgement(void);
static void LED_S_Execution(Tellib_uint16_t led_status);
uint8_t u8CanId401Flag = 0;
const LED_Attribute_st LED_Attribute [ LED_Max ] = {
/* 指示灯索引 是否自检 外部信号自检 工作电源状态 自检开始时间 自检持续时间 指示灯点亮条件 指示灯执行函数 */
{em_LED_Turn_Left, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Turn_Left_Judgement, LED_Turn_Left_Execution },
{em_LED_Turn_Right, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Turn_Right_Judgement, LED_Turn_Right_Execution },
{em_LED_High_Beam, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_High_Beam_Judgement, LED_High_Beam_Execution },
{em_LED_Efi_Fault, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Efi_Fault_Judgement, LED_Efi_Fault_Execution },
{em_LED_ABS, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_ABS_Judgement, LED_ABS_Execution },
{em_LED_Auto_Start_Stop, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Auto_Start_Stop_Judgement, LED_Auto_Start_Stop_Execution },
{em_LED_Oil_Pressure_Alert, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Oil_Pressure_Alert_Judgement, LED_Oil_Pressure_Alert_Execution },
{em_LED_TCS, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_TCS_Judgement, LED_TCS_Execution },
{em_LED_HEV, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_HEV_Judgement, LED_HEV_Execution },
{em_LED_Voltage, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Voltage_Judgement, LED_Voltage_Execution },
{em_LED_Fuel_Level_Low, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Fuel_Level_Low_Judgement, LED_Fuel_Level_Low_Execution },
{em_LED_Coolant_Temperature, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Coolant_Temperature_Judgement, LED_Coolant_Temperature_Execution },
{em_LED_WIFI, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_WIFI_Judgement, LED_WIFI_Execution },
{em_LED_Bluetooth, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Bluetooth_Judgement, LED_Bluetooth_Execution },
{em_LED_E, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_E_Judgement, LED_E_Execution },
{em_LED_S, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_S_Judgement, LED_S_Execution },
};
Tellib_uint8_t Tel_Mem [ Tel_MEM_Block_Size * LED_Max + Tel_MEM_Block_Addition ];
void Telltales_Init(void)
{
TelExtPara m_ExtPara;
m_ExtPara.TotalLength = LED_Max;
m_ExtPara.LED_PowerOFF_TimerCbk = Common_GetIgnOffTime;
m_ExtPara.LED_PowerON_TimerCbk = Common_GetIgnOnTime;
m_ExtPara.LED_PowerCbk = Common_Get_IG_Sts;
u8CanId401Flag = 0;
Telltales_KL30_Wakeup_Init(Tel_Mem, LED_Attribute, &m_ExtPara);
}
void Can_ID_401(uint8_t CopyData [])
{
u8CanId401Flag = 1;
}
/******************************************************************************************************************************************************************************************************************* */
static Tellib_uint16_t LED_Turn_Left_Judgement(void)//硬线-P10 高电平
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_Turn_Left))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_Turn_Left_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(TurnLeft_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(TurnLeft_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*硬线-P9 高电平*/
static Tellib_uint16_t LED_Turn_Right_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_Turn_Right))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_Turn_Right_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(TurnRight_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(TurnRight_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*硬线-P18 高电平*/
static Tellib_uint16_t LED_High_Beam_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_High_Beam))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_High_Beam_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(HighBeam_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(HighBeam_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*硬线-P15 低电平*/
static Tellib_uint16_t LED_Efi_Fault_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_Efi_Fault))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_Efi_Fault_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(EfiFault_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(EfiFault_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*硬线-P7 悬空/高点亮 接地灭*/
static Tellib_uint16_t LED_ABS_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_ABS))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_ABS_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(ABS_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(ABS_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*硬线-P12 低电平*/
static Tellib_uint16_t LED_Auto_Start_Stop_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_Auto_Start_Stop))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_Auto_Start_Stop_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(AutoStartStop_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(AutoStartStop_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*硬线-P21 低电平*/
static Tellib_uint16_t LED_Oil_Pressure_Alert_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_Oil_Pressure_Alert))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_Oil_Pressure_Alert_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(OilPressureAlert_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(OilPressureAlert_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*CAN信号来源:TCS_37B*/
static Tellib_uint16_t LED_TCS_Judgement(void)
{
//Tellib_uint16_t LED_STATE = 0u;
//if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CH0_37B_Msg_Count) == CAN_SIG_LOST)
//{
// LED_STATE = 0u;
//}
//else
//{
// if(Get_CAN_CH0_ID_37B_Sig_TCS_Work_Mode() == 1)
// {
// LED_STATE = 1u;
// }
// else
// {
// LED_STATE = 0u;
// }
//}
//return LED_STATE;
//static Tellib_uint16_t LED_Fuel_Judgement(void); }
//static void LED_Fuel_Execution(Tellib_uint16_t led_status); static void LED_TCS_Execution(Tellib_uint16_t led_status)
{
//static Tellib_uint16_t LED_Atmosphere_Judgement(void); // if (led_status == 1u)
//static void LED_Atmosphere_Execution(Tellib_uint16_t led_status); // {
//uint8_t u8CanId401Flag = 0; // RTE_GPIO_Set_Level(TCS_MUC_OUT, LED_LINEOUT_High);
//const LED_Attribute_st LED_Attribute [ LED_Max ] = { // }
// /* 指示灯索引 是否自检 外部信号自检 工作电源状态 自检开始时间 自检持续时间 指示灯点亮条件 指示灯执行函数 */ // else
// // {
// {em_LED_High_Beam, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_High_Beam_Judgement, LED_High_Beam_Execution }, // RTE_GPIO_Set_Level(TCS_MUC_OUT, LED_LINEOUT_Low);
// {em_LED_Efi_Fault, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Efi_Fault_Judgement, LED_Efi_Fault_Execution }, // }
// {em_LED_Auto_Start_Stop, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Auto_Start_Stop_Judgement, LED_Auto_Start_Stop_Execution }, }
// {em_LED_Voltage, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Voltage_Judgement, LED_Voltage_Execution }, /*信号来源:ISG_111*/
// {em_LED_Fuel, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Fuel_Judgement, LED_Fuel_Execution }, static Tellib_uint16_t LED_HEV_Judgement(void)
// {em_LED_Atmosphere, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Atmosphere_Judgement, LED_Atmosphere_Execution}, {
//}; //Tellib_uint16_t LED_STATE = 0u;
//if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x402_Msg_Count) == CAN_SIG_LOST)
//{
//Tellib_uint8_t Tel_Mem [ Tel_MEM_Block_Size * LED_Max + Tel_MEM_Block_Addition ]; // LED_STATE = 0u;
//}
// void Telltales_Init(void) //else
// { //{
// TelExtPara m_ExtPara; // if( == 1)
// m_ExtPara.TotalLength = LED_Max; // {
// m_ExtPara.LED_PowerOFF_TimerCbk = Common_GetIgnOffTime; // LED_STATE = 1u;
// m_ExtPara.LED_PowerON_TimerCbk = Common_GetIgnOnTime; // }
// m_ExtPara.LED_PowerCbk = Common_Get_IG_Sts; // else
// u8CanId401Flag = 0; // {
// Telltales_KL30_Wakeup_Init(Tel_Mem, LED_Attribute, &m_ExtPara); // LED_STATE = 0u;
// } // }
//}
//return LED_STATE;
//void Can_ID_401(uint8_t CopyData []) }
//{ static void LED_HEV_Execution(Tellib_uint16_t led_status)
// u8CanId401Flag = 1; {
//} // if (led_status == 1u)
// {
// // RTE_GPIO_Set_Level(HEV_MUC_OUT, LED_LINEOUT_High);
//static Tellib_uint16_t LED_High_Beam_Judgement(void) // }
//{ // else
// Tellib_uint16_t LED_STATE = 0u; // {
// if (Line_In_Get_Status(LINE_IN_HighBeam)) // RTE_GPIO_Set_Level(HEV_MUC_OUT, LED_LINEOUT_Low);
// { // }
// LED_STATE = 1; }
// } /*硬线-P19 电压值*/
// else static Tellib_uint16_t LED_Voltage_Judgement(void)
// { {
// LED_STATE = 0; Tellib_uint16_t LED_STATE = 0u;
// } if (Line_In_Get_Status(LINE_IN_Voltage))
// return LED_STATE; {
//} LED_STATE = 1;
//static void LED_High_Beam_Execution(Tellib_uint16_t led_status) }
//{ else
// if ( led_status == 1u ) {
// { LED_STATE = 0;
// RTE_GPIO_Set_Level(HighBeam_MUC_OUT, LED_LINEOUT_High); }
// } return LED_STATE;
// else }
// { static void LED_Voltage_Execution(Tellib_uint16_t led_status)
// RTE_GPIO_Set_Level(HighBeam_MUC_OUT, LED_LINEOUT_Low); {
// } // if (led_status == 1u)
//} // {
//static Tellib_uint16_t LED_Efi_Fault_Judgement(void) // RTE_GPIO_Set_Level(Voltage_MUC_OUT, LED_LINEOUT_High);
//{ // }
// Tellib_uint16_t LED_STATE = 0u; // else
// if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x402_Msg_Count) == CAN_SIG_LOST) // {
// { // RTE_GPIO_Set_Level(Voltage_MUC_OUT, LED_LINEOUT_Low);
// LED_STATE = 0u; // }
// } }
// else /*硬线P14-阻值*/
// { static Tellib_uint16_t LED_Fuel_Level_Low_Judgement(void)
// if(Get_CAN_CH0_ID_402_Sig_ECU_Warning_Lamp() == 1) {
// { Tellib_uint16_t LED_STATE = 0u;
// LED_STATE = 1u; if (Line_In_Get_Status(LINE_IN_Fuel_Level_Low))
// } {
// else LED_STATE = 1;
// { }
// LED_STATE = 0u; else
// } {
// } LED_STATE = 0;
// return LED_STATE; }
//} return LED_STATE;
//static void LED_Efi_Fault_Execution(Tellib_uint16_t led_status) }
//{ static void LED_Fuel_Level_Low_Execution(Tellib_uint16_t led_status)
// if ( led_status == 1u ) {
// { // if (led_status == 1u)
// RTE_GPIO_Set_Level(EFI_FAULT_OUT, LED_LINEOUT_High); // {
// } // RTE_GPIO_Set_Level(FuelLevelLow_MUC_OUT, LED_LINEOUT_High);
// else // }
// { // else
// RTE_GPIO_Set_Level(EFI_FAULT_OUT, LED_LINEOUT_Low); // {
// } // RTE_GPIO_Set_Level(FuelLevelLow_MUC_OUT, LED_LINEOUT_Low);
//} // }
}//
//Tellib_uint8_t Auto_Start_Stop = 0u; /*信号来源:ECU_101 +硬线-P11 阻值 CAN>硬线*/
//Tellib_uint8_t Key_ISTOP = 0u; static Tellib_uint16_t LED_Coolant_Temperature_Judgement(void)
//void Telltales_Auto_Start_Stop(void) {
//{
// Auto_Start_Stop = 0; }
// static void LED_Coolant_Temperature_Execution(Tellib_uint16_t led_status)
//} {
//void Telltales_Auto_Start_Stop_Setting(void) // if (led_status == 1u)
//{ // {
// if (Auto_Start_Stop == 0) // RTE_GPIO_Set_Level(CoolantTemperature_MUC_OUT, LED_LINEOUT_High);
// { // }
// Auto_Start_Stop = 1; // else
// } // {
// else if (Auto_Start_Stop == 1) // RTE_GPIO_Set_Level(CoolantTemperature_MUC_OUT, LED_LINEOUT_Low);
// { // }
// Auto_Start_Stop = 0; }
// } /*无*/
// else static Tellib_uint16_t LED_WIFI_Judgement(void)
// { {
// ; Tellib_uint16_t LED_STATE = 0u;
// } // if (Line_In_Get_Status(LINE_IN_WIFI))
//} // {
//static Tellib_uint16_t LED_Auto_Start_Stop_Judgement(void) // LED_STATE = 1;
//{ // }
// Tellib_uint16_t LED_STATE = 0u; // else
// // {
// if (Auto_Start_Stop == 1) // LED_STATE = 0;
// { // }
// if (Line_In_Get_Status(LINE_IN_Auto_Start_Stop)) return LED_STATE;
// { }
// LED_STATE = 1; static void LED_WIFI_Execution(Tellib_uint16_t led_status)
// } {
// else // if (led_status == 1u)
// { // {
// LED_STATE = 0; // RTE_GPIO_Set_Level(WIFI_MUC_OUT, LED_LINEOUT_High);
// } // }
// } // else
// else // {
// { // RTE_GPIO_Set_Level(WIFI_MUC_OUT, LED_LINEOUT_Low);
// LED_STATE = 0; // }
// } }
// /*信号来源:蓝牙模块*/
// return LED_STATE; static Tellib_uint16_t LED_Bluetooth_Judgement(void)
//} {
//static void LED_Auto_Start_Stop_Execution(Tellib_uint16_t led_status) // Tellib_uint16_t LED_STATE = 0u;
//{ // if (Line_In_Get_Status(LINE_IN_Bluetooth))
// if ( led_status == 1u ) // {
// { // LED_STATE = 1;
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_07_Key_ISTOP, LED_ON); // }
// SEG_SET_LED_STS(1,1); // else
// } // {
// else // LED_STATE = 0;
// { // }
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_07_Key_ISTOP, LED_OFF); // return LED_STATE;
// SEG_SET_LED_STS(1,0); }
// } static void LED_Bluetooth_Execution(Tellib_uint16_t led_status)
//} {
// if (led_status == 1u)
//Tellib_uint8_t Telltales_Voltage_Date(void) // {
//{ // RTE_GPIO_Set_Level(Bluetooth_MUC_OUT, LED_LINEOUT_High);
// Tellib_uint8_t Voltage = 0; // }
// Voltage = Get_CAN_CH0_ID_401_Sig_ECU_Battery_Voltage(); // else
// return Voltage; // {
//} // RTE_GPIO_Set_Level(Bluetooth_MUC_OUT, LED_LINEOUT_Low);
//static Tellib_uint16_t LED_Voltage_Judgement(void) // }
//{ }
// Tellib_uint16_t LED_STATE = 0u; /*信号来源:0x111*/
// Tellib_uint16_t Voltage = 0u; static Tellib_uint16_t LED_E_Judgement(void)
// Voltage = Telltales_Voltage_Date(); {
// if ((CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x401_Msg_Count) == CAN_SIG_LOST) || (u8CanId401Flag != 1))
// { }
// u8CanId401Flag = 0; static void LED_E_Execution(Tellib_uint16_t led_status)
// LED_STATE = 0u; {
// } // if (led_status == 1u)
// else // {
// { // RTE_GPIO_Set_Level(E_MUC_OUT, LED_LINEOUT_High);
// if ((Voltage < 120) || (Voltage > 150)) // }
// { // else
// LED_STATE = 1u; // {
// } // RTE_GPIO_Set_Level(E_MUC_OUT, LED_LINEOUT_Low);
// else // }
// { }
// LED_STATE = 2u; /*信号来源:0x111*/
// } static Tellib_uint16_t LED_S_Judgement(void)
// } {
// return LED_STATE;
//} }
//static void LED_Voltage_Execution(Tellib_uint16_t led_status) static void LED_S_Execution(Tellib_uint16_t led_status)
//{ {
// if ( led_status == 1u ) // if (led_status == 1u)
// { // {
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_03_High_Low_Voltage, LED_ON); // RTE_GPIO_Set_Level(S_MUC_OUT, LED_LINEOUT_High);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_02_Normal_Voltage, LED_OFF); // }
// SEG_SET_LED_STS(0,1); // else
// } // {
// else if ( led_status == 2u ) // RTE_GPIO_Set_Level(S_MUC_OUT, LED_LINEOUT_Low);
// { // }
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_02_Normal_Voltage, LED_ON); }
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_03_High_Low_Voltage, LED_OFF); \ No newline at end of file
// SEG_SET_LED_STS(0,1);
// }
// else
// {
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_03_High_Low_Voltage, LED_OFF);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_02_Normal_Voltage, LED_OFF);
// SEG_SET_LED_STS(0,0);
// }
//}
//static Tellib_uint16_t LED_Fuel_Judgement(void)
//{
// Tellib_uint16_t LED_STATE = 0u;
// if (Common_GetIgnOnTime() >= 3000)
// {
// if(Get_Fuel_Sensor_State() == FuelSensorNormal)
// {
// if(Get_CurFuelSetp() > 1)
// {
// LED_STATE = 3;//白灯
// }
// else
// {
// LED_STATE = 2;//格小于等于1
// }
// }
// else
// {
// LED_STATE = 2;//开路
// }
// }
// else
// {
// LED_STATE = 1;//自检只亮黄
// }
// return LED_STATE;
//}
//static void LED_Fuel_Execution(Tellib_uint16_t led_status)
//{
// if ( led_status == 3u )
// {
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_04_Fuel_W, LED_ON);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_05_Fuel_Y, LED_OFF);
// SEG_SET_LED_STS(2,1);
// }
// else if ( led_status == 2u )
// {
// if (FLASH_SYNC_1Hz)
// {
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_05_Fuel_Y, LED_ON);
// SEG_SET_LED_STS(2,1);
// }
// else
// {
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_05_Fuel_Y, LED_OFF);
// SEG_SET_LED_STS(2,0);
// }
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_04_Fuel_W, LED_OFF);
//
// }
// else if ( led_status == 1u )
// {
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_05_Fuel_Y, LED_ON);
// SEG_SET_LED_STS(2,1);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_04_Fuel_W, LED_OFF);
// }
// else
// {
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_04_Fuel_W, LED_OFF);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_05_Fuel_Y, LED_OFF);
// SEG_SET_LED_STS(2,0);
// }
//}
//static Tellib_uint16_t LED_Atmosphere_Judgement(void)
//{
// Tellib_uint16_t LED_STATE = 0u;
// LED_STATE = 1;
// return LED_STATE;
//}
//static void LED_Atmosphere_Execution(Tellib_uint16_t led_status)
//{
// if (led_status == 1)
// {
// RTE_GPIO_Set_Level(AMBIENT_LIGHT_B, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(AMBIENT_LIGHT_B, LED_LINEOUT_Low);
// }
//}
//void Turn_Left_Right_Lamp(void)
//{
// if ( SYS_OPR_STAT_IGN_ON )
// {
// if (Common_GetIgnOnTime() >= 3000)
// {
// if (Line_In_Get_Status(LINE_IN_TurnLeft))
// {
// RTE_GPIO_Set_Level(LeftTurn_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(LeftTurn_MUC_OUT, LED_LINEOUT_Low);
// }
// if (Line_In_Get_Status(LINE_IN_TurnRight))
// {
// RTE_GPIO_Set_Level(RightTurn_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(RightTurn_MUC_OUT, LED_LINEOUT_Low);
// }
// }
// else
// {
// RTE_GPIO_Set_Level(RightTurn_MUC_OUT, LED_LINEOUT_High);
// RTE_GPIO_Set_Level(LeftTurn_MUC_OUT, LED_LINEOUT_High);
// }
// }
// else
// {
// RTE_GPIO_Set_Level(RightTurn_MUC_OUT, LED_LINEOUT_Low);
// RTE_GPIO_Set_Level(LeftTurn_MUC_OUT, LED_LINEOUT_Low);
// }
//}
//#ifndef TELLTALES_USER_H #ifndef TELLTALES_USER_H
//#define TELLTALES_USER_H #define TELLTALES_USER_H
typedef enum
{
//typedef enum em_LED_Turn_Left,
//{ em_LED_Turn_Right,
// em_LED_High_Beam, em_LED_High_Beam,
// em_LED_Efi_Fault, em_LED_Efi_Fault,
// em_LED_Auto_Start_Stop, em_LED_ABS,
// em_LED_Voltage, em_LED_Auto_Start_Stop,
// em_LED_Fuel, em_LED_Oil_Pressure_Alert,
// em_LED_Atmosphere, em_LED_TCS,
// em_LED_HEV,
em_LED_Voltage,
// LED_Max , em_LED_Fuel_Level_Low,
//} LED_Idx_t; em_LED_Coolant_Temperature,
em_LED_WIFI,
//extern Tellib_uint8_t Auto_Start_Stop ; em_LED_Bluetooth,
//void Telltales_Init(void); em_LED_E,
em_LED_S,
//Tellib_uint8_t Telltales_Voltage_Date(void);
//#endif LED_Max ,
} LED_Idx_t;
extern Tellib_uint8_t Auto_Start_Stop ;
void Telltales_Init(void);
Tellib_uint8_t Telltales_Voltage_Date(void);
#endif
...@@ -20,8 +20,8 @@ static void can_recv_handler(void *msg) ...@@ -20,8 +20,8 @@ static void can_recv_handler(void *msg)
if (CAN_GetFlagStatus(CAN0, CAN_FLAG_REC) != RESET) if (CAN_GetFlagStatus(CAN0, CAN_FLAG_REC) != RESET)
{ {
CAN_ClearFlag(CAN0, CAN_FLAG_REC); CAN_ClearFlag(CAN0, CAN_FLAG_REC);
// CANMSG = CAN_Get_CANxMSGy(CAN0); // CANMSG = CAN_Get_CANxMSGy(CAN0);
// CAN_Receive_IT(CAN0, &CAN_RecvMsg); // CAN_Receive_IT(CAN0, &CAN_RecvMsg);
if (can_rx_handler != NULL) if (can_rx_handler != NULL)
{ {
...@@ -31,9 +31,9 @@ static void can_recv_handler(void *msg) ...@@ -31,9 +31,9 @@ static void can_recv_handler(void *msg)
} }
/** /**
* @brief CAN初始? * @brief CAN初始?
* *
* @param config CAN初始结构体指? * @param config CAN初始结构体指?
* @return uint8_t 0成功 1失败 * @return uint8_t 0成功 1失败
*/ */
uint8_t rte_can_init(can_config_st_t *config) uint8_t rte_can_init(can_config_st_t *config)
...@@ -98,7 +98,7 @@ uint8_t rte_can_init(can_config_st_t *config) ...@@ -98,7 +98,7 @@ uint8_t rte_can_init(can_config_st_t *config)
/** /**
* @brief can反初始化 * @brief can反初始化
* @param CANx CAN0 ? CAN1 * @param CANx CAN0 ? CAN1
* *
* @return uint8_t 0成功 1失败 * @return uint8_t 0成功 1失败
*/ */
...@@ -124,10 +124,10 @@ uint8_t rte_can_deinit(CAN_CH ch) ...@@ -124,10 +124,10 @@ uint8_t rte_can_deinit(CAN_CH ch)
/** /**
* @brief 获取CAN是否BusOff * @brief 获取CAN是否BusOff
* @param CANx CAN0 ? CAN1 * @param CANx CAN0 ? CAN1
* *
* @return uint8_t 0 没有busoff * @return uint8_t 0 没有busoff
* 1 错误的操? 2 busoff * 1 错误的操? 2 busoff
*/ */
uint8_t get_can_busoff(CAN_CH ch) uint8_t get_can_busoff(CAN_CH ch)
{ {
...@@ -151,9 +151,9 @@ uint8_t get_can_busoff(CAN_CH ch) ...@@ -151,9 +151,9 @@ uint8_t get_can_busoff(CAN_CH ch)
} }
/** /**
* @brief 从busoff状态恢? * @brief 从busoff状态恢?
* *
* @param CANx CAN0 ? CAN1 * @param CANx CAN0 ? CAN1
* @return uint8_t 0成功 1失败 * @return uint8_t 0成功 1失败
*/ */
uint8_t reset_busoff(CAN_CH ch) uint8_t reset_busoff(CAN_CH ch)
...@@ -189,7 +189,7 @@ uint8_t reset_busoff(CAN_CH ch) ...@@ -189,7 +189,7 @@ uint8_t reset_busoff(CAN_CH ch)
return 0; return 0;
} }
/* 下面是一些例? 自己? /* 下面是一些例�? 自己�?
CAN_SendMsg.Id = 0x00aa0432; CAN_SendMsg.Id = 0x00aa0432;
CAN_SendMsg.IDE = CAN_Id_Extended; CAN_SendMsg.IDE = CAN_Id_Extended;
CAN_SendMsg.CacheType = CAN_CacheType_Tx; CAN_SendMsg.CacheType = CAN_CacheType_Tx;
......
...@@ -11,24 +11,21 @@ uint32_t RTE_SystemCoreClock; ...@@ -11,24 +11,21 @@ uint32_t RTE_SystemCoreClock;
extern uint32_t SystemCoreClock; extern uint32_t SystemCoreClock;
void RTE_CLOCK_Select_Start(void) void RTE_CLOCK_Select_Start(void)
{ {
////uint32_t msCnt;
#ifdef USED_FX_FCLK #ifdef USED_FX_FCLK
/* config clock */ CGC_Osc_Setting(OSC_OSCILLATOR,OSC_UNDER_10M,OSC_OSCILLATOR,OSC_NORMAL_POWER);
CGC_HSEConfig(OSC_OSCILLATOR,OSC_UNDER_10M); CGC_PLL_Setting(PLL_SR_fMX,PLL_DIV_2,PLL_MUL_16);
CGC_PLL_Setting(PLL_SR_fMX,PLL_DIV_2,PLL_MUL_16); CGC_PLL_CFG_AS_FCLK();
CGC_PLL_CFG_AS_FCLK(); delay_init(64000000);
SystemCoreClockUpdate(); SystemCoreClock = 64000000UL;
RTE_SystemCoreClock = SystemCoreClock;
delay_init(64000000);
SystemCoreClock = 64000000UL;
#endif #endif
#ifdef USED_FHOCO_FCLK #ifdef USED_FHOCO_FCLK
SystemCoreClockUpdate(); SystemCoreClockUpdate();
msCnt = SystemCoreClock / 1000; msCnt = SystemCoreClock / 1000;
SysTick_Config(msCnt); SysTick_Config(msCnt);
delay_init(SystemCoreClock); delay_init(SystemCoreClock);
#endif #endif
} }
......
...@@ -151,7 +151,7 @@ void RTE_RTC_Init(RTC_Information_st_t g_stRTCInformation) ...@@ -151,7 +151,7 @@ void RTE_RTC_Init(RTC_Information_st_t g_stRTCInformation)
RTC_InitStructure.RTC_Date.RTC_WeekDay = g_stRTCInformation.u8RTCDayOfWeek;//???? RTC_InitStructure.RTC_Date.RTC_WeekDay = g_stRTCInformation.u8RTCDayOfWeek;//????
RTC_InitStructure.RTC_Date.RTC_Month = g_stRTCInformation.u8RTCMonth; //5?? RTC_InitStructure.RTC_Date.RTC_Month = g_stRTCInformation.u8RTCMonth; //5??
RTC_InitStructure.RTC_Date.RTC_Year = g_stRTCInformation.u8RTCYear; //2022?�� RTC_InitStructure.RTC_Date.RTC_Year = g_stRTCInformation.u8RTCYear; //2022?��
RTC_InitStructure.RTC_Period = One_Second; //RTC ????????1s?��?��???��???????? RTC_InitStructure.RTC_Period = Period_None; //RTC ????????1s?��?��???��????????
RTC_InitStructure.RTC_Alarm_Onoff = RTC_Alarm_Off; RTC_InitStructure.RTC_Alarm_Onoff = RTC_Alarm_Off;
RTC_InitStructure.RTC_Alarm.Alarm_Minute = 0; RTC_InitStructure.RTC_Alarm.Alarm_Minute = 0;
......
...@@ -12,8 +12,8 @@ void RTE_UART_Sleep_Init(UART_Channel_en_t enUARTCh); ...@@ -12,8 +12,8 @@ void RTE_UART_Sleep_Init(UART_Channel_en_t enUARTCh);
/*******************************************************/ /*******************************************************/
typedef struct typedef struct
{ {
uint8_t u8UARTCount; /*发送计数*/ uint32_t u32UARTCount; /*发送计数*/
uint8_t u8UARTLEN; /*发送数据总长*/ uint32_t u32UARTLEN; /*发送数据总长*/
uint8_t u8UARTTXBusyFlag; /*发送是否忙标志 0:idle 1:busy */ uint8_t u8UARTTXBusyFlag; /*发送是否忙标志 0:idle 1:busy */
uint8_t *pu8UARTDataBuf; /*要发送数据的指针*/ uint8_t *pu8UARTDataBuf; /*要发送数据的指针*/
} UART_Ctr_st_t; } UART_Ctr_st_t;
...@@ -33,8 +33,8 @@ static UART_Channel_Config_st_t stUARTCh2Cfg; ...@@ -33,8 +33,8 @@ static UART_Channel_Config_st_t stUARTCh2Cfg;
static void RTE_UART_Variate_Init(void); static void RTE_UART_Variate_Init(void);
static void RTE_UART_Variate_Init(void) static void RTE_UART_Variate_Init(void)
{ {
stUARTCtr0.u8UARTCount = 0U; stUARTCtr0.u32UARTCount = 0U;
stUARTCtr0.u8UARTLEN = 0U; stUARTCtr0.u32UARTLEN = 0U;
stUARTCtr0.u8UARTTXBusyFlag = 0U; stUARTCtr0.u8UARTTXBusyFlag = 0U;
stUARTCtr0.pu8UARTDataBuf = 0U; stUARTCtr0.pu8UARTDataBuf = 0U;
...@@ -43,8 +43,8 @@ static void RTE_UART_Variate_Init(void) ...@@ -43,8 +43,8 @@ static void RTE_UART_Variate_Init(void)
stUARTCh0Cfg.pfnUARTConfirmCallBack = 0U; stUARTCh0Cfg.pfnUARTConfirmCallBack = 0U;
stUARTCh0Cfg.pfnUARTReadMsgCallBack = 0U; stUARTCh0Cfg.pfnUARTReadMsgCallBack = 0U;
stUARTCtr1.u8UARTCount = 0U; stUARTCtr1.u32UARTCount = 0U;
stUARTCtr1.u8UARTLEN = 0U; stUARTCtr1.u32UARTLEN = 0U;
stUARTCtr1.u8UARTTXBusyFlag = 0U; stUARTCtr1.u8UARTTXBusyFlag = 0U;
stUARTCtr1.pu8UARTDataBuf = 0U; stUARTCtr1.pu8UARTDataBuf = 0U;
...@@ -53,8 +53,8 @@ static void RTE_UART_Variate_Init(void) ...@@ -53,8 +53,8 @@ static void RTE_UART_Variate_Init(void)
stUARTCh1Cfg.pfnUARTConfirmCallBack = 0U; stUARTCh1Cfg.pfnUARTConfirmCallBack = 0U;
stUARTCh1Cfg.pfnUARTReadMsgCallBack = 0U; stUARTCh1Cfg.pfnUARTReadMsgCallBack = 0U;
stUARTCtr2.u8UARTCount = 0U; stUARTCtr2.u32UARTCount = 0U;
stUARTCtr2.u8UARTLEN = 0U; stUARTCtr2.u32UARTLEN = 0U;
stUARTCtr2.u8UARTTXBusyFlag = 0U; stUARTCtr2.u8UARTTXBusyFlag = 0U;
stUARTCtr2.pu8UARTDataBuf = 0U; stUARTCtr2.pu8UARTDataBuf = 0U;
...@@ -288,8 +288,8 @@ void UART_Ch0_Send_Multiple_Byte(uint8_t *Data, uint8_t Len) ...@@ -288,8 +288,8 @@ void UART_Ch0_Send_Multiple_Byte(uint8_t *Data, uint8_t Len)
{ {
if ( UART_Ch0_Get_TX_Busy_Flag( ) == 0U ) if ( UART_Ch0_Get_TX_Busy_Flag( ) == 0U )
{ {
stUARTCtr0.u8UARTCount = 1U; stUARTCtr0.u32UARTCount = 1U;
stUARTCtr0.u8UARTLEN = Len; stUARTCtr0.u32UARTLEN = Len;
stUARTCtr0.u8UARTTXBusyFlag = 1U; stUARTCtr0.u8UARTTXBusyFlag = 1U;
stUARTCtr0.pu8UARTDataBuf = Data; stUARTCtr0.pu8UARTDataBuf = Data;
UART0_TX = stUARTCtr0.pu8UARTDataBuf [ 0U ]; UART0_TX = stUARTCtr0.pu8UARTDataBuf [ 0U ];
...@@ -299,8 +299,8 @@ void UART_Ch1_Send_Multiple_Byte(uint8_t *Data, uint8_t Len) ...@@ -299,8 +299,8 @@ void UART_Ch1_Send_Multiple_Byte(uint8_t *Data, uint8_t Len)
{ {
if ( UART_Ch1_Get_TX_Busy_Flag( ) == 0U ) if ( UART_Ch1_Get_TX_Busy_Flag( ) == 0U )
{ {
stUARTCtr1.u8UARTCount = 1U; stUARTCtr1.u32UARTCount = 1U;
stUARTCtr1.u8UARTLEN = Len; stUARTCtr1.u32UARTLEN = Len;
stUARTCtr1.u8UARTTXBusyFlag = 1U; stUARTCtr1.u8UARTTXBusyFlag = 1U;
stUARTCtr1.pu8UARTDataBuf = Data; stUARTCtr1.pu8UARTDataBuf = Data;
UART1_TX = stUARTCtr1.pu8UARTDataBuf [ 0U ]; UART1_TX = stUARTCtr1.pu8UARTDataBuf [ 0U ];
...@@ -310,8 +310,8 @@ void UART_Ch2_Send_Multiple_Byte(uint8_t *Data, uint8_t Len) ...@@ -310,8 +310,8 @@ void UART_Ch2_Send_Multiple_Byte(uint8_t *Data, uint8_t Len)
{ {
if ( UART_Ch2_Get_TX_Busy_Flag( ) == 0U ) if ( UART_Ch2_Get_TX_Busy_Flag( ) == 0U )
{ {
stUARTCtr2.u8UARTCount = 1U; stUARTCtr2.u32UARTCount = 1U;
stUARTCtr2.u8UARTLEN = Len; stUARTCtr2.u32UARTLEN = Len;
stUARTCtr2.u8UARTTXBusyFlag = 1U; stUARTCtr2.u8UARTTXBusyFlag = 1U;
stUARTCtr2.pu8UARTDataBuf = Data; stUARTCtr2.pu8UARTDataBuf = Data;
UART2_TX = stUARTCtr2.pu8UARTDataBuf [ 0U ]; UART2_TX = stUARTCtr2.pu8UARTDataBuf [ 0U ];
...@@ -419,9 +419,9 @@ void UART_CH3_RX_ISR(void) ...@@ -419,9 +419,9 @@ void UART_CH3_RX_ISR(void)
void UART_CH0_TX_ISR(void) void UART_CH0_TX_ISR(void)
{ {
INTC_ClearPendingIRQ(ST0_IRQn); INTC_ClearPendingIRQ(ST0_IRQn);
if ( stUARTCtr0.u8UARTCount < stUARTCtr0.u8UARTLEN ) if ( stUARTCtr0.u32UARTCount < stUARTCtr0.u32UARTLEN )
{ {
UART0_TX = stUARTCtr0.pu8UARTDataBuf [ stUARTCtr0.u8UARTCount++ ]; UART0_TX = stUARTCtr0.pu8UARTDataBuf [ stUARTCtr0.u32UARTCount++ ];
} }
else else
{ {
...@@ -435,9 +435,9 @@ void UART_CH0_TX_ISR(void) ...@@ -435,9 +435,9 @@ void UART_CH0_TX_ISR(void)
void UART_CH1_TX_ISR(void) void UART_CH1_TX_ISR(void)
{ {
INTC_ClearPendingIRQ(ST1_IRQn); INTC_ClearPendingIRQ(ST1_IRQn);
if ( stUARTCtr1.u8UARTCount < stUARTCtr1.u8UARTLEN ) if ( stUARTCtr1.u32UARTCount < stUARTCtr1.u32UARTLEN )
{ {
UART1_TX = stUARTCtr1.pu8UARTDataBuf [ stUARTCtr1.u8UARTCount++ ]; UART1_TX = stUARTCtr1.pu8UARTDataBuf [ stUARTCtr1.u32UARTCount++ ];
} }
else else
{ {
...@@ -451,9 +451,9 @@ void UART_CH1_TX_ISR(void) ...@@ -451,9 +451,9 @@ void UART_CH1_TX_ISR(void)
void UART_CH2_TX_ISR(void) void UART_CH2_TX_ISR(void)
{ {
INTC_ClearPendingIRQ(ST2_IRQn); INTC_ClearPendingIRQ(ST2_IRQn);
if ( stUARTCtr2.u8UARTCount < stUARTCtr2.u8UARTLEN ) if ( stUARTCtr2.u32UARTCount < stUARTCtr2.u32UARTLEN )
{ {
UART2_TX = stUARTCtr2.pu8UARTDataBuf [ stUARTCtr2.u8UARTCount++ ]; UART2_TX = stUARTCtr2.pu8UARTDataBuf [ stUARTCtr2.u32UARTCount++ ];
} }
else else
{ {
......
...@@ -15,6 +15,8 @@ void Sys_2ms_Tasks(void) ...@@ -15,6 +15,8 @@ void Sys_2ms_Tasks(void)
Sys_Status_Update_Service(); Sys_Status_Update_Service();
Analog_Signal_Conv_Service(); Analog_Signal_Conv_Service();
AMT630H_Main(); AMT630H_Main();
//Can_Write_Fun(&CAN_CH0_CanMsgTxOp, 2000u);无外发
CanMSg_XMS_Analysis(&CAN_CH0_CanMsgOp, 2u);
} }
void Sys_5ms_Tasks(void) void Sys_5ms_Tasks(void)
...@@ -24,6 +26,10 @@ void Sys_5ms_Tasks(void) ...@@ -24,6 +26,10 @@ void Sys_5ms_Tasks(void)
void Sys_10ms_Tasks(void) void Sys_10ms_Tasks(void)
{ {
Line_In_Debounce_Service(10u);
Key_Service();
Key_Clear_Time();
Key_TimeOut_Service();
Fuel_R_Cal(10u); Fuel_R_Cal(10u);
} }
...@@ -35,26 +41,14 @@ void Sys_20ms_Tasks(void) ...@@ -35,26 +41,14 @@ void Sys_20ms_Tasks(void)
void Sys_50ms_Tasks(void) void Sys_50ms_Tasks(void)
{ {
Telltales_Management();
g_u8Cursor_Posittion = Menu_Get_Current_Cursor_Information();
} }
uint32_t g_u32LEDFlag = 0UL;
//uint8_t ljsuartsend[2] = { 0x55, 0x66};
void Sys_100ms_Tasks(void) void Sys_100ms_Tasks(void)
{ {
if (g_u32LEDFlag)
{
g_u32LEDFlag = 0UL;
//RTE_GPIO_Set_Level(RTE_GPIO_ANALOG_PORT0_PIN15, 0x01U);
}
else
{
g_u32LEDFlag = 1UL;
//RTE_GPIO_Set_Level(RTE_GPIO_ANALOG_PORT0_PIN15, 0x00U);
}
Fuel_Cal_Sevice(100u); Fuel_Cal_Sevice(100u);
RTE_GPIO_Set_Level(Blacklight_PWM, 1); RTE_GPIO_Set_Level(Blacklight_PWM, 1);
//UART_Ch2_Send_Multiple_Byte(ljsuartsend, 2);
} }
static uint16_t task_2ms = 0u; static uint16_t task_2ms = 0u;
void Sys_Exact_50us_Tasks(void) void Sys_Exact_50us_Tasks(void)
......
//******************************BUSMASTER Messages and signals Database ******************************//
[DATABASE_VERSION] 1.3
[PROTOCOL] CAN
[BUSMASTER_VERSION] [3.2.0]
[NUMBER_OF_MESSAGES] 7
[START_MSG] CH0_101,257,8,10,1,S
[START_SIGNALS] ECU_Engine_Speed,16,2,0,U,65535,0,0,0.000000,0.250000,rpm,
[START_SIGNALS] ECU_Vehicle_Speed,8,3,0,U,255,0,0,0.000000,1.000000,Km/h,
[START_SIGNALS] ECU_Throttle_Position,8,4,0,U,255,0,0,0.000000,0.392150,%,
[START_SIGNALS] ECU_Engine_Temperature,16,6,0,U,65535,0,0,-273.000000,0.100000,,
[START_SIGNALS] ECU_Engine_Speed_State,1,7,4,U,1,0,0,0.000000,1.000000,,
[START_SIGNALS] ECU_Vehicle_Speed_State,1,7,5,U,1,0,0,0.000000,1.000000,,
[START_SIGNALS] ECU_Throttle_Position_State,1,7,6,U,1,0,0,0.000000,1.000000,,
[START_SIGNALS] ECU_Engine_Temperature_State,1,7,7,U,1,0,0,0.000000,1.000000,,
[START_SIGNALS] ECU_101_Livecounter,4,7,0,U,15,0,0,0.000000,1.000000,,
[START_SIGNALS] ECU_101_Checksum,8,8,0,U,255,0,0,0.000000,1.000000,,
[END_MSG]
[START_MSG] CH0_111,273,8,12,1,S
[START_SIGNALS] ISG_Engine_InjIgn_Cutoff,1,1,0,U,1,0,0,0.000000,1.000000,,
[START_SIGNALS] ISG_Engine_Autostop,1,2,0,U,1,0,0,0.000000,1.000000,,
[START_SIGNALS] ISG_Engine_InjIgn_Cutoff_State,1,3,0,U,1,0,0,0.000000,1.000000,,
[START_SIGNALS] ISG_Engine_Autostop_State,1,4,0,U,1,0,0,0.000000,1.000000,,
[START_SIGNALS] ISG_Batt,1,5,0,U,1,0,0,0.000000,1.000000,,
[START_SIGNALS] ISG_Ready,1,5,1,U,1,0,0,0.000000,1.000000,,
[START_SIGNALS] ISG_Power,1,5,2,U,1,0,0,0.000000,1.000000,,
[START_SIGNALS] ISG_SideStand,1,5,3,U,1,0,0,0.000000,1.000000,,
[START_SIGNALS] ISG_Power_Enable,2,5,4,U,3,0,0,0.000000,1.000000,,
[START_SIGNALS] ISG_Tair_Enable,1,5,6,U,1,0,0,0.000000,1.000000,,
[START_SIGNALS] ISG_111_Livecounter,4,7,0,U,15,0,0,0.000000,1.000000,,
[START_SIGNALS] ISG_111_Checksum,8,8,0,U,255,0,0,0.000000,1.000000,,
[END_MSG]
[START_MSG] CH0_401,1025,8,5,1,S
[START_SIGNALS] ECU_Environment_Presure,16,2,0,U,65535,0,0,0.000000,0.039000,hpa,
[START_SIGNALS] ECU_Battery_Voltage,8,3,0,U,255,0,0,0.000000,0.100000,V,
[START_SIGNALS] ECU_Fuel_Consumption,16,5,0,U,65535,0,0,0.000000,0.001000,ml/s,
[START_SIGNALS] ECU_401_Livecounter,4,7,0,U,15,0,0,0.000000,1.000000,,
[START_SIGNALS] ECU_401_Checksum,8,8,0,U,255,0,0,0.000000,1.000000,,
[END_MSG]
[START_MSG] CH0_402,1026,8,8,1,S
[START_SIGNALS] ECU_DTCH1,8,1,0,U,255,0,0,0.000000,1.000000,,
[START_SIGNALS] ECU_DTCM1,8,2,0,U,255,0,0,0.000000,1.000000,,
[START_SIGNALS] ECU_DTCL1,8,3,0,U,255,0,0,0.000000,1.000000,,
[START_SIGNALS] ECU_DTC1Amnt,8,4,0,U,255,0,0,0.000000,1.000000,,
[START_SIGNALS] ECU_DTCH2,8,5,0,U,255,0,0,0.000000,1.000000,,
[START_SIGNALS] ECU_DTCM2,8,6,0,U,255,0,0,0.000000,1.000000,,
[START_SIGNALS] ECU_DTCL2,8,7,0,U,255,0,0,0.000000,1.000000,,
[START_SIGNALS] ECU_Warning_Lamp,8,8,0,U,255,0,0,0.000000,1.000000,,
[END_MSG]
[START_MSG] CH0_12B,299,8,1,1,S
[START_SIGNALS] Abs_warning_lamp,2,5,1,U,3,0,0,0.000000,1.000000,,
[END_MSG]
[START_MSG] CH0_450,1104,8,2,1,S
[START_SIGNALS] ABSOFF_Selection,1,1,0,U,1,0,0,0.000000,1.000000,,
[START_SIGNALS] Dashboard_TCSFunSwitch,4,2,0,U,15,0,0,0.000000,1.000000,,
[END_MSG]
[START_MSG] CH0_37B,891,8,2,1,S
[START_SIGNALS] TCS_Warning_Lamp,1,4,2,U,1,0,0,0.000000,1.000000,,
[START_SIGNALS] TCS_Work_Mode,4,4,4,U,15,0,0,0.000000,1.000000,,
[END_MSG]
\ No newline at end of file
VERSION ""
BS_:
BU_:
BO_ 257 CH0_101: 8 Vector__XXX
SG_ ECU_101_Checksum : 63|8@0+ (1,0) [0|255] "" Vector__XXX
SG_ ECU_101_Livecounter : 51|4@0+ (1,0) [0|15] "" Vector__XXX
SG_ ECU_Engine_Temperature_State : 55|1@0- (1,0) [0|1] "" Vector__XXX
SG_ ECU_Throttle_Position_State : 54|1@0- (1,0) [0|1] "" Vector__XXX
SG_ ECU_Vehicle_Speed_State : 53|1@0- (1,0) [0|1] "" Vector__XXX
SG_ ECU_Engine_Speed_State : 52|1@0- (1,0) [0|1] "" Vector__XXX
SG_ ECU_Engine_Temperature : 39|16@0+ (0.1,-273) [-273|6280.5] "" Vector__XXX
SG_ ECU_Throttle_Position : 31|8@0+ (0.39215,0) [0|99.9983] "%" Vector__XXX
SG_ ECU_Vehicle_Speed : 23|8@0+ (1,0) [0|255] "Km/h" Vector__XXX
SG_ ECU_Engine_Speed : 7|16@0+ (0.25,0) [0|16383.8] "rpm" Vector__XXX
BO_ 273 CH0_111: 8 Vector__XXX
SG_ ISG_111_Checksum : 63|8@0+ (1,0) [0|255] "" Vector__XXX
SG_ ISG_111_Livecounter : 51|4@0+ (1,0) [0|15] "" Vector__XXX
SG_ ISG_Tair_Enable : 38|1@0- (1,0) [0|1] "" Vector__XXX
SG_ ISG_Power_Enable : 37|2@0+ (1,0) [0|3] "" Vector__XXX
SG_ ISG_SideStand : 35|1@0- (1,0) [0|1] "" Vector__XXX
SG_ ISG_Power : 34|1@0- (1,0) [0|1] "" Vector__XXX
SG_ ISG_Ready : 33|1@0- (1,0) [0|1] "" Vector__XXX
SG_ ISG_Batt : 32|1@0- (1,0) [0|1] "" Vector__XXX
SG_ ISG_Engine_Autostop_State : 24|1@0- (1,0) [0|1] "" Vector__XXX
SG_ ISG_Engine_InjIgn_Cutoff_State : 16|1@0- (1,0) [0|1] "" Vector__XXX
SG_ ISG_Engine_Autostop : 8|1@0- (1,0) [0|1] "" Vector__XXX
SG_ ISG_Engine_InjIgn_Cutoff : 0|1@0- (1,0) [0|1] "" Vector__XXX
BO_ 1025 CH0_401: 8 Vector__XXX
SG_ ECU_401_Checksum : 63|8@0+ (1,0) [0|255] "" Vector__XXX
SG_ ECU_401_Livecounter : 51|4@0+ (1,0) [0|15] "" Vector__XXX
SG_ ECU_Fuel_Consumption : 31|16@0+ (0.001,0) [0|65.535] "ml/s" Vector__XXX
SG_ ECU_Battery_Voltage : 23|8@0+ (0.1,0) [0|25.5] "V" Vector__XXX
SG_ ECU_Environment_Presure : 7|16@0+ (0.039,0) [0|2555.87] "hpa" Vector__XXX
BO_ 1026 CH0_402: 8 Vector__XXX
SG_ ECU_Warning_Lamp : 63|8@0+ (1,0) [0|255] "" Vector__XXX
SG_ ECU_DTCL2 : 55|8@0+ (1,0) [0|255] "" Vector__XXX
SG_ ECU_DTCM2 : 47|8@0+ (1,0) [0|255] "" Vector__XXX
SG_ ECU_DTCH2 : 39|8@0+ (1,0) [0|255] "" Vector__XXX
SG_ ECU_DTC1Amnt : 31|8@0+ (1,0) [0|255] "" Vector__XXX
SG_ ECU_DTCL1 : 23|8@0+ (1,0) [0|255] "" Vector__XXX
SG_ ECU_DTCM1 : 15|8@0+ (1,0) [0|255] "" Vector__XXX
SG_ ECU_DTCH1 : 7|8@0+ (1,0) [0|255] "" Vector__XXX
BO_ 299 CH0_12B: 8 Vector__XXX
SG_ Abs_warning_lamp : 34|2@0+ (1,0) [0|3] "" Vector__XXX
BO_ 1104 CH0_450: 8 Vector__XXX
SG_ Dashboard_TCSFunSwitch : 11|4@0+ (1,0) [0|15] "" Vector__XXX
SG_ ABSOFF_Selection : 0|1@0- (1,0) [0|1] "" Vector__XXX
BO_ 891 CH0_37B: 8 Vector__XXX
SG_ TCS_Work_Mode : 31|4@0+ (1,0) [0|15] "" Vector__XXX
SG_ TCS_Warning_Lamp : 26|1@0- (1,0) [0|1] "" Vector__XXX
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