Commit 97c8a6ae authored by 郑萍's avatar 郑萍

🎉 init:重新加载好使版本

parent 67f2a9c0
......@@ -623,16 +623,6 @@
<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,7 +3,9 @@
#include "Components.h"
#include "CAN_Signal\CAN_Lib.h"
extern st_CanMsgOp CAN_CH0_CanMsgOp;
extern st_CanMsgTxOp CAN_CH0_CanMsgTxOp;
typedef enum
......@@ -21,7 +23,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] = 0x1fffffffU;
Can_Config.MASK[1] = 0x1fffffffU;
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);
}
// #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);
// }
// 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;
......
......@@ -82,7 +82,8 @@ void Data_Vehicle_Speed_Processing_Service(void)
if ((CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CH0_101_Msg_Count) == CAN_SIG_LOST) || (Vehicle_Speed > 0XFF))
{
/* 先判断掉线 */
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CH0_101_Msg_Count) == CAN_SIG_LOST)
//if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x101_Msg_Count) == CAN_SIG_LOST)
if(1)
{
DataVSpeedValid = 0;
DataVSpeedActual = 0;
......
......@@ -35,7 +35,7 @@
#define SWDIO_JTMS RTE_GPIO_PORT04_PIN00
#define Start_stop_MCU RTE_GPIO_PORT04_PIN01
#define KEY_SELECT_MCU RTE_GPIO_PORT04_PIN02
#define Select_button_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 KEY_OK_MCU RTE_GPIO_PORT05_PIN05
#define SWITCH_MCU RTE_GPIO_PORT05_PIN05
#define IIC_SCL_24G16 RTE_GPIO_PORT06_PIN00
#define IIC_SDA_24G16 RTE_GPIO_PORT06_PIN01
......
......@@ -157,11 +157,10 @@ void Amt630hInit(void)
LcdSoundParamterData.LcdVideoInputValid = 0;
LcdSoundParamterData.Ark7116ResetPin = 0;
LcdSoundParamterData.LcdInterfaceType = LCD_INTERFACE_LVDS;
LcdSoundParamterData.LcdWiringMode = LCD_WIRING_MODE_BGR;
LcdSoundParamterData.LcdWiringBitOrder = LCD_WIRING_BIT_ORDER_MSB;
LcdSoundParamterData.LcdDotClkReverse = 0; /* NuoMa 50pin TFT */
LcdSoundParamterData.LvdsPanelFormat = LVDS_PANEL_FORMAT_TI;
LcdSoundParamterData.LvdsPanelFormat = LVDS_PANEL_FORMAT_NS;
LcdSoundParamterData.LvdsPanelData = LVDS_PANEL_DATA_8BIT;
LcdSoundParamterData.LcdTimingVBP = 12;
......@@ -257,13 +256,13 @@ void AMT630H_Main(void)
return;
}
AMT630H_AliveCounterMonitor();
// if(AMT630H_Err == 1U)
// {
// AMT630H_Err = 0;
// Amt630hInit();
// AMT630H_Animation_Finish = 1;
// return;
// }
if(AMT630H_Err == 1U)
{
AMT630H_Err = 0;
Amt630hInit();
AMT630H_Animation_Finish = 1;
return;
}
// if(g_sysFlag_Lcdcheck == 1)
// {
// if(AMT630H_FlashCheck.Flag == 0)
......
#include "Components.h"
uint8_t Pic_mode = PIC_DAYTIME_Main_CH;
uint8_t MENU_MODE = MAIN_MENU ;
uint8_t Pic_mode = PIC_NIGHTTIME_CH;
// 菜单背景,菜单前必带
void AMT630H_GUI_BACKGRAND(void);
//菜单调用函数
void AMT630H_GUI_SETTING(void) ;
// 一级菜单
void AMT630H_GUI_Quit(void);
void AMT630H_GUI_Phone_Connect(void);
void AMT630H_GUI_Fault_Information(void);
void AMT630H_GUI_Language_Information(void);
void AMT630H_GUI_Unit_Information(void);
void AMT630H_GUI_Display_Mode_Information(void);
void AMT630H_GUI_Backlight_Information(void);
void AMT630H_GUI_Backlight_Information(void);
void AMT630H_GUI_Bluetooth_Information(uint8_t sync_contacts, uint8_t Connect_ON);
void AMT630H_GUI_Clock_Information(uint8_t Clock_Hour, uint8_t Clock_Min);
// 二级菜单
static void AMT630H_GUI_Clock_Setting(uint8_t Clock_Hour, uint8_t Clock_Min, uint8_t Clock_BIT);/*时钟设置*/
void AMT630H_GUI_Backlight_Setting(uint8_t back_mode);/*背光设置*/
void AMT630H_GUI_Display_Mode_Setting(uint8_t Display_mode);/*显示模式*/
void AMT630H_GUI_Bluetooth_Connect_Setting(uint8_t select, uint8_t sync_contacts, uint8_t Connect_ON);/*蓝牙连接*/
void AMT630H_GUI_Unit_Setting(uint8_t select);/*单位设置*/
void AMT630H_GUI_Language_Setting(uint8_t select);/*语言设置*/
void AMT630H_GUI_Phone_Connect_Win(void);/*手机互联*/
static void AMT630H_GUI_Clock_Setting(uint8_t Clock_Hour, uint8_t Clock_Min, uint8_t Clock_BIT);
void AMT630H_GUI_Backlight_Setting(uint8_t back_mode);
void AMT630H_GUI_Display_Mode_Setting(uint8_t Display_mode);
void AMT630H_GUI_Bluetooth_Connect_Setting(uint8_t select, uint8_t sync_contacts, uint8_t Connect_ON);
void AMT630H_GUI_Unit_Setting(uint8_t select);
void AMT630H_GUI_Language_Setting(uint8_t select);
void AMT630H_GUI_Phone_Connect_Win(void);
uint8_t num_time = 0;
uint8_t num_time_num1 = 0;
uint8_t num_time_num2 = 0;
uint8_t num_time_num3 = 0;
void AMT630H_GUI_Background()
{
if (SYS_OPR_STAT_IGN_ON)
{
if(MENU_MODE = SETTING_MENU )
AMT630H_GUI_BACKGRAND();
// AMT630H_GUI_Phone_Connect_Win();
num_time++;
if (num_time % 20 == 0)
{
num_time_num2++;
if (num_time_num2 == 100)
{
AMT630H_GUI_SETTING() ;/*设置菜单*/
num_time_num2 = 0;
}
else
}
if (num_time % 50 == 0)
{
num_time_num1++;
if (num_time_num1 == 5)
num_time_num1 = 0;
}
if (num_time % 100 == 0)
{
AMT630H_GUI_BACKGRAND() ;/*主界面*/
num_time = 0;
num_time_num3 = ~num_time_num3;
}
AMT630H_GUI_Clock_Setting(num_time_num2, num_time_num2, num_time_num1);
}
else
{
......@@ -51,18 +67,12 @@ void AMT630H_GUI_Background()
// SetPagePic(GRAPHICS_PAGE_0, Pic_0057_376_336);
}
}
/***********************************************一级菜单*******************************************/
/**
* @brief 故障信息 一级菜单
* @param[in] //暂无
*/
void AMT630H_GUI_Fault_Information(void)
{
/*日间中文*/
if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0163_27_396);
......@@ -79,8 +89,6 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0095_633_175);
SetPagePic(GRAPHICS_PAGE_0, Pic_0170_354_162);
}
/*夜间中文*/
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0350_27_396);
......@@ -97,52 +105,13 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0283_633_175);
SetPagePic(GRAPHICS_PAGE_0, Pic_0357_354_162);
}
/*日间英文*/
else if (Pic_mode == PIC_DAYTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0088_47_398);
SetPagePic(GRAPHICS_PAGE_0, Pic_0084_869_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0089_193_488);
SetPagePic(GRAPHICS_PAGE_0, Pic_0086_762_487);
SetPagePic(GRAPHICS_PAGE_0, Pic_0090_435_519);
SetPagePic(GRAPHICS_PAGE_0, Pic_0091_567_356);
SetPagePic(GRAPHICS_PAGE_0, Pic_0092_368_356);
SetPagePic(GRAPHICS_PAGE_0, Pic_0093_574_292);
SetPagePic(GRAPHICS_PAGE_0, Pic_0094_375_292);
SetPagePic(GRAPHICS_PAGE_0, Pic_0095_633_240);
SetPagePic(GRAPHICS_PAGE_0, Pic_0096_338_228);
SetPagePic(GRAPHICS_PAGE_0, Pic_0095_633_175);
SetPagePic(GRAPHICS_PAGE_0, Pic_0097_334_163);
}
/*夜间英文*/
else if (Pic_mode == PIC_NIGHTTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0274_47_398);
SetPagePic(GRAPHICS_PAGE_0, Pic_0275_916_398);
SetPagePic(GRAPHICS_PAGE_0, Pic_0276_193_488);
SetPagePic(GRAPHICS_PAGE_0, Pic_0277_728_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0278_435_519);
SetPagePic(GRAPHICS_PAGE_0, Pic_0279_567_356);
SetPagePic(GRAPHICS_PAGE_0, Pic_0280_368_356);
SetPagePic(GRAPHICS_PAGE_0, Pic_0281_574_292);
SetPagePic(GRAPHICS_PAGE_0, Pic_0282_375_292);
SetPagePic(GRAPHICS_PAGE_0, Pic_0283_633_240);
SetPagePic(GRAPHICS_PAGE_0, Pic_0284_338_228);
SetPagePic(GRAPHICS_PAGE_0, Pic_0283_633_175);
SetPagePic(GRAPHICS_PAGE_0, Pic_0285_334_163);
}
}
/**
* @brief 显示模式信息 一级菜单
* @param[in] null
*/
void AMT630H_GUI_Display_Mode_Information(void)
void AMT630H_GUI_Backlight_Information(void)
{
/*日间中文*/
if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0190_27_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0191_903_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0161_207_485);
......@@ -152,111 +121,25 @@ void AMT630H_GUI_Display_Mode_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0147_476_359);
SetPagePic(GRAPHICS_PAGE_0, Pic_0152_434_232);
SetPagePic(GRAPHICS_PAGE_0, Pic_0151_476_117);
}
/*夜间中文*/
else if(Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0377_27_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0378_903_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0348_207_485);
SetPagePic(GRAPHICS_PAGE_0, Pic_0372_737_485);
SetPagePic(GRAPHICS_PAGE_0, Pic_0379_445_517);
SetPagePic(GRAPHICS_PAGE_0, Pic_0334_476_359);
SetPagePic(GRAPHICS_PAGE_0, Pic_0339_434_232);
SetPagePic(GRAPHICS_PAGE_0, Pic_0338_476_117);
}
/*日间英文*/
else if(Pic_mode == PIC_DAYTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0123_18_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0124_898_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0086_222_487);
SetPagePic(GRAPHICS_PAGE_0, Pic_0125_729_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0126_415_519);
SetPagePic(GRAPHICS_PAGE_0, Pic_0072_454_360);
SetPagePic(GRAPHICS_PAGE_0, Pic_0077_414_234);
SetPagePic(GRAPHICS_PAGE_0, Pic_0076_461_118);
}
/*夜间英文*/
else if(Pic_mode == PIC_NIGHTTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0311_18_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0312_898_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0272_222_487);
SetPagePic(GRAPHICS_PAGE_0, Pic_0313_729_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0314_415_519);
SetPagePic(GRAPHICS_PAGE_0, Pic_0258_454_360);
SetPagePic(GRAPHICS_PAGE_0, Pic_0263_414_234);
SetPagePic(GRAPHICS_PAGE_0, Pic_0262_461_118);
}
}
void AMT630H_GUI_Backlight_Information(void)
{
/*日间中文*/
if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0187_37_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0188_904_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0156_197_485);
SetPagePic(GRAPHICS_PAGE_0, Pic_0181_737_485);
SetPagePic(GRAPHICS_PAGE_0, Pic_0189_446_517);
SetPagePic(GRAPHICS_PAGE_0, Pic_0069_506_332);
SetPagePic(GRAPHICS_PAGE_0, Pic_0060_504_286);
SetPagePic(GRAPHICS_PAGE_0, Pic_0068_505_236);
SetPagePic(GRAPHICS_PAGE_0, Pic_0062_503_186);
SetPagePic(GRAPHICS_PAGE_0, Pic_0065_504_136);
}
/*夜间中文*/
else if(Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0374_37_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0375_904_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0343_197_485);
SetPagePic(GRAPHICS_PAGE_0, Pic_0368_737_485);
SetPagePic(GRAPHICS_PAGE_0, Pic_0376_446_517);
SetPagePic(GRAPHICS_PAGE_0, Pic_0255_506_332);
SetPagePic(GRAPHICS_PAGE_0, Pic_0246_504_286);
SetPagePic(GRAPHICS_PAGE_0, Pic_0254_505_236);
SetPagePic(GRAPHICS_PAGE_0, Pic_0248_503_186);
SetPagePic(GRAPHICS_PAGE_0, Pic_0251_504_136);
}
/*日间英文*/
else if(Pic_mode == PIC_DAYTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0118_52_398);
SetPagePic(GRAPHICS_PAGE_0, Pic_0119_891_398);
SetPagePic(GRAPHICS_PAGE_0, Pic_0120_174_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0121_732_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0122_436_519);
SetPagePic(GRAPHICS_PAGE_0, Pic_0069_506_332);
SetPagePic(GRAPHICS_PAGE_0, Pic_0060_504_286);
SetPagePic(GRAPHICS_PAGE_0, Pic_0068_505_236);
SetPagePic(GRAPHICS_PAGE_0, Pic_0062_503_186);
SetPagePic(GRAPHICS_PAGE_0, Pic_0065_504_136);
}
/*夜间英文*/
else if(Pic_mode == PIC_NIGHTTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0306_52_398);
SetPagePic(GRAPHICS_PAGE_0, Pic_0307_891_398);
SetPagePic(GRAPHICS_PAGE_0, Pic_0308_174_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0309_732_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0310_436_519);
SetPagePic(GRAPHICS_PAGE_0, Pic_0255_506_332);
SetPagePic(GRAPHICS_PAGE_0, Pic_0246_504_286);
SetPagePic(GRAPHICS_PAGE_0, Pic_0254_505_236);
SetPagePic(GRAPHICS_PAGE_0, Pic_0248_503_186);
SetPagePic(GRAPHICS_PAGE_0, Pic_0251_504_136);
}
}
static uint16_t Bluetooth_num_day[] = {
///**
// * @brief 背光信息 一级菜单
// * @param[in] null
// */
//void AMT630H_GUI_Backlight_Information(void)
//{
// SetPagePic(GRAPHICS_PAGE_0, Pic_0187_37_396);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0188_904_396);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0156_197_485);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0181_737_485);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0189_446_517);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0069_506_332);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0060_504_286);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0068_505_236);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0062_503_186);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0065_504_136);
//}
static uint16_t Bluetooth_num[] = {
Pic_0040_605_289,
Pic_0041_606_290,
Pic_0042_604_289,
......@@ -266,20 +149,7 @@ static uint16_t Bluetooth_num_day[] = {
Pic_0046_605_289,
Pic_0047_605_290,
Pic_0048_605_289,
Pic_0049_605_289
};
static uint16_t Bluetooth_num_night[] = {
Pic_0225_605_289,
Pic_0226_606_290,
Pic_0227_604_289,
Pic_0228_604_289,
Pic_0229_604_290,
Pic_0230_604_290,
Pic_0231_605_289,
Pic_0232_605_290,
Pic_0233_605_289,
Pic_0234_605_289,
};
Pic_0049_605_289};
/**
* @brief 蓝牙连接 一级菜单
* @param[in] sync_contacts 同步联系人
......@@ -287,9 +157,6 @@ static uint16_t Bluetooth_num_night[] = {
*/
void AMT630H_GUI_Bluetooth_Information(uint8_t sync_contacts, uint8_t Connect_ON)
{
/*日间中文*/
if(Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0183_26_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0184_903_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0185_197_485);
......@@ -309,370 +176,79 @@ void AMT630H_GUI_Bluetooth_Information(uint8_t sync_contacts, uint8_t Connect_ON
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0140_584_226);
}
DISPLAY_NUM_ST DisplayNumPara;
uint8_t sync_contactsNumber;
sync_contactsNumber = sync_contacts;
if (sync_contacts < 10)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0038_590_287);
DisplayNumPara.NumList = Bluetooth_num_day;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 604;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 1;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0039_583_287);
DisplayNumPara.NumList = Bluetooth_num_day;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 612;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
}
}
/*夜间中文*/
else if(Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0370_26_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0371_903_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0372_197_485);
SetPagePic(GRAPHICS_PAGE_0, Pic_0364_738_485);
SetPagePic(GRAPHICS_PAGE_0, Pic_0373_445_517);
SetPagePic(GRAPHICS_PAGE_0, Pic_0324_489_345);
SetPagePic(GRAPHICS_PAGE_0, Pic_0326_369_287);
SetPagePic(GRAPHICS_PAGE_0, Pic_0329_367_226);
SetPagePic(GRAPHICS_PAGE_0, Pic_0241_570_165);
SetPagePic(GRAPHICS_PAGE_0, Pic_0330_367_163);
if (Connect_ON == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0328_584_226);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0327_584_226);
}
DISPLAY_NUM_ST DisplayNumPara;
uint8_t sync_contactsNumber;
sync_contactsNumber = sync_contacts;
if (sync_contacts < 10)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0038_590_287);
DisplayNumPara.NumList = Bluetooth_num_night ;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 604;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 1;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0039_583_287);
DisplayNumPara.NumList = Bluetooth_num_night;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 612;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
}
}
/*日间英文*/
else if(Pic_mode == PIC_DAYTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0113_14_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0114_924_398);
SetPagePic(GRAPHICS_PAGE_0, Pic_0115_189_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0116_724_487);
SetPagePic(GRAPHICS_PAGE_0, Pic_0117_440_519);
SetPagePic(GRAPHICS_PAGE_0, Pic_0019_478_348);
SetPagePic(GRAPHICS_PAGE_0, Pic_0037_376_289);
SetPagePic(GRAPHICS_PAGE_0, Pic_0054_377_227);
SetPagePic(GRAPHICS_PAGE_0, Pic_0055_570_165);
SetPagePic(GRAPHICS_PAGE_0, Pic_0056_377_166);
if (Connect_ON == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0052_574_226);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0053_573_226);
}
DISPLAY_NUM_ST DisplayNumPara;
uint8_t sync_contactsNumber;
sync_contactsNumber = sync_contacts;
if (sync_contacts < 10)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0038_590_287);
DisplayNumPara.NumList = Bluetooth_num_day ;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 604;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 1;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0039_583_287);
DisplayNumPara.NumList = Bluetooth_num_day ;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 612;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
}
}
/*夜间英文*/
else if(Pic_mode == PIC_NIGHTTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0301_14_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0302_924_398);
SetPagePic(GRAPHICS_PAGE_0, Pic_0303_189_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0304_724_487);
SetPagePic(GRAPHICS_PAGE_0, Pic_0305_440_519);
SetPagePic(GRAPHICS_PAGE_0, Pic_0208_478_348);
SetPagePic(GRAPHICS_PAGE_0, Pic_0237_376_289);
SetPagePic(GRAPHICS_PAGE_0, Pic_0240_377_227);
SetPagePic(GRAPHICS_PAGE_0, Pic_0241_570_165);
SetPagePic(GRAPHICS_PAGE_0, Pic_0242_377_166);
if (Connect_ON == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0238_574_226);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0239_573_226);
}
DISPLAY_NUM_ST DisplayNumPara;
uint8_t sync_contactsNumber;
sync_contactsNumber = sync_contacts;
if (sync_contacts < 10)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0038_590_287);
DisplayNumPara.NumList = Bluetooth_num_night ;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 604;
uint8_t ArrivalNumber;
ArrivalNumber = sync_contacts;
DisplayNumPara.NumList = Bluetooth_num; // 图片数组
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14; // 往左排 数字间距
DisplayNumPara.x = 604; // 最右边数字的最左上角的横坐标
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 1;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
DisplayNumPara.DecimalNum = 0; // 小数点后位数
DisplayNumPara.MinDigits = 1; // 最小显示位数
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, ArrivalNumber);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0039_583_287);
DisplayNumPara.NumList = Bluetooth_num_night ;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 612;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
}
}
}
static uint16_t Time_num_day[] = {
Pic_0022_550_211,
Pic_0023_564_211,
Pic_0024_550_211,
Pic_0025_552_211,
Pic_0026_548_211,
Pic_0027_550_211,
Pic_0028_551_211,
Pic_0029_549_211,
Pic_0030_550_211,
Pic_0031_551_211,
};
static uint16_t Time_num_night[] = {
Pic_0210_550_211,
Pic_0211_564_211,
Pic_0212_550_211,
Pic_0213_552_211,
Pic_0214_548_211,
Pic_0215_550_211,
Pic_0216_551_211,
Pic_0217_549_211,
Pic_0218_550_211,
Pic_0219_551_211,
};
/**
* @brief 时钟设置 一级菜单
* @param[in] Clock_Hour 小时
* @param[in] Clock_Min 分钟
*/
void AMT630H_GUI_Clock_Information(uint8_t Clock_Hour, uint8_t Clock_Min)
{
/*日间中文*/
if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0179_27_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0180_903_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0181_197_485);
SetPagePic(GRAPHICS_PAGE_0, Pic_0173_737_485);
SetPagePic(GRAPHICS_PAGE_0, Pic_0182_446_517);
SetPagePic(GRAPHICS_PAGE_0, Pic_0136_489_338);
SetPagePic(GRAPHICS_PAGE_0, Pic_0021_510_222);
DISPLAY_NUM_ST DisplayNumPara;
uint8_t Clock_HourNumber;
uint8_t Clock_MinNumber;
Clock_HourNumber = Clock_Hour;
Clock_MinNumber = Clock_Min;
DisplayNumPara.NumList = Time_num_day;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47;
DisplayNumPara.x = 457;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_HourNumber);
DisplayNumPara.NumList = Time_num_day;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47;
DisplayNumPara.x = 574;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_MinNumber);
}
/*夜间中文*/
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0366_27_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0367_903_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0368_197_485);
SetPagePic(GRAPHICS_PAGE_0, Pic_0360_737_485);
SetPagePic(GRAPHICS_PAGE_0, Pic_0369_446_517);
SetPagePic(GRAPHICS_PAGE_0, Pic_0324_489_338);
SetPagePic(GRAPHICS_PAGE_0, Pic_0209_510_222);
DISPLAY_NUM_ST DisplayNumPara;
uint8_t Clock_HourNumber;
uint8_t Clock_MinNumber;
Clock_HourNumber = Clock_Hour;
Clock_MinNumber = Clock_Min;
DisplayNumPara.NumList = Time_num_night;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47;
DisplayNumPara.x = 457;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_HourNumber);
DisplayNumPara.NumList = Time_num_night;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47;
DisplayNumPara.x = 574;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_MinNumber);
}
/*日间英文*/
else if (Pic_mode == PIC_DAYTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0108_19_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0109_899_399);
SetPagePic(GRAPHICS_PAGE_0, Pic_0110_192_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0111_758_487);
SetPagePic(GRAPHICS_PAGE_0, Pic_0112_429_519);
SetPagePic(GRAPHICS_PAGE_0, Pic_0019_478_341);
SetPagePic(GRAPHICS_PAGE_0, Pic_0021_510_222);
DISPLAY_NUM_ST DisplayNumPara;
uint8_t Clock_HourNumber;
uint8_t Clock_MinNumber;
Clock_HourNumber = Clock_Hour;
Clock_MinNumber = Clock_Min;
DisplayNumPara.NumList = Time_num_day;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47;
DisplayNumPara.x = 457;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_HourNumber);
DisplayNumPara.NumList = Time_num_day;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47;
DisplayNumPara.x = 574;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_MinNumber);
}
/*夜间英文*/
else if(Pic_mode == PIC_NIGHTTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0296_19_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0297_899_399);
SetPagePic(GRAPHICS_PAGE_0, Pic_0298_192_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0299_758_487);
SetPagePic(GRAPHICS_PAGE_0, Pic_0300_429_519);
SetPagePic(GRAPHICS_PAGE_0, Pic_0208_478_341);
SetPagePic(GRAPHICS_PAGE_0, Pic_0209_510_222);
DISPLAY_NUM_ST DisplayNumPara;
uint8_t Clock_HourNumber;
uint8_t Clock_MinNumber;
Clock_HourNumber = Clock_Hour;
Clock_MinNumber = Clock_Min;
DisplayNumPara.NumList = Time_num_night;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47;
DisplayNumPara.x = 457;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_HourNumber);
DisplayNumPara.NumList = Time_num_night;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47;
DisplayNumPara.x = 574;
uint8_t ArrivalNumber;
ArrivalNumber = sync_contacts;
DisplayNumPara.NumList = Bluetooth_num; // 图片数组
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14; // 往左排 数字间距
DisplayNumPara.x = 612; // 最右边数字的最左上角的横坐标
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_MinNumber);
DisplayNumPara.DecimalNum = 0; // 小数点后位数
DisplayNumPara.MinDigits = 2; // 最小显示位数
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, ArrivalNumber);
}
}
///**
// * @brief 时间设置 一级菜单
// * @param[in] Clock_Hour 小时
// * @param[in] Clock_Min 分钟
// */
//void AMT630H_GUI_Clock_Information(uint8_t Clock_Hour, uint8_t Clock_Min)
//{
// if (Pic_mode == PIC_DAYTIME_CH)
// {
// SetPagePic(GRAPHICS_PAGE_0, Pic_0179_27_396);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0180_903_396);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0181_197_485);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0173_737_485);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0182_446_517);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0136_489_338);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0021_510_222);
// DISPLAY_NUM_ST DisplayNumPara;
// uint8_t ArrivalNumber;
// ArrivalNumber = Clock_Hour;
// DisplayNumPara.NumList = time_num; // 图片数组
// DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47; // 往左排 数字间距
// DisplayNumPara.x = 574; // 最右边数字的最左上角的横坐标
// DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
// DisplayNumPara.DecimalNum = 0; // 小数点后位数
// DisplayNumPara.MinDigits = 2; // 最小显示位数
// DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, ArrivalNumber);
// ArrivalNumber = Clock_Min;
// DisplayNumPara.NumList = time_num; // 图片数组
// DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47; // 往左排 数字间距
// DisplayNumPara.x = 457; // 最右边数字的最左上角的横坐标
// DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
// DisplayNumPara.DecimalNum = 0; // 小数点后位数
// DisplayNumPara.MinDigits = 2; // 最小显示位数
// DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, ArrivalNumber);
// }
//}
/**
* @brief 单位设置 一级菜单
* @param[in] null
*/
void AMT630H_GUI_Unit_Information(void)
{
/*日间中文*/
if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0175_27_396);
......@@ -683,8 +259,6 @@ void AMT630H_GUI_Unit_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0133_473_288);
SetPagePic(GRAPHICS_PAGE_0, Pic_0134_436_152);
}
/*夜间中文*/
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0362_27_396);
......@@ -695,40 +269,13 @@ void AMT630H_GUI_Unit_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0321_473_288);
SetPagePic(GRAPHICS_PAGE_0, Pic_0322_436_152);
}
/*日间英文*/
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0103_22_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0104_895_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0105_184_487);
SetPagePic(GRAPHICS_PAGE_0, Pic_0106_733_488);
SetPagePic(GRAPHICS_PAGE_0, Pic_0107_476_519);
SetPagePic(GRAPHICS_PAGE_0, Pic_0015_469_289);
SetPagePic(GRAPHICS_PAGE_0, Pic_0016_457_155);
}
/*夜间英文*/
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0291_22_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0292_895_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0293_184_487);
SetPagePic(GRAPHICS_PAGE_0, Pic_0294_733_488);
SetPagePic(GRAPHICS_PAGE_0, Pic_0295_476_519);
SetPagePic(GRAPHICS_PAGE_0, Pic_0204_469_289);
SetPagePic(GRAPHICS_PAGE_0, Pic_0205_457_155);
}
}
/**
* @brief 语言设置 一级菜单
* @param[in] null
*/
void AMT630H_GUI_Language_Information(void)
{
/*日间中文*/
if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0171_28_396);
......@@ -739,8 +286,6 @@ void AMT630H_GUI_Language_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0007_475_289);
SetPagePic(GRAPHICS_PAGE_0, Pic_0008_474_152);
}
/*夜间中文*/
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0358_28_396);
......@@ -751,41 +296,14 @@ void AMT630H_GUI_Language_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0199_475_289);
SetPagePic(GRAPHICS_PAGE_0, Pic_0200_474_152);
}
/*日间英文*/
else if (Pic_mode == PIC_DAYTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0098_14_398);
SetPagePic(GRAPHICS_PAGE_0, Pic_0099_895_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0100_218_487);
SetPagePic(GRAPHICS_PAGE_0, Pic_0101_728_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0102_441_521);
SetPagePic(GRAPHICS_PAGE_0, Pic_0007_475_289);
SetPagePic(GRAPHICS_PAGE_0, Pic_0008_474_152);
}
/*夜间英文*/
else if (Pic_mode == PIC_NIGHTTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0286_14_398);
SetPagePic(GRAPHICS_PAGE_0, Pic_0287_895_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0288_218_487);
SetPagePic(GRAPHICS_PAGE_0, Pic_0289_728_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0290_441_521);
SetPagePic(GRAPHICS_PAGE_0, Pic_0199_475_289);
SetPagePic(GRAPHICS_PAGE_0, Pic_0200_474_152);
}
}
/**
* @brief 手机互联 一级菜单
*
*/
void AMT630H_GUI_Phone_Connect(void)
{
/*日间中文*/
if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0158_27_396);
......@@ -795,8 +313,6 @@ void AMT630H_GUI_Phone_Connect(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0162_445_517);
SetPagePic(GRAPHICS_PAGE_0, Pic_0128_429_152);
}
/*夜间中文*/
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0345_27_396);
......@@ -806,38 +322,13 @@ void AMT630H_GUI_Phone_Connect(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0349_445_517);
SetPagePic(GRAPHICS_PAGE_0, Pic_0316_429_152);
}
/*日间英文*/
else if (Pic_mode == PIC_DAYTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0083_23_399);
SetPagePic(GRAPHICS_PAGE_0, Pic_0084_869_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0085_188_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0086_762_487);
SetPagePic(GRAPHICS_PAGE_0, Pic_0087_435_519);
SetPagePic(GRAPHICS_PAGE_0, Pic_0005_304_155);
}
/*夜间中文*/
else if (Pic_mode == PIC_NIGHTTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0269_23_399);
SetPagePic(GRAPHICS_PAGE_0, Pic_0270_869_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0271_188_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0272_762_487);
SetPagePic(GRAPHICS_PAGE_0, Pic_0273_435_519);
SetPagePic(GRAPHICS_PAGE_0, Pic_0195_304_155);
}
}
/**
* @brief 退出 一级菜单
* @param[in] null
*/
void AMT630H_GUI_Quit(void)
{
/*日间中文*/
if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0153_27_396);
......@@ -846,8 +337,6 @@ void AMT630H_GUI_Quit(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0156_737_485);
SetPagePic(GRAPHICS_PAGE_0, Pic_0157_461_517);
}
/*夜间中文*/
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0340_27_396);
......@@ -856,32 +345,8 @@ void AMT630H_GUI_Quit(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0343_737_485);
SetPagePic(GRAPHICS_PAGE_0, Pic_0344_461_517);
}
/*日间英文*/
else if (Pic_mode == PIC_DAYTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0078_18_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0079_895_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0080_188_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0081_714_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0082_481_519);
}
/*夜间英文*/
else if (Pic_mode == PIC_NIGHTTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0264_18_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0265_895_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0266_188_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0267_714_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0268_481_519);
}
}
/***********************************************二级菜单*******************************************/
static uint16_t time_num_day[] = {
Pic_0022_550_211,
Pic_0023_564_211,
......@@ -903,8 +368,7 @@ static uint16_t time_num_night[] = {
Pic_0216_551_211,
Pic_0217_549_211,
Pic_0218_550_211,
Pic_0219_551_211
};
Pic_0219_551_211};
/**
* @brief 时间设
置 二级菜单
......@@ -914,14 +378,11 @@ static uint16_t time_num_night[] = {
*/
static void AMT630H_GUI_Clock_Setting(uint8_t Clock_Hour, uint8_t Clock_Min, uint8_t Clock_BIT)
{
/*日间中文*/
if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0021_510_222);
SetPagePic(GRAPHICS_PAGE_0, Pic_0135_27_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0136_489_338);
switch (Clock_BIT)
{
case 1:
......@@ -943,30 +404,26 @@ static void AMT630H_GUI_Clock_Setting(uint8_t Clock_Hour, uint8_t Clock_Min, uin
break;
}
DISPLAY_NUM_ST DisplayNumPara ;
uint8_t Clock_HourNumber ;
uint8_t Clock_MinNumber ;
Clock_HourNumber = Clock_Hour ;
Clock_MinNumber = Clock_Min ;
DisplayNumPara.NumList = time_num_day ;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47 ;
DisplayNumPara.x = 455 ;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS ;
DisplayNumPara.DecimalNum = 0 ;
DisplayNumPara.MinDigits = 2 ;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_HourNumber ) ;
DISPLAY_NUM_ST DisplayNumPara;
uint8_t ArrivalNumber;
ArrivalNumber = Clock_Hour;
DisplayNumPara.NumList = time_num_day; // 图片数组
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47; // 往左排 数字间距
DisplayNumPara.x = 455; // 最右边数字的最左上角的横坐标
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0; // 小数点后位数
DisplayNumPara.MinDigits = 2; // 最小显示位数
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, ArrivalNumber);
DisplayNumPara.NumList = time_num_day ;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47 ;
DisplayNumPara.x = 572 ;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS ;
DisplayNumPara.DecimalNum = 0 ;
DisplayNumPara.MinDigits = 2 ;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_MinNumber ) ;
ArrivalNumber = Clock_Min;
DisplayNumPara.NumList = time_num_day; // 图片数组
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47; // 往左排 数字间距
DisplayNumPara.x = 572; // 最右边数字的最左上角的横坐标
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0; // 小数点后位数
DisplayNumPara.MinDigits = 2; // 最小显示位数
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, ArrivalNumber);
}
/*夜间中文*/
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0323_27_396);
......@@ -992,288 +449,99 @@ static void AMT630H_GUI_Clock_Setting(uint8_t Clock_Hour, uint8_t Clock_Min, uin
default:
break;
}
/*数据处理*/
DISPLAY_NUM_ST DisplayNumPara;
uint8_t Clock_HourNumber ;
uint8_t Clock_MinNumber ;
Clock_HourNumber = Clock_Hour;
Clock_MinNumber = Clock_Min;
DisplayNumPara.NumList = time_num_night;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47;
DisplayNumPara.x = 455;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_HourNumber ) ;
DisplayNumPara.NumList = time_num_night;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47;
DisplayNumPara.x = 572;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_MinNumber);
}
/*日间英文*/
else if (Pic_mode == PIC_DAYTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0017_19_397 ) ;
SetPagePic(GRAPHICS_PAGE_0, Pic_0019_478_341 );
SetPagePic(GRAPHICS_PAGE_0, Pic_0021_510_222 ) ;
/*光标*/
switch (Clock_BIT)
{
case 1:
SetPagePic(GRAPHICS_PAGE_0, Pic_0020_408_209); // 小时第一位
break;
case 2:
SetPagePic(GRAPHICS_PAGE_0, Pic_0020_455_209); // 小时第二位
break;
case 3:
SetPagePic(GRAPHICS_PAGE_0, Pic_0020_525_209); // 分钟第一位
break;
case 4:
SetPagePic(GRAPHICS_PAGE_0, Pic_0020_572_209); // 分钟第二位
break;
case 5:
SetPagePic(GRAPHICS_PAGE_0, Pic_0018_441_335); // 返回
break;
default:
break;
}
/*数据处理*/
DISPLAY_NUM_ST DisplayNumPara;
uint8_t Clock_HourNumber ;
uint8_t Clock_MinNumber ;
Clock_HourNumber = Clock_Hour;
Clock_MinNumber = Clock_Min ;
DisplayNumPara.NumList = time_num_day;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47;
DisplayNumPara.x = 457;
uint8_t ArrivalNumber;
ArrivalNumber = Clock_Hour;
DisplayNumPara.NumList = time_num_night; // 图片数组
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47; // 往左排 数字间距
DisplayNumPara.x = 455; // 最右边数字的最左上角的横坐标
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_HourNumber) ;
DisplayNumPara.NumList = time_num_day ;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47 ;
DisplayNumPara.x = 574 ;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS ;
DisplayNumPara.DecimalNum = 0 ;
DisplayNumPara.MinDigits = 2 ;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_MinNumber ) ;
}
/*夜间英文*/
else if (Pic_mode == PIC_NIGHTTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0206_19_397 ) ;
SetPagePic(GRAPHICS_PAGE_0, Pic_0208_478_341 ) ;
SetPagePic(GRAPHICS_PAGE_0, Pic_0209_510_222 ) ;
/*光标*/
switch (Clock_BIT)
{
case 1:
SetPagePic(GRAPHICS_PAGE_0, Pic_0020_408_209); // 小时第一位
break;
case 2:
SetPagePic(GRAPHICS_PAGE_0, Pic_0020_455_209); // 小时第二位
break;
case 3:
SetPagePic(GRAPHICS_PAGE_0, Pic_0020_525_209); // 分钟第一位
break;
case 4:
SetPagePic(GRAPHICS_PAGE_0, Pic_0020_572_209); // 分钟第二位
break;
case 5:
SetPagePic(GRAPHICS_PAGE_0, Pic_0207_437_316); // 返回
break;
default:
break;
}
/*数据处理*/
DISPLAY_NUM_ST DisplayNumPara;
uint8_t Clock_HourNumber ;
uint8_t Clock_MinNumber ;
Clock_HourNumber = Clock_Hour;
Clock_MinNumber = Clock_Min ;
DisplayNumPara.DecimalNum = 0; // 小数点后位数
DisplayNumPara.MinDigits = 2; // 最小显示位数
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, ArrivalNumber);
DisplayNumPara.NumList = time_num_night;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47;
DisplayNumPara.x = 457;
ArrivalNumber = Clock_Min;
DisplayNumPara.NumList = time_num_night; // 图片数组
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47; // 往左排 数字间距
DisplayNumPara.x = 572; // 最右边数字的最左上角的横坐标
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_HourNumber) ;
DisplayNumPara.NumList = time_num_night ;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 47 ;
DisplayNumPara.x = 574 ;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS ;
DisplayNumPara.DecimalNum = 0 ;
DisplayNumPara.MinDigits = 2 ;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Clock_MinNumber ) ;
}
}
/**
* @brief 显示模式设置 二级菜单
* @param[in] back_mode 显示模式 0为日间 1为夜间 2为自动
*/
void AMT630H_GUI_Display_Mode_Setting(uint8_t Display_mode) /*图 显示模式*/
{
/*日间中文*/
if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0146_27_396);
switch (Display_mode)
{
case 0:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_90);
SetPagePic(GRAPHICS_PAGE_0, Pic_0147_476_359);
SetPagePic(GRAPHICS_PAGE_0, Pic_0148_472_256);
SetPagePic(GRAPHICS_PAGE_0, Pic_0149_448_101);
break;
case 1:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_221);
SetPagePic(GRAPHICS_PAGE_0, Pic_0147_476_359);
SetPagePic(GRAPHICS_PAGE_0, Pic_0152_434_232);
SetPagePic(GRAPHICS_PAGE_0, Pic_0151_476_117);
break;
case 2:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_332);
SetPagePic(GRAPHICS_PAGE_0, Pic_0150_448_343);
SetPagePic(GRAPHICS_PAGE_0, Pic_0148_472_231);
SetPagePic(GRAPHICS_PAGE_0, Pic_0151_476_117);
break;
default:
break;
}
}
/*夜间中文*/
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0333_27_396);
switch (Display_mode)
{
case 0:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_90);
SetPagePic(GRAPHICS_PAGE_0, Pic_0334_476_359);
SetPagePic(GRAPHICS_PAGE_0, Pic_0335_472_256);
SetPagePic(GRAPHICS_PAGE_0, Pic_0336_448_101);
break;
case 1:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_221);
SetPagePic(GRAPHICS_PAGE_0, Pic_0334_476_359);
SetPagePic(GRAPHICS_PAGE_0, Pic_0339_434_232);
SetPagePic(GRAPHICS_PAGE_0, Pic_0338_476_117);
break;
case 2:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_332);
SetPagePic(GRAPHICS_PAGE_0, Pic_0337_448_343);
SetPagePic(GRAPHICS_PAGE_0, Pic_0335_472_231);
SetPagePic(GRAPHICS_PAGE_0, Pic_0338_476_117);
break;
default:
break;
}
}
/*日间英文*/
else if (Pic_mode == PIC_DAYTIME_EN)
DisplayNumPara.DecimalNum = 0; // 小数点后位数
DisplayNumPara.MinDigits = 2; // 最小显示位数
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, ArrivalNumber);
}
}
/**
* @brief 显示模式设置 二级菜单
* @param[in] back_mode 显示模式 0为日间 1为夜间 2为自动
*/
void AMT630H_GUI_Display_Mode_Setting(uint8_t Display_mode) /*图 显示模式*/
{
if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0071_18_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0146_27_396);
switch (Display_mode)
{
case 0:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_90);
SetPagePic(GRAPHICS_PAGE_0, Pic_0072_454_360);
SetPagePic(GRAPHICS_PAGE_0, Pic_0073_456_257);
SetPagePic(GRAPHICS_PAGE_0, Pic_0074_422_103);
SetPagePic(GRAPHICS_PAGE_0, Pic_0147_476_359);
SetPagePic(GRAPHICS_PAGE_0, Pic_0148_472_256);
SetPagePic(GRAPHICS_PAGE_0, Pic_0149_448_101);
break;
case 1:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_221);
SetPagePic(GRAPHICS_PAGE_0, Pic_0072_454_360);
SetPagePic(GRAPHICS_PAGE_0, Pic_0077_414_234);
SetPagePic(GRAPHICS_PAGE_0, Pic_0076_461_118);
SetPagePic(GRAPHICS_PAGE_0, Pic_0147_476_359);
SetPagePic(GRAPHICS_PAGE_0, Pic_0152_434_232);
SetPagePic(GRAPHICS_PAGE_0, Pic_0151_476_117);
break;
case 2:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_332);
SetPagePic(GRAPHICS_PAGE_0, Pic_0075_409_345);
SetPagePic(GRAPHICS_PAGE_0, Pic_0073_456_232);
SetPagePic(GRAPHICS_PAGE_0, Pic_0076_461_118);
SetPagePic(GRAPHICS_PAGE_0, Pic_0150_448_343);
SetPagePic(GRAPHICS_PAGE_0, Pic_0148_472_231);
SetPagePic(GRAPHICS_PAGE_0, Pic_0151_476_117);
break;
default:
break;
}
}
/*夜间英文*/
else if (Pic_mode == PIC_NIGHTTIME_EN)
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0257_18_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0333_27_396);
switch (Display_mode)
{
case 0:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_90);
SetPagePic(GRAPHICS_PAGE_0, Pic_0258_454_360);
SetPagePic(GRAPHICS_PAGE_0, Pic_0259_456_257);
SetPagePic(GRAPHICS_PAGE_0, Pic_0260_422_103);
SetPagePic(GRAPHICS_PAGE_0, Pic_0334_476_359);
SetPagePic(GRAPHICS_PAGE_0, Pic_0335_472_256);
SetPagePic(GRAPHICS_PAGE_0, Pic_0336_448_101);
break;
case 1:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_221);
SetPagePic(GRAPHICS_PAGE_0, Pic_0258_454_360);
SetPagePic(GRAPHICS_PAGE_0, Pic_0263_414_234);
SetPagePic(GRAPHICS_PAGE_0, Pic_0262_461_118);
SetPagePic(GRAPHICS_PAGE_0, Pic_0334_476_359);
SetPagePic(GRAPHICS_PAGE_0, Pic_0339_434_232);
SetPagePic(GRAPHICS_PAGE_0, Pic_0338_476_117);
break;
case 2:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_332);
SetPagePic(GRAPHICS_PAGE_0, Pic_0261_409_345);
SetPagePic(GRAPHICS_PAGE_0, Pic_0259_456_232);
SetPagePic(GRAPHICS_PAGE_0, Pic_0262_461_118);
SetPagePic(GRAPHICS_PAGE_0, Pic_0337_448_343);
SetPagePic(GRAPHICS_PAGE_0, Pic_0335_472_231);
SetPagePic(GRAPHICS_PAGE_0, Pic_0338_476_117);
break;
default:
break;
}
}
}
/**
* @brief 背光设置 二级菜单
* @param[in] back_mode 背光模式 0为自动
*/
void AMT630H_GUI_Backlight_Setting(uint8_t back_mode) /*图 背光*/
{
/*case 0 自动*/
/*case 1 选中1*/
/*case 2 选中2*/
/*case 3 选中3*/
/*case 4 选中4*/
/*case 5 选中5*/
/*日间中文*/
if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0144_37_396);
......@@ -1332,7 +600,6 @@ void AMT630H_GUI_Backlight_Setting(uint8_t back_mode) /*图 背光*/
break;
}
}
/*夜间中文*/
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0331_37_396);
......@@ -1391,130 +658,7 @@ void AMT630H_GUI_Backlight_Setting(uint8_t back_mode) /*图 背光*/
break;
}
}
/*日间英文*/
else if (Pic_mode == PIC_DAYTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0057_52_398 );/*下方菜单*/
switch (back_mode)
{
case 0:
SetPagePic(GRAPHICS_PAGE_0, Pic_0058_360_332);
SetPagePic(GRAPHICS_PAGE_0, Pic_0070_466_342);
SetPagePic(GRAPHICS_PAGE_0, Pic_0059_509_286);
SetPagePic(GRAPHICS_PAGE_0, Pic_0060_504_236);
SetPagePic(GRAPHICS_PAGE_0, Pic_0068_505_186);
SetPagePic(GRAPHICS_PAGE_0, Pic_0062_503_136);
break;
case 1:
SetPagePic(GRAPHICS_PAGE_0, Pic_0058_360_325);
SetPagePic(GRAPHICS_PAGE_0, Pic_0069_506_332);
SetPagePic(GRAPHICS_PAGE_0, Pic_0060_504_286);
SetPagePic(GRAPHICS_PAGE_0, Pic_0068_505_236);
SetPagePic(GRAPHICS_PAGE_0, Pic_0062_503_186);
SetPagePic(GRAPHICS_PAGE_0, Pic_0065_504_136);
break;
case 2:
SetPagePic(GRAPHICS_PAGE_0, Pic_0058_360_274);
SetPagePic(GRAPHICS_PAGE_0, Pic_0059_509_353);
SetPagePic(GRAPHICS_PAGE_0, Pic_0067_495_281);
SetPagePic(GRAPHICS_PAGE_0, Pic_0068_505_236);
SetPagePic(GRAPHICS_PAGE_0, Pic_0062_503_186);
SetPagePic(GRAPHICS_PAGE_0, Pic_0065_504_136);
break;
case 3:
SetPagePic(GRAPHICS_PAGE_0, Pic_0058_360_229);
SetPagePic(GRAPHICS_PAGE_0, Pic_0059_509_353);
SetPagePic(GRAPHICS_PAGE_0, Pic_0060_504_307);
SetPagePic(GRAPHICS_PAGE_0, Pic_0066_496_236);
SetPagePic(GRAPHICS_PAGE_0, Pic_0062_503_186);
SetPagePic(GRAPHICS_PAGE_0, Pic_0065_504_136);
break;
case 4:
SetPagePic(GRAPHICS_PAGE_0, Pic_0058_360_183);
SetPagePic(GRAPHICS_PAGE_0, Pic_0059_509_353);
SetPagePic(GRAPHICS_PAGE_0, Pic_0060_504_307);
SetPagePic(GRAPHICS_PAGE_0, Pic_0061_505_264);
SetPagePic(GRAPHICS_PAGE_0, Pic_0064_493_190);
SetPagePic(GRAPHICS_PAGE_0, Pic_0065_504_136);
break;
case 5:
SetPagePic(GRAPHICS_PAGE_0, Pic_0058_360_138);
SetPagePic(GRAPHICS_PAGE_0, Pic_0059_509_353);
SetPagePic(GRAPHICS_PAGE_0, Pic_0060_504_307);
SetPagePic(GRAPHICS_PAGE_0, Pic_0061_505_264);
SetPagePic(GRAPHICS_PAGE_0, Pic_0062_503_219);
SetPagePic(GRAPHICS_PAGE_0, Pic_0063_495_145);
break;
default:
break;
}
}
/*夜间英文*/
else if (Pic_mode == PIC_NIGHTTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0243_52_398 );
switch (back_mode)
{
case 0:
SetPagePic(GRAPHICS_PAGE_0, Pic_0244_360_297);
SetPagePic(GRAPHICS_PAGE_0, Pic_0256_466_342);
SetPagePic(GRAPHICS_PAGE_0, Pic_0245_509_286);
SetPagePic(GRAPHICS_PAGE_0, Pic_0246_504_236);
SetPagePic(GRAPHICS_PAGE_0, Pic_0254_505_186);
SetPagePic(GRAPHICS_PAGE_0, Pic_0248_503_136);
break;
case 1:
SetPagePic(GRAPHICS_PAGE_0, Pic_0244_360_290);
SetPagePic(GRAPHICS_PAGE_0, Pic_0255_506_332);
SetPagePic(GRAPHICS_PAGE_0, Pic_0246_504_286);
SetPagePic(GRAPHICS_PAGE_0, Pic_0254_505_236);
SetPagePic(GRAPHICS_PAGE_0, Pic_0248_503_186);
SetPagePic(GRAPHICS_PAGE_0, Pic_0251_504_136);
break;
case 2:
SetPagePic(GRAPHICS_PAGE_0, Pic_0244_360_239);
SetPagePic(GRAPHICS_PAGE_0, Pic_0245_509_353);
SetPagePic(GRAPHICS_PAGE_0, Pic_0253_495_281);
SetPagePic(GRAPHICS_PAGE_0, Pic_0254_505_236);
SetPagePic(GRAPHICS_PAGE_0, Pic_0248_503_186);
SetPagePic(GRAPHICS_PAGE_0, Pic_0251_504_136);
break;
case 3:
SetPagePic(GRAPHICS_PAGE_0, Pic_0244_360_194);
SetPagePic(GRAPHICS_PAGE_0, Pic_0245_509_353);
SetPagePic(GRAPHICS_PAGE_0, Pic_0246_504_307);
SetPagePic(GRAPHICS_PAGE_0, Pic_0252_496_236);
SetPagePic(GRAPHICS_PAGE_0, Pic_0248_503_186);
SetPagePic(GRAPHICS_PAGE_0, Pic_0251_504_136);
break;
case 4:
SetPagePic(GRAPHICS_PAGE_0, Pic_0244_360_148);
SetPagePic(GRAPHICS_PAGE_0, Pic_0245_509_353);
SetPagePic(GRAPHICS_PAGE_0, Pic_0246_504_307);
SetPagePic(GRAPHICS_PAGE_0, Pic_0247_505_264);
SetPagePic(GRAPHICS_PAGE_0, Pic_0250_493_190);
SetPagePic(GRAPHICS_PAGE_0, Pic_0251_504_136);
break;
case 5:
SetPagePic(GRAPHICS_PAGE_0, Pic_0244_360_103);
SetPagePic(GRAPHICS_PAGE_0, Pic_0245_509_353);
SetPagePic(GRAPHICS_PAGE_0, Pic_0246_504_307);
SetPagePic(GRAPHICS_PAGE_0, Pic_0247_505_264);
SetPagePic(GRAPHICS_PAGE_0, Pic_0248_503_219);
SetPagePic(GRAPHICS_PAGE_0, Pic_0249_495_145);
break;
default:
break;
}
}
}
static uint16_t Bluetooth_Connect_num_day[] = {
Pic_0040_605_289,
Pic_0041_606_290,
......@@ -1546,11 +690,8 @@ static uint16_t Bluetooth_Connect_num_night[] = {
*/
void AMT630H_GUI_Bluetooth_Connect_Setting(uint8_t select, uint8_t sync_contacts, uint8_t Connect_ON)
{
/*日间中文*/
if (Pic_mode == PIC_DAYTIME_CH)
{
/*光标位置*/
switch (select)
{
case 0:
......@@ -1565,16 +706,12 @@ void AMT630H_GUI_Bluetooth_Connect_Setting(uint8_t select, uint8_t sync_contacts
default:
break;
}
SetPagePic(GRAPHICS_PAGE_0, Pic_0137_26_396);/*下方菜单*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0136_489_345);/*返回*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0139_369_287);/*同步联系人*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0142_367_226);/*蓝牙连接*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0055_570_165);/*HI3EA0*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0143_367_163);/*蓝牙名称*/
/*蓝牙开或关选择*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0137_26_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0136_489_345);
SetPagePic(GRAPHICS_PAGE_0, Pic_0139_369_287);
SetPagePic(GRAPHICS_PAGE_0, Pic_0142_367_226);
SetPagePic(GRAPHICS_PAGE_0, Pic_0055_570_165);
SetPagePic(GRAPHICS_PAGE_0, Pic_0143_367_163);
if (Connect_ON == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0140_584_226);
......@@ -1583,157 +720,36 @@ void AMT630H_GUI_Bluetooth_Connect_Setting(uint8_t select, uint8_t sync_contacts
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0141_584_226);
}
/*同步联系人*/
DISPLAY_NUM_ST DisplayNumPara;
uint8_t sync_contactsNumber;
sync_contactsNumber = sync_contacts;
if (sync_contacts < 10)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0038_590_287);
DisplayNumPara.NumList = Bluetooth_Connect_num_day;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 604;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 1;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0039_583_287);
DisplayNumPara.NumList = Bluetooth_Connect_num_day;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 612;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
}
}
/*夜间中文*/
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
switch (select)
{
case 0:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_205);
break;
case 1:
SetPagePic(GRAPHICS_PAGE_0, Pic_0036_336_266);
break;
case 2:
SetPagePic(GRAPHICS_PAGE_0, Pic_0035_336_324);
break;
default:
break;
}
SetPagePic(GRAPHICS_PAGE_0, Pic_0325_26_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0324_489_345);
SetPagePic(GRAPHICS_PAGE_0, Pic_0326_369_287);
SetPagePic(GRAPHICS_PAGE_0, Pic_0329_367_226);
SetPagePic(GRAPHICS_PAGE_0, Pic_0241_570_165);
SetPagePic(GRAPHICS_PAGE_0, Pic_0330_367_163);
if (Connect_ON == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0328_584_226);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0327_584_226);
}
/*蓝牙联系人选择*/
DISPLAY_NUM_ST DisplayNumPara;
uint8_t sync_contactsNumber;
sync_contactsNumber = sync_contacts;
if (sync_contacts < 10)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0038_590_287);
DisplayNumPara.NumList = Bluetooth_Connect_num_night;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 604;
uint8_t ArrivalNumber;
ArrivalNumber = sync_contacts;
DisplayNumPara.NumList = Bluetooth_Connect_num_day; // 图片数组
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14; // 往左排 数字间距
DisplayNumPara.x = 604; // 最右边数字的最左上角的横坐标
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 1;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
DisplayNumPara.DecimalNum = 0; // 小数点后位数
DisplayNumPara.MinDigits = 1; // 最小显示位数
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, ArrivalNumber);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0039_583_287);
DisplayNumPara.NumList = Bluetooth_Connect_num_night;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 612;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
}
}
/*日间英文*/
else if (Pic_mode == PIC_DAYTIME_EN)
{
switch (select)
{
case 0:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_205);
break;
case 1:
SetPagePic(GRAPHICS_PAGE_0, Pic_0036_336_266);
break;
case 2:
SetPagePic(GRAPHICS_PAGE_0, Pic_0035_336_324);
break;
default:
break;
}
SetPagePic(GRAPHICS_PAGE_0, Pic_0034_14_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0019_478_348);
SetPagePic(GRAPHICS_PAGE_0, Pic_0037_376_289);
SetPagePic(GRAPHICS_PAGE_0, Pic_0054_377_227);
SetPagePic(GRAPHICS_PAGE_0, Pic_0055_570_165);
SetPagePic(GRAPHICS_PAGE_0, Pic_0056_377_166);
if (Connect_ON == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0052_574_226);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0053_573_226);
}
DISPLAY_NUM_ST DisplayNumPara;
uint8_t sync_contactsNumber;
sync_contactsNumber = sync_contacts;
if (sync_contacts < 10)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0038_590_287);
DisplayNumPara.NumList = Bluetooth_Connect_num_day;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 604;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 1;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0039_583_287);
DisplayNumPara.NumList = Bluetooth_Connect_num_day;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 612;
uint8_t ArrivalNumber;
ArrivalNumber = sync_contacts;
DisplayNumPara.NumList = Bluetooth_Connect_num_day; // 图片数组
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14; // 往左排 数字间距
DisplayNumPara.x = 612; // 最右边数字的最左上角的横坐标
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
DisplayNumPara.DecimalNum = 0; // 小数点后位数
DisplayNumPara.MinDigits = 2; // 最小显示位数
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, ArrivalNumber);
}
}
/*夜间英文*/
else if (Pic_mode == PIC_NIGHTTIME_EN)
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
switch (select)
{
......@@ -1749,56 +765,50 @@ void AMT630H_GUI_Bluetooth_Connect_Setting(uint8_t select, uint8_t sync_contacts
default:
break;
}
SetPagePic(GRAPHICS_PAGE_0, Pic_0222_14_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0208_478_348);
SetPagePic(GRAPHICS_PAGE_0, Pic_0237_376_289);
SetPagePic(GRAPHICS_PAGE_0, Pic_0240_377_227);
SetPagePic(GRAPHICS_PAGE_0, Pic_0325_26_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0324_489_345);
SetPagePic(GRAPHICS_PAGE_0, Pic_0326_369_287);
SetPagePic(GRAPHICS_PAGE_0, Pic_0329_367_226);
SetPagePic(GRAPHICS_PAGE_0, Pic_0241_570_165);
SetPagePic(GRAPHICS_PAGE_0, Pic_0242_377_166);
SetPagePic(GRAPHICS_PAGE_0, Pic_0330_367_163);
if (Connect_ON == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0238_574_226);
SetPagePic(GRAPHICS_PAGE_0, Pic_0328_584_226);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0239_573_226);
SetPagePic(GRAPHICS_PAGE_0, Pic_0327_584_226);
}
/*蓝牙联系人选择*/
DISPLAY_NUM_ST DisplayNumPara;
uint8_t sync_contactsNumber;
sync_contactsNumber = sync_contacts;
if (sync_contacts < 10)
{
SetPagePic(GRAPHICS_PAGE_0,Pic_0223_590_287);
DisplayNumPara.NumList = Bluetooth_Connect_num_night;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 604;
SetPagePic(GRAPHICS_PAGE_0, Pic_0038_590_287);
DISPLAY_NUM_ST DisplayNumPara;
uint8_t ArrivalNumber;
ArrivalNumber = sync_contacts;
DisplayNumPara.NumList = Bluetooth_Connect_num_night; // 图片数组
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14; // 往左排 数字间距
DisplayNumPara.x = 604; // 最右边数字的最左上角的横坐标
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 1;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
DisplayNumPara.DecimalNum = 0; // 小数点后位数
DisplayNumPara.MinDigits = 1; // 最小显示位数
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, ArrivalNumber);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0224_583_287);
SetPagePic(GRAPHICS_PAGE_0, Pic_0039_583_287);
DISPLAY_NUM_ST DisplayNumPara;
uint8_t ArrivalNumber;
ArrivalNumber = sync_contacts;
DisplayNumPara.NumList = Bluetooth_Connect_num_night;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.x = 612;
DisplayNumPara.NumList = Bluetooth_Connect_num_night; // 图片数组
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14; // 往左排 数字间距
DisplayNumPara.x = 612; // 最右边数字的最左上角的横坐标
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, sync_contactsNumber);
DisplayNumPara.DecimalNum = 0; // 小数点后位数
DisplayNumPara.MinDigits = 2; // 最小显示位数
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, ArrivalNumber);
}
}
}
/**
* @brief 单位设置 二级菜单
* @param[in] select 0为公制 1为英制
......@@ -1806,7 +816,6 @@ void AMT630H_GUI_Bluetooth_Connect_Setting(uint8_t select, uint8_t sync_contacts
void AMT630H_GUI_Unit_Setting(uint8_t select) /*图 单位设置*/
{
/*日间中文*/
if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0130_27_396);
......@@ -1826,8 +835,6 @@ void AMT630H_GUI_Unit_Setting(uint8_t select) /*图 单位设置*/
break;
}
}
/*夜间中文*/
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0318_27_396);
......@@ -1847,60 +854,13 @@ void AMT630H_GUI_Unit_Setting(uint8_t select) /*图 单位设置*/
break;
}
}
/*日间英文*/
else if (Pic_mode == PIC_DAYTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0012_22_397);
switch (select)
{
case 0:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_141);
SetPagePic(GRAPHICS_PAGE_0, Pic_0015_469_289);
SetPagePic(GRAPHICS_PAGE_0, Pic_0016_457_155);
break;
case 1:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_261);
SetPagePic(GRAPHICS_PAGE_0, Pic_0013_437_274);
SetPagePic(GRAPHICS_PAGE_0, Pic_0014_481_170);
break;
default:
break;
}
}
/*夜间英文*/
else if (Pic_mode == PIC_NIGHTTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0201_22_397);
switch (select)
{
case 0:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_141);
SetPagePic(GRAPHICS_PAGE_0, Pic_0204_469_289);
SetPagePic(GRAPHICS_PAGE_0, Pic_0205_457_155);
break;
case 1:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_261);
SetPagePic(GRAPHICS_PAGE_0, Pic_0202_437_274);
SetPagePic(GRAPHICS_PAGE_0, Pic_0203_481_170);
break;
default:
break;
}
}
}
/**
* @brief 语言设置 二级菜单
* @param[in] select 0为中文 1为英文
*/
void AMT630H_GUI_Language_Setting(uint8_t select) /*图 语言设置*/
{
/*日间中文*/
if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0129_28_396);
......@@ -1920,8 +880,6 @@ void AMT630H_GUI_Language_Setting(uint8_t select) /*图 语言设置*/
break;
}
}
/*夜间中文*/
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0317_28_396);
......@@ -1941,52 +899,40 @@ void AMT630H_GUI_Language_Setting(uint8_t select) /*图 语言设置*/
break;
}
}
}
/*日间英文*/
else if (Pic_mode == PIC_DAYTIME_EN)
/**
* @brief 菜单背景
*
*/
void AMT630H_GUI_BACKGRAND(void)
{
if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0006_14_397);
switch (select)
SetPagePic(GRAPHICS_PAGE_0, Pic_0382_0_0);
SetPagePic(GRAPHICS_PAGE_0, Pic_0002_0_0);
SetPagePic(GRAPHICS_PAGE_0, Pic_0380_396_528);
SetPagePic(GRAPHICS_PAGE_0, Pic_0381_615_528);
}
else if (Pic_mode == PIC_NIGHTTIME_CH)
{
case 0:
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_140);
SetPagePic(GRAPHICS_PAGE_0, Pic_0007_475_289);
SetPagePic(GRAPHICS_PAGE_0, Pic_0008_474_152);
break;
case 1:
SetPagePic(GRAPHICS_PAGE_0, Pic_0009_321_261);
SetPagePic(GRAPHICS_PAGE_0, Pic_0010_448_274);
SetPagePic(GRAPHICS_PAGE_0, Pic_0011_490_168);
break;
default:
break;
SetPagePic(GRAPHICS_PAGE_0, Pic_0193_0_0);
SetPagePic(GRAPHICS_PAGE_0, Pic_0380_396_528);
SetPagePic(GRAPHICS_PAGE_0, Pic_0381_615_528);
}
else if (Pic_mode == PIC_DAYTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0193_0_0);
SetPagePic(GRAPHICS_PAGE_0, Pic_0315_27_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_140);
}
/*夜间英文*/
else if (Pic_mode == PIC_NIGHTTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0196_14_397);
switch (select)
{
case 0:
SetPagePic(GRAPHICS_PAGE_0, Pic_0193_0_0);
SetPagePic(GRAPHICS_PAGE_0, Pic_0194_23_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_140);
SetPagePic(GRAPHICS_PAGE_0, Pic_0199_475_289);
SetPagePic(GRAPHICS_PAGE_0, Pic_0200_474_152);
break;
case 1:
SetPagePic(GRAPHICS_PAGE_0, Pic_0009_321_261);
SetPagePic(GRAPHICS_PAGE_0, Pic_0197_448_274);
SetPagePic(GRAPHICS_PAGE_0, Pic_0198_490_168);
break;
default:
break;
}
}
}
/**
* @brief 手机互联成功 二级菜单
* @param[in] NULL
......@@ -2007,451 +953,18 @@ void AMT630H_GUI_Phone_Connect_Win(void)
}
else if (Pic_mode == PIC_DAYTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0003_23_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_140);
SetPagePic(GRAPHICS_PAGE_0, Pic_0005_304_155);
}
else if (Pic_mode == PIC_NIGHTTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0194_23_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_140);
SetPagePic(GRAPHICS_PAGE_0, Pic_0195_304_155);
}
}
/**************************************日间模式的主界面************************************/
static const uint16_t NumbeList_TIME[]={
Pic_0523_950_491,
Pic_0524_957_491,
Pic_0525_951_491,
Pic_0526_952_491,
Pic_0527_950_491,
Pic_0528_951_491,
Pic_0529_951_491,
Pic_0530_950_491,
Pic_0531_951_491,
Pic_0532_951_491,
Pic_0533_959_511,
Pic_0534_953_501,
};
static const uint16_t NumbeList_Telephone[]={
Pic_0536_54_499,
Pic_0537_55_499,
Pic_0538_54_499,
Pic_0539_54_499,
Pic_0540_54_499,
Pic_0541_54_499,
Pic_0542_55_499,
Pic_0543_54_499,
Pic_0544_54_499,
Pic_0545_54_499,
Pic_0546_58_514,
Pic_0547_57_510,
};
static const uint16_t NumbeList_Voltage[]={
Pic_0565_943_451,
Pic_0567_948_451,
Pic_0568_944_451,
Pic_0569_944_451,
Pic_0570_943_451,
Pic_0571_943_451,
Pic_0572_944_451,
Pic_0573_943_451,
Pic_0574_943_451,
Pic_0575_944_451,
Pic_0566_949_465,
Pic_0576_945_458,
};
static const uint16_t NumbeList_ODO[]={
Pic_0579_53_328,
Pic_0581_61_327,
Pic_0582_54_327,
Pic_0583_54_327,
Pic_0584_52_327,
Pic_0585_54_327,
Pic_0586_54_327,
Pic_0587_53_327,
Pic_0588_53_327,
Pic_0589_54_327,
Pic_0590_62_349,
Pic_0591_56_338,
};
static const uint16_t NumbeList_VSpeed[]={
Pic_0594_456_256,
Pic_0595_492_255,
Pic_0596_458_255,
Pic_0597_461_255,
Pic_0598_451_255,
Pic_0599_458_255,
Pic_0600_459_255,
Pic_0601_454_255,
Pic_0602_456_255,
Pic_0603_459_255,
Pic_0604_500_361,
Pic_0605_470_308,
};
static const uint16_t NumbeList_ESpeed[]={
Pic_0619_94_123,
Pic_0618_140_111,
Pic_0617_193_110,
Pic_0616_291_128,
Pic_0615_381_149,
Pic_0614_446_149,
Pic_0613_511_149,
Pic_0612_569_149,
Pic_0611_623_119,
Pic_0610_677_110,
Pic_0609_731_111,
Pic_0608_782_125,
};
static const uint16_t PICList_Fuel[]={
Pic_0562_315_473,
Pic_0555_366_473,
Pic_0556_426_473,
Pic_0557_469_473,
Pic_0558_514_473,
Pic_0559_550_473,
Pic_0560_586_473,
Pic_0561_623_473,
};
/*时间显示函数*/
static void AMT630H_GUI_TIME(uint16_t Hour,uint16_t Minute)
{
/*外部接收小时和分钟*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0522_916_503);
DISPLAY_NUM_ST DisplayNumPara;
uint16_t HourNumber;
uint16_t MinuteNumber;
HourNumber=Hour;
MinuteNumber=Minute;
/*小时显示*/
DisplayNumPara.NumList = NumbeList_TIME;
DisplayNumPara.x = 891;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT |23;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara,HourNumber);
/*分钟显示*/
DisplayNumPara.NumList = NumbeList_TIME;
DisplayNumPara.x = 950;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT |23;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara,MinuteNumber);
}
/*手机号显示函数*/
// uint16_t Telephone[] = {1,2,3,4,5,6,7,8,9,1,1};
// static void AMT630H_GUI_Telephone(uint16_t Telephone[])
// {
// DISPLAY_NUM_ST DisplayNumPara;
// SetPagePic(GRAPHICS_PAGE_0, Pic_0548_62_401); /*电话图标*/
// /*预留来电人显示*/
// for(int i=0;i<11;i++)
// {
// DisplayNumPara.NumList = NumbeList_Telephone;
// DisplayNumPara.x = XList_Telephone[i];
// DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT |0;
// DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
// DisplayNumPara.DecimalNum = 0;
// DisplayNumPara.MinDigits = 1;
// DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara,Telephone[i]);
// }
// }
/*燃油显示函数*/
uint16_t Pre_FuelLevel=1;
static void AMT630H_GUI_Fuel(uint16_t Fuel)
{
/*外部传参燃油处于第几格*/
/*R>83且处于非开路状态时 黄色燃油灯闪烁*/
/*R开路状态时 黄色燃油灯闪烁*/
/*以上两种情况黄色燃油灯闪烁的频率不同*/
uint16_t FuelLevel ;
FuelLevel = Fuel ;
SetPagePic( GRAPHICS_PAGE_0 , Pic_0553_315_473 ) ;/*燃油格数*/
SetPagePic( GRAPHICS_PAGE_0 , Pic_0549_299_533 ) ;/*E*/
SetPagePic( GRAPHICS_PAGE_0 , Pic_0550_715_533 ) ;/*F*/
if(FuelLevel==0)
{
SetPagePic( GRAPHICS_PAGE_0 , Pic_0552_503_529 ) ;/*黑色燃油灯*/
}
else
{
SetPagePic( GRAPHICS_PAGE_0 , Pic_0551_503_529 ) ;/*黄色燃油灯*/
}
/*燃油格数走格*/
if(FuelLevel!=Pre_FuelLevel)
{
if(FuelLevel>Pre_FuelLevel)
{
Pre_FuelLevel++;
}
else if((FuelLevel<Pre_FuelLevel)&&(Pre_FuelLevel!=0))
{
Pre_FuelLevel--;
}
else if(FuelLevel==Pre_FuelLevel)
{
}
}
else if(FuelLevel==Pre_FuelLevel)
{
}
SetPagePic( GRAPHICS_PAGE_0 , PICList_Fuel[Pre_FuelLevel] ) ;
}
/*电压显示函数*/
static void AMT630H_GUI_Voltage(uint16_t Voltage)
{
SetPagePic( GRAPHICS_PAGE_0 , Pic_0563_923_407 ) ;/*电压图标*/
DISPLAY_NUM_ST DisplayNumPara ;
uint16_t VoltageNumber ;
VoltageNumber = Voltage / 10 ;
uint16_t Voltage_Hundred ;
uint16_t Voltage_Ten ;
uint16_t Voltage_Unit ;
uint16_t Front ;
/*数据处理*/
Voltage_Hundred = VoltageNumber / 100 ;
Voltage_Ten = ( VoltageNumber % 100 ) / 10 ;
Voltage_Unit = VoltageNumber % 10 ;
Front = Voltage_Ten * 10 + Voltage_Unit ;
DisplayNumPara.NumList = NumbeList_Voltage ;
if(( VoltageNumber >= 100) && ( VoltageNumber < 1000))
{
SetPagePic(GRAPHICS_PAGE_0,Pic_0564_966_451);/* V */
SetPagePic(GRAPHICS_PAGE_0,Pic_0566_946_465);/* . */
DisplayNumPara.x = 951;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT |0;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits =1;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara,Voltage_Unit);
DisplayNumPara.x = 930;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT |15;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits =2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara,Front);
}
else if(0<=VoltageNumber<100)
{
SetPagePic(GRAPHICS_PAGE_0,Pic_0564_958_451);/* V */
SetPagePic(GRAPHICS_PAGE_0,Pic_0566_938_465);/* . */
DisplayNumPara.x = 943;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT |21;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 1;
DisplayNumPara.MinDigits =2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara,VoltageNumber);
}
}
/*大计里程显示函数*/
static void AMT630H_GUI_ODO(uint16_t ODO)
{
/*ODO位数不同 KM位置不同*/
SetPagePic ( GRAPHICS_PAGE_0 , Pic_0577_48_272 ) ;
SetPagePic ( GRAPHICS_PAGE_0 , Pic_0578_55_296 ) ;
SetPagePic ( GRAPHICS_PAGE_0 , Pic_0580_211_324 ) ;
DISPLAY_NUM_ST DisplayNumPara;
uint16_t ODONumber;
ODONumber =ODO;
DisplayNumPara.NumList = NumbeList_ODO;
DisplayNumPara.x = 173;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT |24;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits =6;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara,ODONumber);
}
/*车速显示函数*/
static void AMT630H_GUI_VSpeed(uint16_t VSpeed)
{
SetPagePic(GRAPHICS_PAGE_0,Pic_0592_617_271);
SetPagePic(GRAPHICS_PAGE_0,Pic_0593_889_310);
/*数据处理*/
DISPLAY_NUM_ST DisplayNumPara ;
uint16_t VSpeedNumber ;
VSpeedNumber =VSpeed ;
DisplayNumPara.NumList = NumbeList_VSpeed ;
if( 100 <= VSpeedNumber <= 199)
{
DisplayNumPara.x = 574 ;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT |118 ;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS ;
DisplayNumPara.DecimalNum = 0 ;
DisplayNumPara.MinDigits =3 ;
DisplayNum(GRAPHICS_PAGE_0 , &DisplayNumPara , VSpeedNumber ) ;
}
else if( 10 <= VSpeedNumber < 100 )
{
DisplayNumPara.x = 515 ;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT |118 ;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS ;
DisplayNumPara.DecimalNum = 0 ;
DisplayNumPara.MinDigits =2 ;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara , VSpeedNumber ) ;
}
else if(0 <= VSpeedNumber < 10)
{
if(VSpeedNumber == 1)
{
DisplayNumPara.x = 492 ;//1的宽度与其他数字不同 坐标没给
}
else
{
DisplayNumPara.x = 456 ;
}
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT |118 ;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS ;
DisplayNumPara.DecimalNum = 0 ;
DisplayNumPara.MinDigits =1 ;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara,VSpeedNumber) ;
}
}
/*转速显示函数*/
static void AMT630H_GUI_ESpeed(uint16_t ESpeed)
{
SetPagePic(GRAPHICS_PAGE_0 , Pic_0606_834_199 ) ;/* 1000r/min */
SetPagePic(GRAPHICS_PAGE_0 , Pic_0607_94_110 ) ;/* 底 */
SetPagePic(GRAPHICS_PAGE_0 , Pic_0620_56_165 ) ;/* 数字0-12 */
SetPagePic(GRAPHICS_PAGE_0 , Pic_0621_118_95 ) ;
SetPagePic(GRAPHICS_PAGE_0 , Pic_0622_178_81 ) ;
SetPagePic(GRAPHICS_PAGE_0 , Pic_0623_268_89 ) ;
SetPagePic(GRAPHICS_PAGE_0 , Pic_0624_350_114 ) ;
SetPagePic(GRAPHICS_PAGE_0 , Pic_0625_422_114 ) ;
SetPagePic(GRAPHICS_PAGE_0 , Pic_0626_498_114 ) ;
SetPagePic(GRAPHICS_PAGE_0 , Pic_0627_570_114 ) ;
SetPagePic(GRAPHICS_PAGE_0 , Pic_0628_634_114 ) ;
SetPagePic(GRAPHICS_PAGE_0 , Pic_0629_721_86 ) ;
SetPagePic(GRAPHICS_PAGE_0 , Pic_0630_803_81 ) ;
SetPagePic(GRAPHICS_PAGE_0 , Pic_0631_877_95 ) ;
SetPagePic(GRAPHICS_PAGE_0 , Pic_0632_925_165 ) ;
/*数据处理*/
uint16_t ESpeedLevel ;
uint16_t ESpeedNumber ;
ESpeedNumber = ESpeed ;
if(ESpeedNumber>0)
{
ESpeedLevel=(ESpeedNumber-1)/1000;
}
else if(ESpeedNumber==0)
{
}
for(int PIC=0;PIC<=ESpeedLevel;PIC++)
{
SetPagePic(GRAPHICS_PAGE_0, NumbeList_ESpeed[PIC]);
}
}
/******************************************************************************************/
/**
* @brief 菜单背景
*
*/
void AMT630H_GUI_BACKGRAND()
{
if(Pic_mode==PIC_DAYTIME_Main_CH)
{
/*日间中文主界面*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0382_0_0);/*日间模式背景图*/
SetPagePic(GRAPHICS_PAGE_0,Pic_0753_109_331);
AMT630H_GUI_TIME(12,13);
/* AMT630H_GUI_Telephone(Telephone); */
AMT630H_GUI_Fuel(2);
AMT630H_GUI_Voltage(123);
AMT630H_GUI_ODO(123456);
AMT630H_GUI_VSpeed(123);
AMT630H_GUI_ESpeed(1234);
}
else if (Pic_mode == PIC_DAYTIME_CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0382_0_0);
SetPagePic(GRAPHICS_PAGE_0, Pic_0002_0_0);
SetPagePic(GRAPHICS_PAGE_0, Pic_0316_429_152);
SetPagePic(GRAPHICS_PAGE_0, Pic_0380_396_528);
SetPagePic(GRAPHICS_PAGE_0, Pic_0381_615_528);
}
else if (Pic_mode == PIC_NIGHTTIME_CH)
else if (Pic_mode == PIC_NIGHTTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0193_0_0);
SetPagePic(GRAPHICS_PAGE_0, Pic_0195_304_155);
SetPagePic(GRAPHICS_PAGE_0, Pic_0380_396_528);
SetPagePic(GRAPHICS_PAGE_0, Pic_0381_615_528);
}
else if (Pic_mode == PIC_DAYTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0193_0_0);
SetPagePic(GRAPHICS_PAGE_0, Pic_0315_27_396);
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_140);
}
else if (Pic_mode == PIC_NIGHTTIME_EN)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0193_0_0);
SetPagePic(GRAPHICS_PAGE_0, Pic_0194_23_397);
SetPagePic(GRAPHICS_PAGE_0, Pic_0004_336_140);
}
}
void AMT630H_GUI_SETTING()
{
AMT630H_GUI_Clock_Setting(12 , 13, 3);
AMT630H_GUI_Backlight_Setting( 3 );
AMT630H_GUI_Display_Mode_Setting( 0 );
AMT630H_GUI_Bluetooth_Connect_Setting( 0, 8, 1);
AMT630H_GUI_Unit_Setting( 0 );
AMT630H_GUI_Language_Setting( 0 );
AMT630H_GUI_Phone_Connect_Win();
// AMT630H_GUI_Clock_Setting(Clock_Hour, Clock_Min, Clock_BIT);
// AMT630H_GUI_Backlight_Setting( back_mode);
// AMT630H_GUI_Display_Mode_Setting( Display_mode);
// AMT630H_GUI_Bluetooth_Connect_Setting( select, sync_contacts, Connect_ON);
// AMT630H_GUI_Unit_Setting( select);
// AMT630H_GUI_Language_Setting( select)
// AMT630H_GUI_Phone_Connect_Win();
}
void AMT630H_GUI_DisplayProc(void)
{
SetPageGuid(GRAPHICS_PAGE_0, 1, 0, 0);
......
......@@ -3,24 +3,13 @@
typedef enum
{
PIC_DAYTIME_Main_CH =0 ,//日间主界面
PIC_DAYTIME_CH ,//日间中文
PIC_DAYTIME_CH = 0,//日间中文
PIC_NIGHTTIME_CH , //夜间中文
PIC_DAYTIME_EN, //日间英文
PIC_NIGHTTIME_EN, //夜间英文
PIC_Max,
}_Picture_Mode;
typedef enum
{
MAIN_MENU = 0,
SETTING_MENU ,
}_MENU_MODE;
extern void AMT630H_GUI_DisplayProc(void);
extern void AMT630H_GUI_Background(void);
......
......@@ -96,7 +96,7 @@ static const uint16_t PicIndexData[] = {
Pic_0722, 423, 94, 114, Pic_0723, 85, 379, 149, Pic_0724, 119, 292, 128, Pic_0725, 165, 191, 110, Pic_0726, 198, 138, 111, Pic_0727, 153, 94, 123, Pic_0728, 20, 56, 165, Pic_0729, 7, 118, 95, Pic_0730, 19, 178, 81, Pic_0731, 18, 268, 89,
Pic_0732, 21, 350, 114, Pic_0733, 19, 422, 114, Pic_0734, 18, 498, 114, Pic_0735, 21, 570, 114, Pic_0736, 56, 941, 13, Pic_0737, 44, 875, 23, Pic_0738, 61, 792, 25, Pic_0739, 39, 731, 19, Pic_0740, 28, 682, 21, Pic_0741, 44, 616, 20,
Pic_0742, 50, 544, 22, Pic_0743, 47, 476, 20, Pic_0744, 53, 402, 21, Pic_0745, 39, 341, 21, Pic_0746, 86, 233, 26, Pic_0747, 64, 244, 26, Pic_0748, 16, 194, 26, Pic_0749, 19, 192, 26, Pic_0750, 65, 106, 26, Pic_0751, 56, 111, 30,
Pic_0752, 56, 28, 13, Pic_0753, 809, 109, 331, Pic_0754, 809, 109, 347,
Pic_0752, 56, 28, 13,
};
#define PicIndexData_LEN 14888
//uint32_t PicIndexDataLEN = 0;
......
#ifndef PICBIN_H
#define PICBIN_H
/* Flash Bin Version:20240712 2024-07-12 13:27:08 Compression ratio:70.00% */
/* Flash Bin Version:20240708 2024-07-08 14:30:03 Compression ratio:70.00% */
#define Pic_0001 1
#define Pic_0002 2
#define Pic_0003 3
......@@ -754,8 +754,6 @@
#define Pic_0750 750
#define Pic_0751 751
#define Pic_0752 752
#define Pic_0753 753
#define Pic_0754 754
enum {
Pic_0001_0_0 = 0,
......@@ -1711,10 +1709,8 @@ enum {
Pic_0750_106_26,
Pic_0751_111_30,
Pic_0752_28_13,
Pic_0753_109_331,
Pic_0754_109_347,
};
#define PIC_INDEX_DATA_CRC 0xD1FA96F4
#define PIC_INDEX_DATA_CRC 0xB1B4E2C2
extern void User_PicIndexDataInit(void);
#endif
......@@ -27,8 +27,5 @@
#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,21 +6,56 @@
__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)//选择
void Key_Operation_Left(Key_Event_en_t enKeyEvent)//Mode
{
switch (enKeyEvent)
{
case KEY_EVENT_SHORT_PRESS_1:
Key_Event_Short_Press_Left();
// if(MENU_GRADE == 0x00)
// {
// Menu_Service(MENU_KEY_LEFT_SHORT);
// }
// else
// {
// Menu_Service(MENU_KEY_DOWN_SHORT);
// }
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;
......@@ -33,22 +68,25 @@ void Key_Operation_Left(Key_Event_en_t enKeyEvent)//选择
case KEY_EVENT_ON_TO_OFF:
break;
case KEY_EVENT_NONE:
KEY_LEFT_EVENT_NONE_Service();
Key_Left_Long_Press_Flag = 0;
break;
default:
break;
}
}
void Key_Operation_Right(Key_Event_en_t enKeyEvent)//确认
void Key_Operation_Right(Key_Event_en_t enKeyEvent)//Set
{
switch (enKeyEvent)
{
case KEY_EVENT_SHORT_PRESS_1:
Key_Event_Short_Press_Right();
// Menu_Service(MENU_KEY_CONFIRM_SHORT);
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;
......@@ -61,7 +99,7 @@ void Key_Operation_Right(Key_Event_en_t enKeyEvent)//确认
case KEY_EVENT_ON_TO_OFF:
break;
case KEY_EVENT_NONE:
KEY_RIGHT_EVENT_NONE_Service();
Key_Right_Long_Press_Flag = 0;
break;
default:
break;
......@@ -73,30 +111,33 @@ void Key_Operation_Right(Key_Event_en_t enKeyEvent)//确认
Key_Status_en_t Key_Status_Read_Left(void)
{
Key_Status_en_t enKeyReal = KEY_REALTIME_LOOSEN;
if (RTE_GPIO_Get_Level(KEY_SELECT_MCU))//选择
{
enKeyReal = KEY_REALTIME_PRESS;
}
else
if (SYS_OPR_STAT_IGN_ON)
{
enKeyReal = KEY_REALTIME_LOOSEN;
// if (RTE_GPIO_Get_Level(MODE_P_IN))
// {
// enKeyReal = KEY_REALTIME_LOOSEN;
// }
// else
// {
// enKeyReal = KEY_REALTIME_PRESS;
// }
}
return enKeyReal;
}
Key_Status_en_t Key_Status_Read_Right(void)
{
Key_Status_en_t enKeyReal = KEY_REALTIME_LOOSEN;
if (RTE_GPIO_Get_Level(KEY_OK_MCU))//确认
{
enKeyReal = KEY_REALTIME_PRESS;
}
else
if (SYS_OPR_STAT_IGN_ON)
{
enKeyReal = KEY_REALTIME_LOOSEN;
// if (RTE_GPIO_Get_Level(SET_P_IN))
// {
// enKeyReal = KEY_REALTIME_LOOSEN;
// }
// else
// {
// enKeyReal = KEY_REALTIME_PRESS;
// }
}
return enKeyReal;
}
......@@ -106,6 +147,8 @@ 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},
};
/*---------------------------------------------------------------------------------------*/
......@@ -124,13 +167,11 @@ 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,2000U);
Key_Parameter_Set_Short_Press_2_Time(3000U,6000U);
Key_Parameter_Set_Short_Press_1_Time(50U,1000U);
Key_Parameter_Set_Short_Press_2_Time(3000U,10000U);
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);
Key_Parameter_Set_Long_Press_1_Time(10000U);
Key_Parameter_Set_Long_Press_2_Time(60000U);
}
void Key_Wakeup_Init_EXample(void)
{
......@@ -140,168 +181,33 @@ 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,2000U);
Key_Parameter_Set_Short_Press_2_Time(3000U,6000U);
Key_Parameter_Set_Short_Press_1_Time(50U,1000U);
Key_Parameter_Set_Short_Press_2_Time(3000U,10000U);
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);
Key_Parameter_Set_Long_Press_1_Time(10000U);
Key_Parameter_Set_Long_Press_2_Time(60000U);
}
void Key_TimeOut_Service(void)
void Key_Check_Service(void)
{
if((MenuData.Back_Time_Left_Flag == 1)&&(MenuData.Back_Time_Right_Flag == 1))
{
Menu_Service(MENU_KEY_TIMEOUT);
}
PageType = Page_Time_Set_Hour;
}
void Key_Auto_Save(void)
{
{
//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))
if(PageType == Page_Time_Set_Hour)
{
Menu_Service(MENU_KEY_CONFIRM_SHORT);
RTC_SetTime(&counter_val.time);
}
}
void KEY_LEFT_EVENT_NONE_Service(void)
{
MenuData.Back_Time_Left++;
if(MenuData.Back_Time_Left > BACK_MENU_TIME)
if(PageType == Page_Time_Set_Minute)
{
MenuData.Back_Time_Left = BACK_MENU_TIME;
MenuData.Back_Time_Left_Flag = 1;
RTC_SetTime(&counter_val.time);
}
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)
......@@ -323,8 +229,6 @@ void TYW_RESET_ODO(void)
}
}
uint8_t Get_Dis_Hour_Time(void)
{
return counter_val.time.RTC_Hours;
......@@ -335,22 +239,12 @@ uint8_t Get_Dis_Minute_Time(void)
return counter_val.time.RTC_Minutes;
}
uint8_t Get_Dis_Unit(void)
{
return MenuData.Unit; //0km,1mile
}
uint8_t Get_Dis_OdoAndTrip(void)
{
return MenuData.OdoAndTrip; //0Odo,1Trip
}
uint8_t Get_Dis_Bluetooth_Open_Close(void)
uint8_t Get_Current_PageType(void)
{
return MenuData.Bluetooth_Open_Close; //0开,1关
return PageType;
}
uint8_t Get_Dis_Language(void)
uint8_t Get_Dis_Unit(void)
{
return MenuData.Language; //0中文,1英文
return MenuData.Unit; //0km,1mile
}
......@@ -32,23 +32,36 @@ typedef enum
typedef struct
{
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 Set_Hour;
uint8_t Set_Minute;
uint8_t Dis_Hour;
uint8_t Dis_Minute;
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);
......@@ -57,22 +70,13 @@ 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_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);
void Key_Check_Service(void);
#endif
......@@ -5,156 +5,63 @@
const Line_In_Attribute_st g_stLineInAttribute[LINE_IN_MAX] =
{
{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, },
{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, },
};
Linelib_uint8_t Get_LINE_IN_Turn_Left(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_Turn_Right(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_High_Beam(void)
Linelib_uint8_t Get_LINE_IN_TurnLeft(void)
{
Linelib_uint8_t ret = 0U;
if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
//if (RTE_GPIO_Get_Level(LeftTurn_P_In))
{
ret = 1u;
}
else
//else
{
ret = 0UL;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_Efi_Fault(void)
Linelib_uint8_t Get_LINE_IN_TurnRight(void)
{
Linelib_uint8_t ret = 0U;
if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
//if (RTE_GPIO_Get_Level(RightTurn_P_In))
{
ret = 1u;
}
else
//else
{
ret = 0UL;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_ABS(void)
Linelib_uint8_t Get_LINE_IN_HighBeam(void)
{
Linelib_uint8_t ret = 0U;
if (RTE_GPIO_Get_Level(LeftTurn_MUC_OUT))
//if (RTE_GPIO_Get_Level(HighBeam_P_In))
{
ret = 1u;
}
else
//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(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))
//if (RTE_GPIO_Get_Level(START_STOP_P_IN))
{
ret = 1u;
}
else
//else
{
ret = 0UL;
}
......@@ -167,7 +74,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,31 +5,19 @@
typedef enum
{
LINE_IN_Turn_Left,
LINE_IN_Turn_Right,
LINE_IN_High_Beam,
LINE_IN_Efi_Fault,
LINE_IN_ABS,
LINE_IN_TurnLeft = 0,
LINE_IN_TurnRight,
LINE_IN_HighBeam,
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_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_TurnLeft(void);
Linelib_uint8_t Get_LINE_IN_TurnRight(void);
Linelib_uint8_t Get_LINE_IN_HighBeam(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,63 +34,48 @@ 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_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_BACKLIGHT_1, /*06 背光_1*/
MENU_ITEM_BACKLIGHT_2, /*07 背光_2*/
MENU_ITEM_BACKLIGHT_3, /*08 背光_3*/
MENU_ITEM_BACKLIGHT_4, /*09 背光_4*/
MENU_ITEM_BACKLIGHT_5, /*10 背光_5*/
MENU_ITEM_BLUETOOTH_OPEN_CLOSE, /*12 蓝牙_开*/
MENU_ITEM_BLUETOOTH_SYNC, /*13 蓝牙同步联系人*/
MENU_ITEM_BLUETOOTH_CONNECT, /*11 蓝牙连接*/
MENU_ITEM_BLUETOOTH_OPEN, /*12 蓝牙_开*/
MENU_ITEM_BLUETOOTH_CLOSE, /*13 蓝牙_关*/
MENU_ITEM_BLUETOOTH_BACK, /*14 蓝牙返回*/
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_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_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_PHONE_CONNECT_SET,
MENU_ITEM_FAULT_INFORMATION, /*27 故障信息*/
MENU_ITEM_PHONE_CONNECT_APP, /*28 手机互联成功*/
MENU_ITEM_PHONE_CONNECT, /*28 手机互联*/
MENU_ITEM_PHONE_CONNECT_WIN, /*28 手机互联成功*/
MENU_ITEM_QUIT, /*29 退出*/
MENU_ITEM_MAX,
} Menu_Item_en_t;
/*所有菜单界面的枚举*/
typedef enum
{
MENU_INTF_MAIN_INTF = 0,
MENU_INTF_MODE,
MENU_INTF_DISPLAY_MODE, /*显示模式*/
MENU_INTF_DISPLAY_MODE = 0U, /*显示模式*/
MENU_INTF_BACKLIGHT_SETTING, /*背光设置*/
......@@ -98,11 +83,6 @@ 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, /*语言设置*/
......@@ -111,10 +91,7 @@ typedef enum
MENU_INTF_PHONE_CONNECT, /*手机互联*/
MENU_INTF_PHONE_CONNECT_SET,
MENU_INTF_QUIT, /*退出*/
MENU_INTERFACE_MAX,
} Menu_Interface_en_t;
/*所有菜单分支*/
......@@ -421,8 +398,6 @@ 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_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);
/*传入按键动作执行之前需要预先处理的动作*/
// #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);
// /*传入按键动作执行之前需要预先处理的动作*/
// 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);
/*--------------------------------------------------*/
}
/*------------请放在休眠,唤醒之后不会被清除的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
{
}
// /*------------传入按键类型-----------------------*/
// void Menu_Service(Menu_Key_en_t enMenuKey)
// {
// /*功能回调函数的调用*/
// Menu_Logic_Process(enMenuKey);
// /*--------------------------------------------------*/
// /*按键动作对光标的处理*/
// Menu_Cursor_Preprocess(enMenuKey);
// Menu_Cursor_Process(enMenuKey);
// Menu_Cursor_Postprocess(enMenuKey);
// /*--------------------------------------------------*/
// }
*dat = temp;
}
// /*------------请放在休眠,唤醒之后不会被清除的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;
// }
// }
// 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,11 +10,14 @@ 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,
......@@ -53,28 +56,32 @@ 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);
Menu_User_Init();
Can_Init();
// 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);
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();
......@@ -85,12 +92,9 @@ 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();
Key_KL30_Init_EXample();
Menu_User_WAKEUP();
Can_Init();
//Telltales_Init();
// RTE_DEEPSLEEP_GPIO_Interrupt_Enable(WAKEUP_KL15_In,Trigger_Rising);
Protocol_KL30_Wakeup_Init();
RTE_DEEPSLEEP_GPIO_Interrupt_Enable(KL15_AD_IN, Trigger_Rising);
}
static void Power_LVP_Init(void)
......@@ -105,6 +109,7 @@ 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)
......@@ -118,15 +123,19 @@ static void Power_IG_ON_Init(void)
static void Power_Sleep_Init(void)
{
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 400, 0);
rte_can_deinit(CAN_CH_0);
// //RTC_Stop();
// 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)
......@@ -157,19 +166,15 @@ static Power_Status_em Power_Stay_OFF(void)
}
else
{
if ((Common_GetIgnOffTime() < 1000))
if ((Common_GetIgnOffTime() < 20000))
{
u8PowerSts = EM_IGN_OFF;
}
else
{
//igoff大于1s且下15电才进休眠,否则一直保持在igoff状态
if(Sys_Read_KL15_Voltage() < 5000)
{
u8PowerSts = EM_IGN_Sleep_Init;
}
}
}
return u8PowerSts;
}
......@@ -183,8 +188,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;
/* 电溝模弝正常 */
......@@ -197,15 +202,8 @@ 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 "Components.h"
//#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"
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_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);
{em_LED_Turn_Left, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Turn_Left_Judgement, LED_Turn_Left_Execution },
{em_LED_Turn_Right, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Turn_Right_Judgement, LED_Turn_Right_Execution },
{em_LED_High_Beam, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_High_Beam_Judgement, LED_High_Beam_Execution },
{em_LED_Efi_Fault, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Efi_Fault_Judgement, LED_Efi_Fault_Execution },
{em_LED_ABS, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_ABS_Judgement, LED_ABS_Execution },
{em_LED_Auto_Start_Stop, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Auto_Start_Stop_Judgement, LED_Auto_Start_Stop_Execution },
{em_LED_Oil_Pressure_Alert, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Oil_Pressure_Alert_Judgement, LED_Oil_Pressure_Alert_Execution },
{em_LED_TCS, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_TCS_Judgement, LED_TCS_Execution },
{em_LED_HEV, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_HEV_Judgement, LED_HEV_Execution },
{em_LED_Voltage, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Voltage_Judgement, LED_Voltage_Execution },
{em_LED_Fuel_Level_Low, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Fuel_Level_Low_Judgement, LED_Fuel_Level_Low_Execution },
{em_LED_Coolant_Temperature, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Coolant_Temperature_Judgement, LED_Coolant_Temperature_Execution },
{em_LED_WIFI, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_WIFI_Judgement, LED_WIFI_Execution },
{em_LED_Bluetooth, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Bluetooth_Judgement, LED_Bluetooth_Execution },
{em_LED_E, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_E_Judgement, LED_E_Execution },
{em_LED_S, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_S_Judgement, LED_S_Execution },
};
Tellib_uint8_t Tel_Mem [ Tel_MEM_Block_Size * LED_Max + Tel_MEM_Block_Addition ];
void Telltales_Init(void)
{
TelExtPara m_ExtPara;
m_ExtPara.TotalLength = LED_Max;
m_ExtPara.LED_PowerOFF_TimerCbk = Common_GetIgnOffTime;
m_ExtPara.LED_PowerON_TimerCbk = Common_GetIgnOnTime;
m_ExtPara.LED_PowerCbk = Common_Get_IG_Sts;
u8CanId401Flag = 0;
Telltales_KL30_Wakeup_Init(Tel_Mem, LED_Attribute, &m_ExtPara);
}
void Can_ID_401(uint8_t CopyData [])
{
u8CanId401Flag = 1;
}
/******************************************************************************************************************************************************************************************************************* */
static Tellib_uint16_t LED_Turn_Left_Judgement(void)//硬线-P10 高电平
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_Turn_Left))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_Turn_Left_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(TurnLeft_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(TurnLeft_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*硬线-P9 高电平*/
static Tellib_uint16_t LED_Turn_Right_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_Turn_Right))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_Turn_Right_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(TurnRight_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(TurnRight_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*硬线-P18 高电平*/
static Tellib_uint16_t LED_High_Beam_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_High_Beam))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_High_Beam_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(HighBeam_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(HighBeam_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*硬线-P15 低电平*/
static Tellib_uint16_t LED_Efi_Fault_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_Efi_Fault))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_Efi_Fault_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(EfiFault_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(EfiFault_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*硬线-P7 悬空/高点亮 接地灭*/
static Tellib_uint16_t LED_ABS_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_ABS))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_ABS_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(ABS_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(ABS_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*硬线-P12 低电平*/
static Tellib_uint16_t LED_Auto_Start_Stop_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_Auto_Start_Stop))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_Auto_Start_Stop_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(AutoStartStop_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(AutoStartStop_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*硬线-P21 低电平*/
static Tellib_uint16_t LED_Oil_Pressure_Alert_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_Oil_Pressure_Alert))
{
LED_STATE = 1;
}
else
{
LED_STATE = 0;
}
return LED_STATE;
}
static void LED_Oil_Pressure_Alert_Execution(Tellib_uint16_t led_status)
{
// if (led_status == 1u)
// {
// RTE_GPIO_Set_Level(OilPressureAlert_MUC_OUT, LED_LINEOUT_High);
// }
// else
// {
// RTE_GPIO_Set_Level(OilPressureAlert_MUC_OUT, LED_LINEOUT_Low);
// }
}
/*CAN信号来源:TCS_37B*/
static Tellib_uint16_t LED_TCS_Judgement(void)
{
//Tellib_uint16_t LED_STATE = 0u;
//if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CH0_37B_Msg_Count) == CAN_SIG_LOST)
//{
// LED_STATE = 0u;
//}
//else
//{
// if(Get_CAN_CH0_ID_37B_Sig_TCS_Work_Mode() == 1)
// {
// LED_STATE = 1u;
// }
// else
// {
// LED_STATE = 0u;
// }
//}
//return LED_STATE;
//static Tellib_uint16_t LED_Fuel_Judgement(void);
//static void LED_Fuel_Execution(Tellib_uint16_t led_status);
}
static void LED_TCS_Execution(Tellib_uint16_t led_status)
{
// 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 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_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)
{
}
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)
{
//Tellib_uint8_t Tel_Mem [ Tel_MEM_Block_Size * LED_Max + Tel_MEM_Block_Addition ];
}
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
// 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);
// }
//}
#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,
//#ifndef TELLTALES_USER_H
//#define TELLTALES_USER_H
LED_Max ,
} LED_Idx_t;
extern Tellib_uint8_t Auto_Start_Stop ;
void Telltales_Init(void);
Tellib_uint8_t Telltales_Voltage_Date(void);
#endif
//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
......@@ -6,21 +6,8 @@
CANMSG_Type* CANMSG;
CanTxRxMsg CAN_RecvMsg;
CANBuffList_t CanBufList = {0};
can_rx_callback can_rx_handler = NULL;
uint8_t Read_RingBuff(CanTxRxMsg *data)
{
if (CanBufList.length == 0)
{
return 0;
}
*data = CanBufList.data[CanBufList.Head];
CanBufList.Head = (CanBufList.Head + 1) % LIST_BUF_MAX_NUM;
CanBufList.length--;
return 1;
}
/**
* @brief CAN就收完成回调
*
......@@ -33,8 +20,8 @@ static void can_recv_handler(void *msg)
if (CAN_GetFlagStatus(CAN0, CAN_FLAG_REC) != RESET)
{
CAN_ClearFlag(CAN0, CAN_FLAG_REC);
CAN_Receive_IT(CAN0, &CanBufList);
Read_RingBuff(&CAN_RecvMsg);
// CANMSG = CAN_Get_CANxMSGy(CAN0);
// CAN_Receive_IT(CAN0, &CAN_RecvMsg);
if (can_rx_handler != NULL)
{
......@@ -44,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)
......@@ -111,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失败
*/
......@@ -137,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)
{
......@@ -164,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)
......@@ -202,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,12 +11,15 @@ uint32_t RTE_SystemCoreClock;
extern uint32_t SystemCoreClock;
void RTE_CLOCK_Select_Start(void)
{
////uint32_t msCnt;
#ifdef USED_FX_FCLK
CGC_Osc_Setting(OSC_OSCILLATOR,OSC_UNDER_10M,OSC_OSCILLATOR,OSC_NORMAL_POWER);
/* config clock */
CGC_HSEConfig(OSC_OSCILLATOR,OSC_UNDER_10M);
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 = Period_None; //RTC ????????1s?��?��???��????????
RTC_InitStructure.RTC_Period = One_Second; //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
{
uint32_t u32UARTCount; /*发送计数*/
uint32_t u32UARTLEN; /*发送数据总长*/
uint8_t u8UARTCount; /*发送计数*/
uint8_t u8UARTLEN; /*发送数据总长*/
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.u32UARTCount = 0U;
stUARTCtr0.u32UARTLEN = 0U;
stUARTCtr0.u8UARTCount = 0U;
stUARTCtr0.u8UARTLEN = 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.u32UARTCount = 0U;
stUARTCtr1.u32UARTLEN = 0U;
stUARTCtr1.u8UARTCount = 0U;
stUARTCtr1.u8UARTLEN = 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.u32UARTCount = 0U;
stUARTCtr2.u32UARTLEN = 0U;
stUARTCtr2.u8UARTCount = 0U;
stUARTCtr2.u8UARTLEN = 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.u32UARTCount = 1U;
stUARTCtr0.u32UARTLEN = Len;
stUARTCtr0.u8UARTCount = 1U;
stUARTCtr0.u8UARTLEN = 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.u32UARTCount = 1U;
stUARTCtr1.u32UARTLEN = Len;
stUARTCtr1.u8UARTCount = 1U;
stUARTCtr1.u8UARTLEN = 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.u32UARTCount = 1U;
stUARTCtr2.u32UARTLEN = Len;
stUARTCtr2.u8UARTCount = 1U;
stUARTCtr2.u8UARTLEN = 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.u32UARTCount < stUARTCtr0.u32UARTLEN )
if ( stUARTCtr0.u8UARTCount < stUARTCtr0.u8UARTLEN )
{
UART0_TX = stUARTCtr0.pu8UARTDataBuf [ stUARTCtr0.u32UARTCount++ ];
UART0_TX = stUARTCtr0.pu8UARTDataBuf [ stUARTCtr0.u8UARTCount++ ];
}
else
{
......@@ -435,9 +435,9 @@ void UART_CH0_TX_ISR(void)
void UART_CH1_TX_ISR(void)
{
INTC_ClearPendingIRQ(ST1_IRQn);
if ( stUARTCtr1.u32UARTCount < stUARTCtr1.u32UARTLEN )
if ( stUARTCtr1.u8UARTCount < stUARTCtr1.u8UARTLEN )
{
UART1_TX = stUARTCtr1.pu8UARTDataBuf [ stUARTCtr1.u32UARTCount++ ];
UART1_TX = stUARTCtr1.pu8UARTDataBuf [ stUARTCtr1.u8UARTCount++ ];
}
else
{
......@@ -451,9 +451,9 @@ void UART_CH1_TX_ISR(void)
void UART_CH2_TX_ISR(void)
{
INTC_ClearPendingIRQ(ST2_IRQn);
if ( stUARTCtr2.u32UARTCount < stUARTCtr2.u32UARTLEN )
if ( stUARTCtr2.u8UARTCount < stUARTCtr2.u8UARTLEN )
{
UART2_TX = stUARTCtr2.pu8UARTDataBuf [ stUARTCtr2.u32UARTCount++ ];
UART2_TX = stUARTCtr2.pu8UARTDataBuf [ stUARTCtr2.u8UARTCount++ ];
}
else
{
......
......@@ -15,8 +15,6 @@ 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)
......@@ -26,10 +24,6 @@ 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);
}
......@@ -41,14 +35,26 @@ 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