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

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

parents 97c8a6ae e20aaf97
......@@ -623,6 +623,16 @@
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Device\Cmsemicon\BAT32A279\RTE\RTE.h</FilePath>
</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>
</Group>
<Group>
......
......@@ -6,7 +6,7 @@ st_CanMsgTxOp CAN_CH0_CanMsgTxOp;
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] =
......
......@@ -3,9 +3,7 @@
#include "Components.h"
#include "CAN_Signal\CAN_Lib.h"
extern st_CanMsgOp CAN_CH0_CanMsgOp;
extern st_CanMsgTxOp CAN_CH0_CanMsgTxOp;
typedef enum
......@@ -23,7 +21,7 @@ typedef enum
typedef enum
{
TEST,
TEST,
CAN_CH0_ID_SEND_TOTAL,
} CAN_CH0_CAN_MSG_SEND_ID_t;
......
// #include "Can_User.h"
// #include <string.h>
// #include "can.h"
// #include "RTE.h"
// #include "CAN_CH0_CAN_Communication_Matrix.h"
// __align(4)
// uint32_t pRXBuff[CAN_RX_MSG_Block * CAN_CH0_ID_TOTAL_MAX];
// uint32_t pTXBuff[CAN_TX_MSG_Block * CAN_CH0_ID_SEND_TOTAL];
// static RSCAN0BusoffMonitorStruct RSCAN0Busoff;
// void Can_Init(void)
// {
// can_config_st_t Can_Config;
// Can_Config.ch = CAN_CH_0;
// Can_Config.freq = CAN_500Kbps;
// Can_Config.MASK[0] = 0x001fffffU;
// Can_Config.MASK[1] = 0x000fffffU;
// Can_Config.MASK[2] = 0x1fffffffU;
// Can_Config.MASK[3] = 0x1fffffffU;
// Can_Config.rx_callback = Can_Rx_Cak;
// COM_CAN_Init();
// 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);
// }
// /**
// * @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
// *
// */
// 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.IDE = CAN_Id_Standard;
// // CAN_SendMsg_Diag_Tx.CacheType = CAN_CacheType_Tx;
// // CAN_SendMsg_Diag_Tx.RTR = CAN_RTR_Data;
// // CAN_SendMsg_Diag_Tx.Interrupt = DISABLE;
// // CAN_SendMsg_Diag_Tx.DLC = 8;
// // for (uint8_t i = 0; i < CAN_SendMsg_Diag_Tx.DLC; i++)
// // {
// // 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))
// {
// 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));
// 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);
// }
// /**
// * @brief Buff恢复函数
// * @param deltaTime 调用时间 单位ms 10MS调用
// */
// void Can_BusOff_Recover(uint8_t deltaTime)
// {
// if (get_can_busoff(CAN_CH_0) == 2)
// {
// if (RSCAN0Busoff.Status == RSCAN0_BUS_STABLE)
// {
// RSCAN0Busoff.Status = RSCAN0_BUS_OFF_LV1;
// }
// if (RSCAN0Busoff.Status == RSCAN0_BUS_OFF_LV1)
// {
// RSCAN0Busoff.Timer++;
// if (RSCAN0Busoff.Timer >= RSCAN0_BUS_OFF_LV1_RECOVERY_TIME / deltaTime)
// {
// RSCAN0Busoff.Timer = 0U;
// RSCAN0Busoff.Cnt++;
// if (RSCAN0Busoff.Cnt >= 10U)
// {
// RSCAN0Busoff.Cnt = 0U;
// RSCAN0Busoff.Status = RSCAN0_BUS_OFF_LV2;
// }
// reset_busoff(CAN_CH_0);
// }
// }
// else if (RSCAN0Busoff.Status == RSCAN0_BUS_OFF_LV2)
// {
// RSCAN0Busoff.Timer++;
// if (RSCAN0Busoff.Timer >= RSCAN0_BUS_OFF_LV2_RECOVERY_TIME / deltaTime)
// {
// RSCAN0Busoff.Timer = 0U;
// reset_busoff(CAN_CH_0);
// }
// }
// else
// {
// }
// }
// else /* 总线正常,没有Bus-off发生*/
// {
// }
// }
// /**
// * @brief 获取busoff状态
// * @return 0 没有busoff
// * 1 错误的操作
// * 2 busoff
// */
// uint8_t Get_Busoff_Status(void)
// {
// return get_can_busoff(CAN_CH_0);
// }
#include "Can_User.h"
#include <string.h>
#include "can.h"
#include "RTE.h"
#include "CAN_CH0_CAN_Communication_Matrix.h"
__align(4)
uint32_t pRXBuff[CAN_RX_MSG_Block * CAN_CH0_ID_TOTAL_MAX];
uint32_t pTXBuff[CAN_TX_MSG_Block * CAN_CH0_ID_SEND_TOTAL];
static RSCAN0BusoffMonitorStruct RSCAN0Busoff;
void Can_Init(void)
{
can_config_st_t Can_Config;
Can_Config.ch = CAN_CH_0;
Can_Config.freq = CAN_500Kbps;
Can_Config.MASK[0] = 0x001fffffU;
Can_Config.MASK[1] = 0x000fffffU;
Can_Config.MASK[2] = 0x1fffffffU;
Can_Config.MASK[3] = 0x1fffffffU;
Can_Config.rx_callback = Can_Rx_Cak;
COM_CAN_Init();
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);
}
/**
* @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 = 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_RecvMsg.Id = 0x402;
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.IDE = CAN_Id_Standard;
// CAN_SendMsg_Diag_Tx.CacheType = CAN_CacheType_Tx;
// CAN_SendMsg_Diag_Tx.RTR = CAN_RTR_Data;
// CAN_SendMsg_Diag_Tx.Interrupt = DISABLE;
// CAN_SendMsg_Diag_Tx.DLC = 8;
// for (uint8_t i = 0; i < CAN_SendMsg_Diag_Tx.DLC; i++)
// {
// 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))
// {
// 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));
// 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);
}
/**
* @brief Buff恢复函数
* @param deltaTime 调用时间 单位ms 10MS调用
*/
void Can_BusOff_Recover(uint8_t deltaTime)
{
if (get_can_busoff(CAN_CH_0) == 2)
{
if (RSCAN0Busoff.Status == RSCAN0_BUS_STABLE)
{
RSCAN0Busoff.Status = RSCAN0_BUS_OFF_LV1;
}
if (RSCAN0Busoff.Status == RSCAN0_BUS_OFF_LV1)
{
RSCAN0Busoff.Timer++;
if (RSCAN0Busoff.Timer >= RSCAN0_BUS_OFF_LV1_RECOVERY_TIME / deltaTime)
{
RSCAN0Busoff.Timer = 0U;
RSCAN0Busoff.Cnt++;
if (RSCAN0Busoff.Cnt >= 10U)
{
RSCAN0Busoff.Cnt = 0U;
RSCAN0Busoff.Status = RSCAN0_BUS_OFF_LV2;
}
reset_busoff(CAN_CH_0);
}
}
else if (RSCAN0Busoff.Status == RSCAN0_BUS_OFF_LV2)
{
RSCAN0Busoff.Timer++;
if (RSCAN0Busoff.Timer >= RSCAN0_BUS_OFF_LV2_RECOVERY_TIME / deltaTime)
{
RSCAN0Busoff.Timer = 0U;
reset_busoff(CAN_CH_0);
}
}
else
{
}
}
else /* 总线正常,没有Bus-off发生*/
{
}
}
/**
* @brief 获取busoff状态
* @return 0 没有busoff
* 1 错误的操作
* 2 busoff
*/
uint8_t Get_Busoff_Status(void)
{
return get_can_busoff(CAN_CH_0);
}
// uint8_t COM_APP_Process(st_CAN_Msg *Msg)
// {
......
// #ifndef _CAN_USER_H_
// #define _CAN_USER_H_
// #include "RTE.h"
// #include "Components.h"
#ifndef _CAN_USER_H_
#define _CAN_USER_H_
#include "RTE.h"
#include "Components.h"
// /******************************************************************************
// Bus-off
// ******************************************************************************/
// #define RSCAN0_BUS_STABLE 0x00U
// #define RSCAN0_BUS_OFF_LV1 0x01U
// #define RSCAN0_BUS_OFF_LV2 0x02U
// #define RSCAN00_BUS_LIMP 0x03U
// /******************************************************************************
// Bus-off
// ******************************************************************************/
/******************************************************************************
Bus-off
******************************************************************************/
#define RSCAN0_BUS_STABLE 0x00U
#define RSCAN0_BUS_OFF_LV1 0x01U
#define RSCAN0_BUS_OFF_LV2 0x02U
#define RSCAN00_BUS_LIMP 0x03U
/******************************************************************************
Bus-off
******************************************************************************/
// #define RSCAN0_BUS_OFF_LV1_RECOVERY_TIME 90U
// #define RSCAN0_BUS_OFF_LV2_RECOVERY_TIME 1000U
#define RSCAN0_BUS_OFF_LV1_RECOVERY_TIME 90U
#define RSCAN0_BUS_OFF_LV2_RECOVERY_TIME 1000U
// typedef struct
// {
// uint8_t Status;
// uint8_t Timer;
// uint8_t Cnt;
// uint8_t ReportDTCCnt;
// } RSCAN0BusoffMonitorStruct;
typedef struct
{
uint8_t Status;
uint8_t Timer;
uint8_t Cnt;
uint8_t ReportDTCCnt;
} RSCAN0BusoffMonitorStruct;
// extern void Can_Tx_Apply_Buff(void);
// extern void Can_RX_Apply_Buff(void);
// extern void Can_BusOff_Recover(uint8_t deltaTime);
// extern void COM_CAN_Init(void);
// extern void Can_Init(void);
// extern void Can_Rx_Cak(CanTxRxMsg *Msg);
// extern void Busoff(void);
// extern uint8_t COM_APP_Process(st_CAN_Msg *Msg);
// extern void Can_Write(st_CAN_Msg *Msg);
extern void Can_Tx_Apply_Buff(void);
extern void Can_RX_Apply_Buff(void);
extern void Can_BusOff_Recover(uint8_t deltaTime);
extern void COM_CAN_Init(void);
extern void Can_Init(void);
extern void Can_Rx_Cak(CanTxRxMsg *Msg);
extern void Busoff(void);
extern uint8_t COM_APP_Process(st_CAN_Msg *Msg);
extern void Can_Write(st_CAN_Msg *Msg);
// #endif
#endif
......@@ -4,7 +4,7 @@
uint32_t PowerIgnOnTimeLine;
uint32_t PowerIgnOffTimeLine;
uint32_t PowerIgnOffTimeLine;
static uint32_t PowerSocTimeLine;
......
......@@ -35,7 +35,7 @@
#define SWDIO_JTMS RTE_GPIO_PORT04_PIN00
#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 CAN_MCU_RXD RTE_GPIO_PORT05_PIN00
......@@ -43,7 +43,7 @@
#define CAN_STB_MCU RTE_GPIO_PORT05_PIN02
#define HighBeam_MCU RTE_GPIO_PORT05_PIN03
#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_SDA_24G16 RTE_GPIO_PORT06_PIN01
......
......@@ -27,5 +27,8 @@
#include "Data_ESpeed.h"
#include "Data_VSpeed.h"
#include "BackLight.h"
#include "RTC\RTE_RTC.h"
#include "CAN_Signal\CAN_Lib.h"
#include "CAN_CH0_CAN_Communication_Matrix.h"
#endif
......@@ -6,56 +6,21 @@
__align(4)
#define BACK_MENU_TIME 1000
// #define MENU_GRADE g_u8Menu_Grade
#define CURSOR_POSITION g_u8Cursor_Posittion
_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_DateTypeDef RTC_DateStruct;
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)
{
case KEY_EVENT_SHORT_PRESS_1:
// if(MENU_GRADE == 0x00)
// {
// Menu_Service(MENU_KEY_LEFT_SHORT);
// }
// else
// {
// Menu_Service(MENU_KEY_DOWN_SHORT);
// }
Key_Event_Short_Press_Left();
break;
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;
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;
case KEY_EVENT_LONG_PRESS_2: //3
break;
......@@ -68,25 +33,22 @@ void Key_Operation_Left(Key_Event_en_t enKeyEvent)//Mode
case KEY_EVENT_ON_TO_OFF:
break;
case KEY_EVENT_NONE:
Key_Left_Long_Press_Flag = 0;
KEY_LEFT_EVENT_NONE_Service();
break;
default:
break;
}
}
void Key_Operation_Right(Key_Event_en_t enKeyEvent)//Set
void Key_Operation_Right(Key_Event_en_t enKeyEvent)//确认
{
switch (enKeyEvent)
{
case KEY_EVENT_SHORT_PRESS_1:
// Menu_Service(MENU_KEY_CONFIRM_SHORT);
Key_Event_Short_Press_Right();
break;
case KEY_EVENT_SHORT_PRESS_2:
// Menu_Service(MENU_KEY_CONFIRM_LONG);
break;
case KEY_EVENT_LONG_PRESS_1: //2s
// Menu_Service(MENU_KEY_CONFIRM_SUPER_LONG);
Key_Right_Long_Press_Flag = 1;
break;
case KEY_EVENT_LONG_PRESS_2: //3s
break;
......@@ -99,7 +61,7 @@ void Key_Operation_Right(Key_Event_en_t enKeyEvent)//Set
case KEY_EVENT_ON_TO_OFF:
break;
case KEY_EVENT_NONE:
Key_Right_Long_Press_Flag = 0;
KEY_RIGHT_EVENT_NONE_Service();
break;
default:
break;
......@@ -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 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;
// }
// else
// {
// enKeyReal = KEY_REALTIME_PRESS;
// }
enKeyReal = KEY_REALTIME_LOOSEN;
}
return enKeyReal;
}
Key_Status_en_t Key_Status_Read_Right(void)
{
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;
// }
// else
// {
// enKeyReal = KEY_REALTIME_PRESS;
// }
enKeyReal = KEY_REALTIME_LOOSEN;
}
return enKeyReal;
}
......@@ -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_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)
stKeyInitTem.enKeyIGNRealStatus = KEY_IG_OFF;
Key_KL30_Init(&u8KeyRamData[0], stKeyAttribute, &stKeyInitTem);
Key_Parameter_Set_Short_Press_1_Time(50U,1000U);
Key_Parameter_Set_Short_Press_2_Time(3000U,10000U);
Key_Parameter_Set_Short_Press_1_Time(50U,2000U);
Key_Parameter_Set_Short_Press_2_Time(3000U,6000U);
Key_Parameter_Set_Long_Press_1_Time(10000U);
Key_Parameter_Set_Long_Press_2_Time(60000U);
Key_Parameter_Set_Long_Press_1_Time(7000U);
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)
{
......@@ -181,33 +140,168 @@ void Key_Wakeup_Init_EXample(void)
stKeyInitTem.enKeyIGNRealStatus = KEY_IG_OFF;
Key_Wakeup_Init(&u8KeyRamData[0], stKeyAttribute, &stKeyInitTem);
Key_Parameter_Set_Short_Press_1_Time(50U,1000U);
Key_Parameter_Set_Short_Press_2_Time(3000U,10000U);
Key_Parameter_Set_Short_Press_1_Time(50U,2000U);
Key_Parameter_Set_Short_Press_2_Time(3000U,6000U);
Key_Parameter_Set_Long_Press_1_Time(10000U);
Key_Parameter_Set_Long_Press_2_Time(60000U);
Key_Parameter_Set_Long_Press_1_Time(7000U);
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)
{
if(PageType == Page_Time_Set_Hour)
{
//RTC_SetTime(&counter_val.time);
}
{
//RTC_SetTime(&counter_val.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))
{
RTC_SetTime(&counter_val.time);
Menu_Service(MENU_KEY_CONFIRM_SHORT);
}
}
if(PageType == Page_Time_Set_Minute)
void KEY_LEFT_EVENT_NONE_Service(void)
{
MenuData.Back_Time_Left++;
if(MenuData.Back_Time_Left > BACK_MENU_TIME)
{
RTC_SetTime(&counter_val.time);
MenuData.Back_Time_Left = BACK_MENU_TIME;
MenuData.Back_Time_Left_Flag = 1;
}
PageType = Page_Time;
}
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;
void TYW_RESET_ODO(void)
......@@ -229,6 +323,8 @@ void TYW_RESET_ODO(void)
}
}
uint8_t Get_Dis_Hour_Time(void)
{
return counter_val.time.RTC_Hours;
......@@ -239,12 +335,22 @@ uint8_t Get_Dis_Minute_Time(void)
return counter_val.time.RTC_Minutes;
}
uint8_t Get_Current_PageType(void)
uint8_t Get_Dis_Unit(void)
{
return MenuData.Unit; //0km,1mile
}
uint8_t Get_Dis_OdoAndTrip(void)
{
return PageType;
return MenuData.OdoAndTrip; //0Odo,1Trip
}
uint8_t Get_Dis_Unit(void)
uint8_t Get_Dis_Bluetooth_Open_Close(void)
{
return MenuData.Unit; //0km,1mile
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
typedef struct
{
uint8_t Set_Hour;
uint8_t Set_Minute;
uint8_t Dis_Hour;
uint8_t Dis_Minute;
uint16_t Back_Time_Left;
uint16_t Back_Time_Right;
uint8_t Back_Time_Right_Flag;
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 Language;
uint8_t OdoAndTrip;
uint8_t Bluetooth_Open_Close;
uint8_t Clock_Flash;
}_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 g_u8Menu_Grade;
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 void Key_KL30_Init_EXample(void);
extern void Key_Wakeup_Init_EXample(void);
......@@ -70,13 +57,22 @@ void Key_Operation_Right(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_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);
uint8_t Get_Dis_Hour_Time(void);
uint8_t Get_Dis_Minute_Time(void);
uint8_t Get_Current_PageType(void);
void TYW_RESET_ODO(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
......@@ -5,63 +5,156 @@
const Line_In_Attribute_st g_stLineInAttribute[LINE_IN_MAX] =
{
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_TurnLeft, },
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_TurnRight, },
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 60U, 20U, Get_LINE_IN_HighBeam, },
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 100U, 20U, Get_LINE_IN_Auto_Start_Stop, },
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Turn_Left, },
{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_High_Beam, },
{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_TurnLeft(void)
Linelib_uint8_t Get_LINE_IN_Turn_Left(void)
{
Linelib_uint8_t ret = 0U;
//if (RTE_GPIO_Get_Level(LeftTurn_P_In))
if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
{
ret = 1u;
}
//else
else
{
ret = 0UL;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_TurnRight(void)
Linelib_uint8_t Get_LINE_IN_Turn_Right(void)
{
Linelib_uint8_t ret = 0U;
//if (RTE_GPIO_Get_Level(RightTurn_P_In))
if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
{
ret = 1u;
}
//else
else
{
ret = 0UL;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_HighBeam(void)
Linelib_uint8_t Get_LINE_IN_High_Beam(void)
{
Linelib_uint8_t ret = 0U;
//if (RTE_GPIO_Get_Level(HighBeam_P_In))
if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
{
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;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_Auto_Start_Stop(void)
{
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;
}
//else
else
{
ret = 0UL;
}
......@@ -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)
{
Linelib_uint16_t Res;
//Res = Common_Get_IG_Sts() & 0x00FFu;
Res = Common_Get_IG_Sts() & 0x00FFu;
return Res;
}
......
......@@ -5,19 +5,31 @@
typedef enum
{
LINE_IN_TurnLeft = 0,
LINE_IN_TurnRight,
LINE_IN_HighBeam,
LINE_IN_Turn_Left,
LINE_IN_Turn_Right,
LINE_IN_High_Beam,
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_Enum_t;
extern void LINE_IN_Init(void);
Linelib_uint8_t Get_LINE_IN_TurnLeft(void);
Linelib_uint8_t Get_LINE_IN_TurnRight(void);
Linelib_uint8_t Get_LINE_IN_HighBeam(void);
Linelib_uint8_t Get_LINE_IN_Turn_Left(void);
Linelib_uint8_t Get_LINE_IN_Turn_Right(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_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
......@@ -34,48 +34,63 @@ typedef unsigned int Menu_uint32_t;
*/
typedef enum
{
MENU_ITEM_MAIN_ITEM = 0, /*主界面*/
MENU_ITEM_DISPLAY_MODE, /*00 显示模式*/
MENU_ITEM_BACKLIGHT_SETTING, /*04 背光设置*/
MENU_ITEM_BACKLIGHT_AUTO, /*05 背光自动*/
MENU_ITEM_BACKLIGHT_1, /*06 背光_1*/
MENU_ITEM_BACKLIGHT_2, /*07 背光_2*/
MENU_ITEM_BACKLIGHT_3, /*08 背光_3*/
MENU_ITEM_BACKLIGHT_4, /*09 背光_4*/
MENU_ITEM_BLUETOOTH_CONNECT, /*11 蓝牙连接*/
MENU_ITEM_CLOCK_SETTING, /*15 时钟设置*/
MENU_ITEM_UNIT_SETTING, /*21 单位设置*/
MENU_ITEM_LANGUAGE_SETTING, /*24 语言设置*/
MENU_ITEM_FAULT_INFORMATION, /*27 故障信息*/
MENU_ITEM_PHONE_CONNECT, /*28 手机互联*/
MENU_ITEM_QUIT, /*29 退出*/
MENU_ITEM_SELECT_DAYTIME, /*01 选中日间*/
MENU_ITEM_SELECT_NIGHTTIME, /*02 选中夜间*/
MENU_ITEM_SELECT_AUTO, /*03 选中自动*/
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_BLUETOOTH_CONNECT, /*11 蓝牙连接*/
MENU_ITEM_BLUETOOTH_OPEN, /*12 蓝牙_开*/
MENU_ITEM_BLUETOOTH_CLOSE, /*13 蓝牙_关*/
MENU_ITEM_BLUETOOTH_OPEN_CLOSE, /*12 蓝牙_开*/
MENU_ITEM_BLUETOOTH_SYNC, /*13 蓝牙同步联系人*/
MENU_ITEM_BLUETOOTH_BACK, /*14 蓝牙返回*/
MENU_ITEM_CLOCK_SETTING, /*15 时钟设置*/
MENU_ITEM_CLOCK_BACK, /*16 时钟返回*/
MENU_ITEM_CLOCK_MIN_BIT, /*17 时钟分钟个位*/
MENU_ITEM_CLOCK_MIN_TENB, /*18 时钟分钟十位*/
MENU_ITEM_CLOCK_HOUR_BIT, /*19 时钟小时个位*/
MENU_ITEM_CLOCK_HOUR_TENB, /*20 时钟小时十位*/
MENU_ITEM_CLOCK_HOUR_BIT, /*19 时钟小时个位*/
MENU_ITEM_CLOCK_MIN_TENB, /*18 时钟分钟十位*/
MENU_ITEM_CLOCK_MIN_BIT, /*17 时钟分钟个位*/
MENU_ITEM_CLOCK_BACK, /*16 时钟返回*/
MENU_ITEM_CLOCK_HOUR_TENB_SET, /*20 时钟小时十位*/
MENU_ITEM_CLOCK_HOUR_BIT_SET, /*19 时钟小时个位*/
MENU_ITEM_CLOCK_MIN_TENB_SET, /*18 时钟分钟十位*/
MENU_ITEM_CLOCK_MIN_BIT_SET, /*17 时钟分钟个位*/
MENU_ITEM_UNIT_SETTING, /*21 单位设置*/
MENU_ITEM_UNIT_KM, /*22 选中公制*/
MENU_ITEM_UNIT_MILE, /*23 选中英制*/
MENU_ITEM_LANGUAGE_SETTING, /*24 语言设置*/
MENU_ITEM_LANGUAGE_CHINESE, /*25 选中中文*/
MENU_ITEM_LANGUAGE_ENGLISH, /*26 选中英文*/
MENU_ITEM_FAULT_INFORMATION, /*27 故障信息*/
MENU_ITEM_PHONE_CONNECT_SET,
MENU_ITEM_PHONE_CONNECT, /*28 手机互联*/
MENU_ITEM_PHONE_CONNECT_WIN, /*28 手机互联成功*/
MENU_ITEM_QUIT, /*29 退出*/
MENU_ITEM_PHONE_CONNECT_APP, /*28 手机互联成功*/
MENU_ITEM_MAX,
} Menu_Item_en_t;
/*所有菜单界面的枚举*/
typedef enum
{
MENU_INTF_DISPLAY_MODE = 0U, /*显示模式*/
MENU_INTF_MAIN_INTF = 0,
MENU_INTF_MODE,
MENU_INTF_DISPLAY_MODE, /*显示模式*/
MENU_INTF_BACKLIGHT_SETTING, /*背光设置*/
......@@ -83,6 +98,11 @@ typedef enum
MENU_INTF_CLOCK_SETTING, /*时钟设置*/
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, /*语言设置*/
......@@ -91,7 +111,10 @@ typedef enum
MENU_INTF_PHONE_CONNECT, /*手机互联*/
MENU_INTF_PHONE_CONNECT_SET,
MENU_INTF_QUIT, /*退出*/
MENU_INTERFACE_MAX,
} Menu_Interface_en_t;
/*所有菜单分支*/
......@@ -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 void Menu_Service(Menu_Key_en_t enMenuKey);
void Menu_User_Init(void);
void Menu_User_WAKEUP(void);
/*-----------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------*/
......
// #include "Menu.h"
// #include "Components.h"
// /*-------------------------------------------------------*/
// /*-----------------------------------------------------------------*/
// /*-------------------Logic_Operation Call Back---------------------*/
// uint8_t g_u8Menu_Grade;
// uint8_t g_u8Cursor_Posittion;
// uint8_t g_u8Language;
// uint8_t g_u8Theme;
// uint8_t g_u8Blue;
// uint8_t g_u8DVR_Set;
// uint8_t g_u8Formatting;
// uint8_t g_u8Factory;
// _Menu_Infor MenuInfor;
// void DriveInfo_Service(Menu_Key_en_t enMenuKey);
// void QR_ANDROID_Service(Menu_Key_en_t enMenuKey);
// void QR_ODS_Service(Menu_Key_en_t enMenuKey);
// void SUBJECT_MODE_Service(Menu_Key_en_t enMenuKey);
// void UNITS_SETUP_Service(Menu_Key_en_t enMenuKey);
// void CLOCK_Service(Menu_Key_en_t enMenuKey);
// void BACKLIGHT_CLASS_Service(Menu_Key_en_t enMenuKey);
// void TPMS_STUDY_Service(Menu_Key_en_t enMenuKey);
// void LANGUAGE_Service(Menu_Key_en_t enMenuKey);
// void BLUE_TOOTH_SETTING_Service(Menu_Key_en_t enMenuKey);
// void DVRSET_Service(Menu_Key_en_t enMenuKey);
// void VERSION_Service(Menu_Key_en_t enMenuKey);
// void FACTORY_RESET_Service(Menu_Key_en_t enMenuKey);
// void SUBJECT1_Service(Menu_Key_en_t enMenuKey);
// void SUBJECT2_Service(Menu_Key_en_t enMenuKey);
// void SUBJECT3_Service(Menu_Key_en_t enMenuKey);
// void TIME_12H_Service(Menu_Key_en_t enMenuKey);
// void TIME_24H_Service(Menu_Key_en_t enMenuKey);
// void TIME_Service(Menu_Key_en_t enMenuKey);
// void BACKLIGHT_TYPE1_Service(Menu_Key_en_t enMenuKey);
// void BACKLIGHT_TYPE2_Service(Menu_Key_en_t enMenuKey);
// void BACKLIGHT_TYPE3_Service(Menu_Key_en_t enMenuKey);
// void BACKLIGHT_TYPE4_Service(Menu_Key_en_t enMenuKey);
// void BACKLIGHT_TYPE5_Service(Menu_Key_en_t enMenuKey);
// void BACKLIGHT_TYPEA_Service(Menu_Key_en_t enMenuKey);
// void TPMS_UNIT_Service(Menu_Key_en_t enMenuKey);
// void TPMS_STUDYF_Service(Menu_Key_en_t enMenuKey);
// void TPMS_STUDYB_Service(Menu_Key_en_t enMenuKey);
// void BLUE_LINK_Service(Menu_Key_en_t enMenuKey);
// void BLUE_lINKMAN_Service(Menu_Key_en_t enMenuKey);
// void BLUE_NAME_Service(Menu_Key_en_t enMenuKey);
// void BLUE_OUT_Service(Menu_Key_en_t enMenuKey);
// void DVR_SET_Service(Menu_Key_en_t enMenuKey);
// void DVR_LOOK_Service(Menu_Key_en_t enMenuKey);
// void VERSION2_Service(Menu_Key_en_t enMenuKey);
// void BACKLIGHT_BLACK_Service(Menu_Key_en_t enMenuKey);
// void BACKLIGHT_WHITE_Service(Menu_Key_en_t enMenuKey);
// void BACKLIGHT_A_Service(Menu_Key_en_t enMenuKey);
// 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 FORMATTING_Service(Menu_Key_en_t enMenuKey);
// void DVR_LOOK2_Service(Menu_Key_en_t enMenuKey);
// void FACTORY_YES_Service(Menu_Key_en_t enMenuKey);
// void FACTORY_NO_Service(Menu_Key_en_t enMenuKey);
// void FORMATTING_YES_Service(Menu_Key_en_t enMenuKey);
// void FORMATTING_NO_Service(Menu_Key_en_t enMenuKey);
// /*---------------------------------------------------------------------------------------*/
// const Menu_Item_Attribute_st_t stMenuItemAttribute[MENU_ITEM_MAX] =
// {
// {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 },/**< 手机互联安卓 */
// {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 },/**< 主题模式 */
// {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 },/**< 单位设置 */
// {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 },/**< 时钟信息 */
// {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 },/**< 亮度设置 */
// {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 },/**< 胎压学习 */
// {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 },/**< 语言设置 */
// {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 },/**< 蓝牙设置 */
// {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 },/**< 主题一 */
// {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 },/**< 主题三 */
// {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时制 */
// {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时制 */
// {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 },/**< 时间调整 */
// {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 */
// {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 */
// {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 */
// {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 */
// {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 */
// {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 },/**< 亮度自动 */
// {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 },/**< 胎压单位 */
// {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 },/**< 前轮学习 */
// {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 },/**< 后轮学习 */
// {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 },/**< 蓝牙连接 */
// {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 },/**< 同步联系人 */
// {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 },/**< 蓝牙名称 */
// {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 },/**< 蓝牙退出 */
// {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设置 */
// {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回放 */
// {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 },/**< 版本信息子菜单 */
// {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 },/**< 黑天模式 */
// {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 },/**< 白天模式 */
// {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 },/**< 自动模式 */
// {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设置 */
// {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 },/**< 记录仪名称 */
// {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 },/**< 存储空间 */
// {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卡 */
// {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回放子菜单 */
// {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 },/**< 恢复出厂设置是 */
// {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 },/**< 恢复出厂设置否 */
// {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卡是 */
// {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卡否 */
// };
// /*-------------------------------------------------------------------------------------------------*/
// /*--------------------------The following usage is recommended, but not required--------------------------------*/
// /*--------------------------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);
// /*传入按键动作执行之前需要预先处理的动作*/
#include "Menu.h"
#include "Components.h"
/*-------------------Logic_Operation Call Back---------------------*/
uint8_t g_u8Cursor_Posittion;
extern _Menu_Data MenuData;
void Menu_Logic_Operation_MAIN_ITEM(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Display_Mode(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Backlight_Setting(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Bluetooth_Connect(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Clock_Setting(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Unit_Setting(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Language_Setting(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Fault_Information(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Phone_Connect(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Quit(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Select_Daytime(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Select_Nighttime(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Select_Auto(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Backlight_Auto(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Backlight_1(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Backlight_2(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Backlight_3(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Backlight_4(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Backlight_5(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Bluetooth_Open_Close(Menu_Key_en_t enKeyType);
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_Back(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Clock_Min_Bit(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Clock_Min_Tenb(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Clock_Hour_Bit(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Clock_Hour_Tenb(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Clock_Hour_Tenb_Set(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Clock_Hour_Bit_Set(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Clock_Min_Tenb_Set(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Clock_Min_Bit_Set(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Unit_Km(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Unit_Mile(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Language_Chinese(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Language_English(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Phone_Connect_Set(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Phone_Connect_App(Menu_Key_en_t enKeyType);
void Menu_u8Data_Updata_Process(uint8_t updateDir , uint8_t datMax, uint8_t datMin, uint8_t datStep, uint8_t *dat);
void Menu_User_Init(void)
{
Menu_Init_st_t Menu_Init_st;
Menu_Init_st.enMenuBranchLen = MENU_BRANCH_MAX;
Menu_Init_st.enMenuInterfaceLen = MENU_INTERFACE_MAX;
Menu_Init_st.enMenuItemLen = MENU_ITEM_MAX;
Menu_Init_st.uintMenuConfig = 0x0001;
Menu_Init_st.uintMenuCursorMemoryDepth = 0;
Menu_Init((uint8_t *)u8MenuRamData, (Menu_Item_Attribute_st_t *)stMenuItemAttribute, (Menu_Init_st_t *)&Menu_Init_st);
}
void Menu_User_WAKEUP(void)
{
Menu_Init_st_t Menu_Init_st;
Menu_Init_st.enMenuBranchLen = MENU_BRANCH_MAX;
Menu_Init_st.enMenuInterfaceLen = MENU_INTERFACE_MAX;
Menu_Init_st.enMenuItemLen = MENU_ITEM_MAX;
Menu_Init_st.uintMenuConfig = 0x0001;
Menu_Init_st.uintMenuCursorMemoryDepth = 0;
Menu_Wake_Up_Init((uint8_t *)u8MenuRamData, (Menu_Item_Attribute_st_t *)stMenuItemAttribute, (Menu_Init_st_t *)&Menu_Init_st);
}
/*---------------------------------------------------------------------------------------*/
const Menu_Item_Attribute_st_t stMenuItemAttribute[MENU_ITEM_MAX] =
{
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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},
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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 },
/*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--------------------------------*/
/*--------------------------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)
// {
// /*预处理中执行过本次按键了,后续不必执行时调用一次*/
// /*u8MenuKeyExecute = 0U;*/
// }
// /*传入按键动作执行之后需要后置处理的动作*/
/*传入按键动作执行之后需要后置处理的动作*/
// static void Menu_Cursor_Postprocess(Menu_Key_en_t enMenuKey)
// {
// }
// /*------------传入按键类型-----------------------*/
// void Menu_Service(Menu_Key_en_t enMenuKey)
// {
// /*功能回调函数的调用*/
// Menu_Logic_Process(enMenuKey);
// /*--------------------------------------------------*/
// /*按键动作对光标的处理*/
// Menu_Cursor_Preprocess(enMenuKey);
// Menu_Cursor_Process(enMenuKey);
// Menu_Cursor_Postprocess(enMenuKey);
// /*--------------------------------------------------*/
// }
/*------------传入按键类型-----------------------*/
void Menu_Service(Menu_Key_en_t enMenuKey)
{
/*功能回调函数的调用*/
Menu_Logic_Process(enMenuKey);
/*--------------------------------------------------*/
/*按键动作对光标的处理*/
//Menu_Cursor_Preprocess(enMenuKey);
Menu_Cursor_Process(enMenuKey);
//Menu_Cursor_Postprocess(enMenuKey);
/*--------------------------------------------------*/
}
// /*------------请放在休眠,唤醒之后不会被清除的RAM区域中-------------------------*/
// /*------------请放在休眠,唤醒之后不会被清除的RAM区域中-------------------------*/
// /*------------请放在休眠,唤醒之后不会被清除的RAM区域中-------------------------*/
// //#pragma ghs section bss = ".myNonInitArea"
// Menu_uint8_t u8MenuRamData[MENU_RAM_DATA_LEN];
// //#pragma ghs section bss = default
// /*---------------------------------------*/
// /*---------------------------------------*/
// /*---------------------------------------*/
// void DriveInfo_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x00;
// g_u8Cursor_Posittion = 0x00;
// if(enKeyType == MENU_KEY_LEFT_SHORT)
// {
// //切换大计小计
// }
// else if(enKeyType == MENU_KEY_LEFT_LONG)
// {
// //清小计
// }
// if(enKeyType == MENU_KEY_CONFIRM_LONG)
// {
// //长按该返回上一菜单没写此处是进入手机互联
// }
// else if(enKeyType == MENU_KEY_UP_SUPER_LONG)
// {
// //请保养
// }
// }
// void QR_ANDROID_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0xB1;
// g_u8Cursor_Posittion = 0x01;
// }
// void QR_ODS_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0xB1;
// g_u8Cursor_Posittion = 0x02;
// }
// void SUBJECT_MODE_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x10;
// g_u8Cursor_Posittion = 0x00;
// }
// void UNITS_SETUP_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x20;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// MenuInfor.Unit = !MenuInfor.Unit;//切换单位标志
// }
// }
// void CLOCK_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x30;
// g_u8Cursor_Posittion = 0x00;
// }
// void BACKLIGHT_CLASS_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x40;
// g_u8Cursor_Posittion = 0x00;
// }
// void TPMS_STUDY_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x50;
// g_u8Cursor_Posittion = 0x00;
// }
// void LANGUAGE_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x60;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// if(g_u8Language == 1u)
// {
// g_u8Language = 2;
// }
// else
// {
// g_u8Language = 1;
// }
// }
// }
// void BLUE_TOOTH_SETTING_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x70;
// g_u8Cursor_Posittion = 0x00;
// }
// void DVRSET_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x80;
// g_u8Cursor_Posittion = 0x00;
// }
// void VERSION_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x90;
// g_u8Cursor_Posittion = 0x00;
// }
// void FACTORY_RESET_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0xA0;
// g_u8Cursor_Posittion = 0x00;
// }
// void SUBJECT1_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x11;
// g_u8Cursor_Posittion = 1u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// g_u8Theme = g_u8Cursor_Posittion;
// }
/*------------请放在休眠,唤醒之后不会被清除的RAM区域中-------------------------*/
/*------------请放在休眠,唤醒之后不会被清除的RAM区域中-------------------------*/
/*------------请放在休眠,唤醒之后不会被清除的RAM区域中-------------------------*/
//#pragma ghs section bss = ".myNonInitArea"
Menu_uint8_t u8MenuRamData[MENU_RAM_DATA_LEN];
//#pragma ghs section bss = default
/*---------------------------------------*/
/*---------------------------------------*/
/*---------------------------------------*/
void Menu_Logic_Operation_MAIN_ITEM(Menu_Key_en_t enKeyType)
{
if(enKeyType == MENU_KEY_FUNCTION_1_SHORT)//大小计切换
{
if(Get_Dis_OdoAndTrip() == 0)
{
MenuData.OdoAndTrip = 1;
}
else
{
MenuData.OdoAndTrip = 0;
}
}
}
void Menu_Logic_Operation_Display_Mode(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Select_Daytime(Menu_Key_en_t enKeyType)
{
if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{
Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 1);
Menu_Item_Select_Set(MENU_ITEM_SELECT_NIGHTTIME, 0);
Menu_Item_Select_Set(MENU_ITEM_SELECT_AUTO, 0);
}
}
void Menu_Logic_Operation_Select_Nighttime(Menu_Key_en_t enKeyType)
{
if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{
Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 0);
Menu_Item_Select_Set(MENU_ITEM_SELECT_NIGHTTIME, 1);
Menu_Item_Select_Set(MENU_ITEM_SELECT_AUTO, 0);
}
}
void Menu_Logic_Operation_Select_Auto(Menu_Key_en_t enKeyType)
{
if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{
Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 0);
Menu_Item_Select_Set(MENU_ITEM_SELECT_NIGHTTIME, 0);
Menu_Item_Select_Set(MENU_ITEM_SELECT_AUTO, 1);
}
}
void Menu_Logic_Operation_Backlight_5(Menu_Key_en_t enKeyType)
{
if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 1);
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, 0);
}
}
void Menu_Logic_Operation_Backlight_4(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, 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);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0);
}
}
void Menu_Logic_Operation_Backlight_3(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, 1);
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, 0);
}
}
void Menu_Logic_Operation_Backlight_2(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, 1);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0);
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 Menu_Logic_Operation_Bluetooth_Connect(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Clock_Setting(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Unit_Setting(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Language_Setting(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Fault_Information(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Phone_Connect(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Quit(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Unit_Km(Menu_Key_en_t enKeyType)
{
if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{
Menu_Item_Select_Set(MENU_ITEM_UNIT_KM, 1);
Menu_Item_Select_Set(MENU_ITEM_UNIT_MILE, 0);
MenuData.Unit = 0;
}
}
void Menu_Logic_Operation_Unit_Mile(Menu_Key_en_t enKeyType)
{
if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{
Menu_Item_Select_Set(MENU_ITEM_UNIT_KM, 0);
Menu_Item_Select_Set(MENU_ITEM_UNIT_MILE, 1);
MenuData.Unit = 1;
}
}
void Menu_Logic_Operation_Language_Chinese(Menu_Key_en_t enKeyType)
{
if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{
Menu_Item_Select_Set(MENU_ITEM_LANGUAGE_CHINESE, 1);
Menu_Item_Select_Set(MENU_ITEM_LANGUAGE_ENGLISH, 0);
MenuData.Language = 0;
}
}
void Menu_Logic_Operation_Language_English(Menu_Key_en_t enKeyType)
{
if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{
Menu_Item_Select_Set(MENU_ITEM_LANGUAGE_CHINESE, 0);
Menu_Item_Select_Set(MENU_ITEM_LANGUAGE_ENGLISH, 1);
MenuData.Language = 1;
}
}
void Menu_Logic_Operation_Phone_Connect_Set(Menu_Key_en_t enKeyType)
{
}
void Menu_Logic_Operation_Phone_Connect_App(Menu_Key_en_t enKeyType)
{
}
void Menu_u8Data_Updata_Process(uint8_t updateDir , uint8_t datMax, uint8_t datMin, uint8_t datStep, uint8_t *dat)
{
uint8_t temp = *dat;
if(datMax > datMin)
{
if(updateDir == 1u)
{
if(temp < datMax)
{
if((temp) <= (255u-datStep))
{
temp += datStep;
}
}
else
{
temp = datMin;
}
}
else if(updateDir == 2u)
{
if(temp > datMin)
{
if(temp >= datStep)
{
temp -= datStep;
}
}
else
{
temp = datMax;
}
}
else
{
}
}
else
{
}
*dat = temp;
}
// }
// void SUBJECT2_Service(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 SUBJECT3_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x11;
// g_u8Cursor_Posittion = 3u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// g_u8Theme = g_u8Cursor_Posittion;
// }
// }
// void TIME_12H_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x31;
// g_u8Cursor_Posittion = 0x00u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// g_u8Theme = !g_u8Cursor_Posittion;
// }
// }
// void TIME_24H_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x31;
// g_u8Cursor_Posittion = 0x01u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// g_u8Theme = !g_u8Cursor_Posittion;
// }
// }
// void TIME_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x31;
// g_u8Cursor_Posittion = 0x02u;
// //亮灭逻辑没写
// }
// void BACKLIGHT_TYPE1_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x41;
// g_u8Cursor_Posittion = 0x01u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// MenuInfor.BackLight_Val = BackLight_Val_1;
// }
// }
// void BACKLIGHT_TYPE2_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x41;
// g_u8Cursor_Posittion = 0x02u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// MenuInfor.BackLight_Val = BackLight_Val_2;
// }
// }
// void BACKLIGHT_TYPE3_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x41;
// g_u8Cursor_Posittion = 0x03u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// MenuInfor.BackLight_Val = BackLight_Val_3;
// }
// }
// void BACKLIGHT_TYPE4_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x41;
// g_u8Cursor_Posittion = 0x04u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// MenuInfor.BackLight_Val = BackLight_Val_4;
// }
// }
// void BACKLIGHT_TYPE5_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x41;
// g_u8Cursor_Posittion = 0x05u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// MenuInfor.BackLight_Val = BackLight_Val_5;
// }
// }
// void BACKLIGHT_TYPEA_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x41;
// g_u8Cursor_Posittion = 0x06u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// MenuInfor.BackLight_Val = BackLight_Val_A;
// }
// }
// void TPMS_UNIT_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x51;
// g_u8Cursor_Posittion = 0x01u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// //胎压单位进行顺序切换
// }
// }
// void TPMS_STUDYF_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x51;
// g_u8Cursor_Posittion = 0x02u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// //前胎压学习状态位
// }
// else if(enKeyType == MENU_KEY_DOWN_SUPER_LONG)
// {
// //解除胎压学习
// }
// }
// void TPMS_STUDYB_Service(Menu_Key_en_t enKeyType)
// {
// g_u8Menu_Grade = 0x51;
// g_u8Cursor_Posittion = 0x03u;
// if(enKeyType == MENU_KEY_CONFIRM_SHORT)
// {
// //后胎压学习状态位
// }
// else if(enKeyType == MENU_KEY_DOWN_SUPER_LONG)
// {
// //解除胎压学习
// }
// }
// 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 "Components.h"
//RTC_Information_st_t g_stRTCInformation;
RTC_Information_st_t g_stRTCInformation;
static void Power_KL30_Init(void);
static void Power_Wakeup_Init(void);
......@@ -10,14 +10,11 @@ static void Power_OVP_Init(void);
static void Power_IG_OFF_Init(void);
static void Power_IG_ON_Init(void);
static void Power_Sleep_Init(void);
static Power_Status_em Power_Stay_ON(void);
static Power_Status_em Power_Stay_OFF(void);
static Power_Status_em Power_Stay_Protect(void);
static Power_Status_em Power_Stay_Sleep(void);
static const st_PowerGroup g_stPwrTasks = {
Power_KL30_Init,
Power_IG_OFF_Init,
......@@ -56,32 +53,28 @@ static void Power_KL30_Init(void)
Data_User_Mileage_KL30Init();
Fuel_KL30_Init();
Amt630hInit();
Telltales_Init();
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 400, 64000000);
TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High);
// g_stRTCInformation.u8RTCSecond = 0;
// g_stRTCInformation.u8RTCMinute = 0;
// g_stRTCInformation.u8RTCHour = 0;
// g_stRTCInformation.u8RTCDayOfMonth = 1;
// g_stRTCInformation.u8RTCMonth = 1;
// g_stRTCInformation.u8RTCYear = 20;
// RTE_RTC_Init(g_stRTCInformation);
// RTE_DEEPSLEEP_GPIO_Interrupt_Enable(WAKEUP_KL15_In,Trigger_Rising);
g_stRTCInformation.u8RTCSecond = 0;
g_stRTCInformation.u8RTCMinute = 0;
g_stRTCInformation.u8RTCHour = 0;
g_stRTCInformation.u8RTCDayOfMonth = 1;
g_stRTCInformation.u8RTCMonth = 1;
g_stRTCInformation.u8RTCYear = 20;
RTE_RTC_Init(g_stRTCInformation);
Menu_User_Init();
Can_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)
{
// PowerIgnOffTimeLine = 0;
Gpio_Init(Gpio_WakeUp_Init);
eeprom_StoreInfo_Init();
Analog_Signal_Conv_Init();
Data_User_Mileage_WakeupInit();
Sys_WakeUp_Init();
Data_Vehicle_Speed_KL30_Wakeup_Init();
Data_Engine_Speed_KL30_Wakeup_Init();
......@@ -92,9 +85,12 @@ static void Power_Wakeup_Init(void)
Amt630hInit();
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 400, 64000000);
TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High);
//Telltales_Init();
// RTE_DEEPSLEEP_GPIO_Interrupt_Enable(WAKEUP_KL15_In,Trigger_Rising);
Telltales_Init();
Key_KL30_Init_EXample();
Menu_User_WAKEUP();
Can_Init();
Protocol_KL30_Wakeup_Init();
//RTE_DEEPSLEEP_GPIO_Interrupt_Enable(KL15_AD_IN, Trigger_Rising);
}
static void Power_LVP_Init(void)
......@@ -109,7 +105,6 @@ static void Power_OVP_Init(void)
static void Power_IG_OFF_Init(void)
{
Line_In_KL15_OFF_Init();
}
static void Power_IG_ON_Init(void)
......@@ -123,19 +118,15 @@ static void Power_IG_ON_Init(void)
static void Power_Sleep_Init(void)
{
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();
TMM1_Stop();
TMM_All_Stop();
RTE_ADC_DeInit();
// //CGC->CSC = 1 ; //HIOSTOP = 1
Gpio_Init(Gpio_Sleep_Init);
AMT630H_Sleep();
Analog_Signal_Conv_Stop();
// RTE_DEEPSLEEP_Enable();
RTE_DEEPSLEEP_Enable();
}
static Power_Status_em Power_Stay_ON(void)
......@@ -166,15 +157,19 @@ static Power_Status_em Power_Stay_OFF(void)
}
else
{
if ((Common_GetIgnOffTime() < 20000))
if ((Common_GetIgnOffTime() < 1000))
{
u8PowerSts = EM_IGN_OFF;
}
else
{
//igoff大于1s且下15电才进休眠,否则一直保持在igoff状态
if(Sys_Read_KL15_Voltage() < 5000)
{
u8PowerSts = EM_IGN_Sleep_Init;
}
}
}
return u8PowerSts;
}
......@@ -188,8 +183,8 @@ static Power_Status_em Power_Stay_Protect(void)
/* 关闭所有外设,坪保留AD采集,电溝状思切�? */
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 0);
CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Disable);
}
u8PowerSts = EM_IGN_OFF_Init;
/* 电溝模弝正常 */
......@@ -202,8 +197,15 @@ static Power_Status_em Power_Stay_Protect(void)
if ( SYS_OPR_STAT_RUN )
{
CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable);
return u8PowerSts;
}
//进入异常电压,电源库里直接将15电等于0,则直接退出,状态是igoff,下15则进入休眠
if ( SYS_OPR_STAT_IGN_OFF )
{
break;
}
}
}
......
//#include "Telltales_Lib.h"
//#include "Telltales_user.h"
//#include "Line_In\Line_In_user.h"
//#include "Application.h"
//#include "CAN_APP\CAN_CH0_CAN_Communication_Matrix.h"
//#include "Components.h"
#include "Telltales_Lib.h"
#include "Telltales_user.h"
#include "Line_In\Line_In_user.h"
#include "Components.h"
//static Tellib_uint16_t LED_High_Beam_Judgement(void);
//static void LED_High_Beam_Execution(Tellib_uint16_t led_status);
//static Tellib_uint16_t LED_Efi_Fault_Judgement(void);
//static void LED_Efi_Fault_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_Voltage_Judgement(void);
//static void LED_Voltage_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_Turn_Left_Judgement(void);
static void LED_Turn_Left_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_Turn_Right_Judgement(void);
static void LED_Turn_Right_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_High_Beam_Judgement(void);
static void LED_High_Beam_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_Efi_Fault_Judgement(void);//电喷故障灯
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 ] = {
/* 指示灯索引 是否自检 外部信号自检 工作电源状态 自检开始时间 自检持续时间 指示灯点亮条件 指示灯执行函数 */
//static Tellib_uint16_t LED_Fuel_Judgement(void);
//static void LED_Fuel_Execution(Tellib_uint16_t led_status);
{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_Atmosphere_Judgement(void);
//static void LED_Atmosphere_Execution(Tellib_uint16_t led_status);
//uint8_t u8CanId401Flag = 0;
//const LED_Attribute_st LED_Attribute [ LED_Max ] = {
// /* 指示灯索引 是否自检 外部信号自检 工作电源状态 自检开始时间 自检持续时间 指示灯点亮条件 指示灯执行函数 */
//
// {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_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 },
// {em_LED_Fuel, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Fuel_Judgement, LED_Fuel_Execution },
// {em_LED_Atmosphere, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Atmosphere_Judgement, LED_Atmosphere_Execution},
//};
}
static void LED_TCS_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(TCS_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(TCS_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*信号来源:ISG_111*/
static Tellib_uint16_t LED_HEV_Judgement(void)
{
//Tellib_uint16_t LED_STATE = 0u;
//if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x402_Msg_Count) == CAN_SIG_LOST)
//{
// LED_STATE = 0u;
//}
//else
//{
// if( == 1)
// {
// LED_STATE = 1u;
// }
// else
// {
// LED_STATE = 0u;
// }
//}
//return LED_STATE;
}
static void LED_HEV_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(HEV_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(HEV_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*硬线-P19 电压值*/
static Tellib_uint16_t LED_Voltage_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_Voltage))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_Voltage_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(Voltage_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(Voltage_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*硬线P14-阻值*/
static Tellib_uint16_t LED_Fuel_Level_Low_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_Fuel_Level_Low))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_Fuel_Level_Low_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(FuelLevelLow_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(FuelLevelLow_MUC_OUT, LED_LINEOUT_Low);
// }
}//
/*信号来源:ECU_101 +硬线-P11 阻值 CAN>硬线*/
static Tellib_uint16_t LED_Coolant_Temperature_Judgement(void)
{
}
static void LED_Coolant_Temperature_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(CoolantTemperature_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(CoolantTemperature_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*无*/
static Tellib_uint16_t LED_WIFI_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
// if (Line_In_Get_Status(LINE_IN_WIFI))
// {
// LED_STATE = 1;
// }
// else
// {
// LED_STATE = 0;
// }
return LED_STATE;
}
static void LED_WIFI_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(WIFI_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(WIFI_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*信号来源:蓝牙模块*/
static Tellib_uint16_t LED_Bluetooth_Judgement(void)
{
// Tellib_uint16_t LED_STATE = 0u;
// if (Line_In_Get_Status(LINE_IN_Bluetooth))
// {
// LED_STATE = 1;
// }
// else
// {
// LED_STATE = 0;
// }
// return LED_STATE;
}
static void LED_Bluetooth_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(Bluetooth_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(Bluetooth_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*信号来源:0x111*/
static Tellib_uint16_t LED_E_Judgement(void)
{
//Tellib_uint8_t Tel_Mem [ Tel_MEM_Block_Size * LED_Max + Tel_MEM_Block_Addition ];
}
static void LED_E_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(E_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(E_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*信号来源:0x111*/
static Tellib_uint16_t LED_S_Judgement(void)
{
// 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_High_Beam_Judgement(void)
//{
// Tellib_uint16_t LED_STATE = 0u;
// if (Line_In_Get_Status(LINE_IN_HighBeam))
// {
// 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);
// }
//}
//static Tellib_uint16_t LED_Efi_Fault_Judgement(void)
//{
// Tellib_uint16_t LED_STATE = 0u;
// if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x402_Msg_Count) == CAN_SIG_LOST)
// {
// LED_STATE = 0u;
// }
// else
// {
// if(Get_CAN_CH0_ID_402_Sig_ECU_Warning_Lamp() == 1)
// {
// LED_STATE = 1u;
// }
// else
// {
// LED_STATE = 0u;
// }
// }
// return LED_STATE;
//}
//static void LED_Efi_Fault_Execution(Tellib_uint16_t led_status)
//{
// if ( led_status == 1u )
// {
// RTE_GPIO_Set_Level(EFI_FAULT_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(EFI_FAULT_OUT, LED_LINEOUT_Low);
// }
//}
//Tellib_uint8_t Auto_Start_Stop = 0u;
//Tellib_uint8_t Key_ISTOP = 0u;
//void Telltales_Auto_Start_Stop(void)
//{
// Auto_Start_Stop = 0;
//
//}
//void Telltales_Auto_Start_Stop_Setting(void)
//{
// if (Auto_Start_Stop == 0)
// {
// Auto_Start_Stop = 1;
// }
// else if (Auto_Start_Stop == 1)
// {
// Auto_Start_Stop = 0;
// }
// else
// {
// ;
// }
//}
//static Tellib_uint16_t LED_Auto_Start_Stop_Judgement(void)
//{
// Tellib_uint16_t LED_STATE = 0u;
//
// if (Auto_Start_Stop == 1)
// {
// if (Line_In_Get_Status(LINE_IN_Auto_Start_Stop))
// {
// LED_STATE = 1;
// }
// else
// {
// LED_STATE = 0;
// }
// }
// else
// {
// LED_STATE = 0;
// }
//
// return LED_STATE;
//}
//static void LED_Auto_Start_Stop_Execution(Tellib_uint16_t led_status)
//{
// if ( led_status == 1u )
// {
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_07_Key_ISTOP, LED_ON);
// SEG_SET_LED_STS(1,1);
// }
// else
// {
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_07_Key_ISTOP, LED_OFF);
// SEG_SET_LED_STS(1,0);
// }
//}
//Tellib_uint8_t Telltales_Voltage_Date(void)
//{
// Tellib_uint8_t Voltage = 0;
// Voltage = Get_CAN_CH0_ID_401_Sig_ECU_Battery_Voltage();
// return Voltage;
//}
//static Tellib_uint16_t LED_Voltage_Judgement(void)
//{
// Tellib_uint16_t LED_STATE = 0u;
// Tellib_uint16_t Voltage = 0u;
// 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;
// LED_STATE = 0u;
// }
// else
// {
// if ((Voltage < 120) || (Voltage > 150))
// {
// LED_STATE = 1u;
// }
// else
// {
// LED_STATE = 2u;
// }
// }
// return LED_STATE;
//}
//static void LED_Voltage_Execution(Tellib_uint16_t led_status)
//{
// if ( led_status == 1u )
// {
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_03_High_Low_Voltage, LED_ON);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_02_Normal_Voltage, LED_OFF);
// SEG_SET_LED_STS(0,1);
// }
// else if ( led_status == 2u )
// {
// 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);
// 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);
// }
//}
}
static void LED_S_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(S_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(S_MUC_OUT, LED_LINEOUT_Low);
// }
}
\ No newline at end of file
//#ifndef TELLTALES_USER_H
//#define TELLTALES_USER_H
#ifndef TELLTALES_USER_H
#define TELLTALES_USER_H
typedef enum
{
em_LED_Turn_Left,
em_LED_Turn_Right,
em_LED_High_Beam,
em_LED_Efi_Fault,
em_LED_ABS,
em_LED_Auto_Start_Stop,
em_LED_Oil_Pressure_Alert,
em_LED_TCS,
em_LED_HEV,
em_LED_Voltage,
em_LED_Fuel_Level_Low,
em_LED_Coolant_Temperature,
em_LED_WIFI,
em_LED_Bluetooth,
em_LED_E,
em_LED_S,
//typedef enum
//{
// em_LED_High_Beam,
// em_LED_Efi_Fault,
// em_LED_Auto_Start_Stop,
// em_LED_Voltage,
// em_LED_Fuel,
// em_LED_Atmosphere,
//
// LED_Max ,
//} LED_Idx_t;
//extern Tellib_uint8_t Auto_Start_Stop ;
//void Telltales_Init(void);
//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)
if (CAN_GetFlagStatus(CAN0, CAN_FLAG_REC) != RESET)
{
CAN_ClearFlag(CAN0, CAN_FLAG_REC);
// CANMSG = CAN_Get_CANxMSGy(CAN0);
// CAN_Receive_IT(CAN0, &CAN_RecvMsg);
// CANMSG = CAN_Get_CANxMSGy(CAN0);
// CAN_Receive_IT(CAN0, &CAN_RecvMsg);
if (can_rx_handler != NULL)
{
......@@ -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失败
*/
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反初始化
* @param CANx CAN0 ? CAN1
* @param CANx CAN0 ? CAN1
*
* @return uint8_t 0成功 1失败
*/
......@@ -124,10 +124,10 @@ uint8_t rte_can_deinit(CAN_CH ch)
/**
* @brief 获取CAN是否BusOff
* @param CANx CAN0 ? CAN1
* @param CANx CAN0 ? CAN1
*
* @return uint8_t 0 没有busoff
* 1 错误的操? 2 busoff
* 1 错误的操? 2 busoff
*/
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失败
*/
uint8_t reset_busoff(CAN_CH ch)
......@@ -189,7 +189,7 @@ uint8_t reset_busoff(CAN_CH ch)
return 0;
}
/* 下面是一些例? 自己?
/* 下面是一些例�? 自己�?
CAN_SendMsg.Id = 0x00aa0432;
CAN_SendMsg.IDE = CAN_Id_Extended;
CAN_SendMsg.CacheType = CAN_CacheType_Tx;
......
......@@ -11,15 +11,12 @@ uint32_t RTE_SystemCoreClock;
extern uint32_t SystemCoreClock;
void RTE_CLOCK_Select_Start(void)
{
////uint32_t msCnt;
#ifdef USED_FX_FCLK
/* config clock */
CGC_HSEConfig(OSC_OSCILLATOR,OSC_UNDER_10M);
CGC_Osc_Setting(OSC_OSCILLATOR,OSC_UNDER_10M,OSC_OSCILLATOR,OSC_NORMAL_POWER);
CGC_PLL_Setting(PLL_SR_fMX,PLL_DIV_2,PLL_MUL_16);
CGC_PLL_CFG_AS_FCLK();
SystemCoreClockUpdate();
RTE_SystemCoreClock = SystemCoreClock;
delay_init(64000000);
SystemCoreClock = 64000000UL;
#endif
......
......@@ -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_Month = g_stRTCInformation.u8RTCMonth; //5??
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.Alarm_Minute = 0;
......
......@@ -12,8 +12,8 @@ void RTE_UART_Sleep_Init(UART_Channel_en_t enUARTCh);
/*******************************************************/
typedef struct
{
uint8_t u8UARTCount; /*发送计数*/
uint8_t u8UARTLEN; /*发送数据总长*/
uint32_t u32UARTCount; /*发送计数*/
uint32_t u32UARTLEN; /*发送数据总长*/
uint8_t u8UARTTXBusyFlag; /*发送是否忙标志 0:idle 1:busy */
uint8_t *pu8UARTDataBuf; /*要发送数据的指针*/
} UART_Ctr_st_t;
......@@ -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)
{
stUARTCtr0.u8UARTCount = 0U;
stUARTCtr0.u8UARTLEN = 0U;
stUARTCtr0.u32UARTCount = 0U;
stUARTCtr0.u32UARTLEN = 0U;
stUARTCtr0.u8UARTTXBusyFlag = 0U;
stUARTCtr0.pu8UARTDataBuf = 0U;
......@@ -43,8 +43,8 @@ static void RTE_UART_Variate_Init(void)
stUARTCh0Cfg.pfnUARTConfirmCallBack = 0U;
stUARTCh0Cfg.pfnUARTReadMsgCallBack = 0U;
stUARTCtr1.u8UARTCount = 0U;
stUARTCtr1.u8UARTLEN = 0U;
stUARTCtr1.u32UARTCount = 0U;
stUARTCtr1.u32UARTLEN = 0U;
stUARTCtr1.u8UARTTXBusyFlag = 0U;
stUARTCtr1.pu8UARTDataBuf = 0U;
......@@ -53,8 +53,8 @@ static void RTE_UART_Variate_Init(void)
stUARTCh1Cfg.pfnUARTConfirmCallBack = 0U;
stUARTCh1Cfg.pfnUARTReadMsgCallBack = 0U;
stUARTCtr2.u8UARTCount = 0U;
stUARTCtr2.u8UARTLEN = 0U;
stUARTCtr2.u32UARTCount = 0U;
stUARTCtr2.u32UARTLEN = 0U;
stUARTCtr2.u8UARTTXBusyFlag = 0U;
stUARTCtr2.pu8UARTDataBuf = 0U;
......@@ -288,8 +288,8 @@ void UART_Ch0_Send_Multiple_Byte(uint8_t *Data, uint8_t Len)
{
if ( UART_Ch0_Get_TX_Busy_Flag( ) == 0U )
{
stUARTCtr0.u8UARTCount = 1U;
stUARTCtr0.u8UARTLEN = Len;
stUARTCtr0.u32UARTCount = 1U;
stUARTCtr0.u32UARTLEN = Len;
stUARTCtr0.u8UARTTXBusyFlag = 1U;
stUARTCtr0.pu8UARTDataBuf = Data;
UART0_TX = stUARTCtr0.pu8UARTDataBuf [ 0U ];
......@@ -299,8 +299,8 @@ void UART_Ch1_Send_Multiple_Byte(uint8_t *Data, uint8_t Len)
{
if ( UART_Ch1_Get_TX_Busy_Flag( ) == 0U )
{
stUARTCtr1.u8UARTCount = 1U;
stUARTCtr1.u8UARTLEN = Len;
stUARTCtr1.u32UARTCount = 1U;
stUARTCtr1.u32UARTLEN = Len;
stUARTCtr1.u8UARTTXBusyFlag = 1U;
stUARTCtr1.pu8UARTDataBuf = Data;
UART1_TX = stUARTCtr1.pu8UARTDataBuf [ 0U ];
......@@ -310,8 +310,8 @@ void UART_Ch2_Send_Multiple_Byte(uint8_t *Data, uint8_t Len)
{
if ( UART_Ch2_Get_TX_Busy_Flag( ) == 0U )
{
stUARTCtr2.u8UARTCount = 1U;
stUARTCtr2.u8UARTLEN = Len;
stUARTCtr2.u32UARTCount = 1U;
stUARTCtr2.u32UARTLEN = Len;
stUARTCtr2.u8UARTTXBusyFlag = 1U;
stUARTCtr2.pu8UARTDataBuf = Data;
UART2_TX = stUARTCtr2.pu8UARTDataBuf [ 0U ];
......@@ -419,9 +419,9 @@ void UART_CH3_RX_ISR(void)
void UART_CH0_TX_ISR(void)
{
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
{
......@@ -435,9 +435,9 @@ void UART_CH0_TX_ISR(void)
void UART_CH1_TX_ISR(void)
{
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
{
......@@ -451,9 +451,9 @@ void UART_CH1_TX_ISR(void)
void UART_CH2_TX_ISR(void)
{
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
{
......
......@@ -15,6 +15,8 @@ void Sys_2ms_Tasks(void)
Sys_Status_Update_Service();
Analog_Signal_Conv_Service();
AMT630H_Main();
//Can_Write_Fun(&CAN_CH0_CanMsgTxOp, 2000u);无外发
CanMSg_XMS_Analysis(&CAN_CH0_CanMsgOp, 2u);
}
void Sys_5ms_Tasks(void)
......@@ -24,6 +26,10 @@ void Sys_5ms_Tasks(void)
void Sys_10ms_Tasks(void)
{
Line_In_Debounce_Service(10u);
Key_Service();
Key_Clear_Time();
Key_TimeOut_Service();
Fuel_R_Cal(10u);
}
......@@ -35,26 +41,14 @@ void Sys_20ms_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)
{
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);
RTE_GPIO_Set_Level(Blacklight_PWM, 1);
//UART_Ch2_Send_Multiple_Byte(ljsuartsend, 2);
}
static uint16_t task_2ms = 0u;
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