Commit 7b131bd3 authored by hu's avatar hu

调整报警调度

parent 41651a28
No preview for this file type
This source diff could not be displayed because it is too large. You can view the blob instead.
project .intvect 1536
project .text 320108
project .text 320172
project .rodata 411103
project .secinfo 120
project .syscall 6
......
......@@ -86,7 +86,11 @@ void Tacho_Processing_Service(void)
u32Result += 500u;
u32Result /= 1000u;
if (u32Result > 3000u)
if (u32Result < 330u)
{
u32Result = 0u;
}
else if (u32Result > 3000u)
{
u32Result = 3000u;
}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -7,7 +7,7 @@
#include "TYW_stdint.h"
/******************************************************************************
����״̬����
报警状态定义
******************************************************************************/
#define POPUP_STATUS_OFF 0x00u
#define POPUP_STATUS_NEW 0x01u
......@@ -18,7 +18,7 @@
#define POPUP_STATUS_CLEAR 0x06u
/******************************************************************************
�����л��ȼ�
报警切换等级
******************************************************************************/
#define POPUP_CUT_NOT 0x00u
#define POPUP_CUT_IMMEDIATELY 0x01u
......@@ -26,30 +26,31 @@
#define POPUP_CUT_WAIT_TIME_NORMAL 0x03u
/******************************************************************************
������������
报警策略配置
******************************************************************************/
#define POPUP_DEFINE_FIRST_DISPLAY 0u /*�״���ʾ��POPUP_CUT_WAIT_TIME_MIN��POPUP_CUT_WAIT_TIME_NORMAL�л���Ҫ�ȴ������������л�*/
#define POPUP_SAME_CLASS_CUT_IMMEDIATELY 1u /*ͬ���͵���Ϣ����������ϣ���Ҫ������*/
#define POPUP_HIGH_CUT_LOW_TYPE_IMMEDIATELY 1u /*���͸�����������͵ͣ�=1ʹ�ܣ�=0��ʹ��*/
#define POPUP_HINT_CUT_HINT_IMMEDIATELY 0u /*��ʾ����Ϣ���������ʾ����Ϣ��=1ʹ�ܣ�=0��ʹ��*/
#define POPUP_WARNING_CUT_HINT_MIN 0u /*��������Դ����ʾ�࣬����Ҫ�ȴ���Сʱ�䣺=1ʹ�ܣ�=0��ʹ��*/
#define POPUP_CUT_RECOVER 1u /*����ϵ���Ϣ���ָ���ʾʱ�������Ӵ˿�ʼ��ʾ*/
#define POPUP_DEFINE_FIRST_DISPLAY 0u /*首次显示,POPUP_CUT_WAIT_TIME_MIN和POPUP_CUT_WAIT_TIME_NORMAL切换需要等待,否则,立即切换*/
#define POPUP_SAME_CLASS_CUT_IMMEDIATELY 1u /*同类型的信息可以立即打断,主要是声音*/
#define POPUP_HIGH_CUT_LOW_TYPE_IMMEDIATELY 1u /*类型高立即打断类型低:=1使能,=0不使能*/
#define POPUP_HINT_CUT_HINT_IMMEDIATELY 1u /*提示类信息立即打断提示类信息:=1使能,=0不使能*/
#define POPUP_WARNING_CUT_HINT_MIN 0u /*报警类可以打断提示类,但需要等待最小时间:=1使能,=0不使能*/
#define POPUP_CUT_RECOVER 1u /*被打断的信息,恢复显示时,继续从此开始显示*/
#define POPUP_DOOR_OPEN_REAL 1u /*门开实时响应,打断其他的信息*/
#define POPUP_DISP_TIME_NORMAL 3u*10u /*unit = 100ms*/
#define POPUP_DISP_TIME_MIN 8u /*unit = 100ms*/
#define POPUP_DISP_TIME_MIN 0u*10u /*unit = 100ms*/
#define POPUP_DISP_TIME_NORMAL_FLAG 9 /*unit = 100ms*/
/******************************************************************************
��ѯģʽ����
查询模式定义
******************************************************************************/
#define POPUP_POLLING_FORWARD 0x00u
#define POPUP_POLLING_REVERSE 0x01u
/******************************************************************************
������ȼ���
最大优先级数
******************************************************************************/
#define POPUP_PRIORITY_NUMBER_MAX POPUP_PRIORITY_NUMBER_FATAL
/******************************************************************************
������Ϣ���Ƚṹ
弹出信息调度结构
******************************************************************************/
typedef struct
{
......@@ -65,23 +66,23 @@ typedef struct
} PopupSchedulingStruct;
/******************************************************************************
��������
函数声明
******************************************************************************/
/**********************************************************************************************************
*@Function: Popup_Scheduler_Init
*@Description: ��ʼ��������Ϣ������
*@Description: 初始化弹出信息调度器
*@Input: MY_MemInit / CommMemInit
*@Output: none.
*@Calls: none.
*@Return: none.
*@Note: �����ڴ����������Ҫ�������Ӳ����ʼ��֮ǰ�����г�ʼ������
*@Note: 存在内存管理函数,要求必须在硬件初始化之前,进行初始化操作
**********************************************************************************************************/
void Popup_Scheduler_Init ( void );
/**********************************************************************************************************
*@Function: Popup_Scheduler_OFF
*@Description: ���ٴ��ڵ��������ָ�Ϊ��ʼ��״̬
*@Description: 销毁存在的链表,恢复为初始化状态
*@Input: MY_MemInit / CommMemInit
*@Output: none.
*@Calls: none.
......@@ -92,23 +93,23 @@ void Popup_Scheduler_OFF ( void );
/**********************************************************************************************************
*@Function: Popup_Scheduling_Service
*@Description: ���ȵ�����Ϣ�����µ�ǰ��ʾ����Ϣ����,�ӿں���
* ���ܷ����л���������
* 1����ǰ��ʾ��Ϣ��ɾ��/����
* 2���������ȼ��ߵ�����Ϣ
* 3����ʾʱ�䵽
*@Description: 调度弹出信息,更新当前显示的信息名称,接口函数
* 可能发生切换的条件:
* 1、当前显示信息被删除/屏蔽
* 2、产生优先级高的新消息
* 3、显示时间到
*@Input: CommMemInit
*@Output: none.
*@Calls: none
*@Return: none
*@Note: �÷���������ÿ100ms������һ��
*@Note: 该服务函数必须每100ms被调用一次
**********************************************************************************************************/
void Popup_Scheduling_Service ( void );
/**********************************************************************************************************
*@Function: Popup_Request
*@Description: ��Ϣ�������󣬰���ȫ�����ͣ��ӿں���
*@Input: uint8_t PopupID -- ������Ϣ��ID.
*@Description: 信息插入请求,包括全部类型,接口函数
*@Input: uint8_t PopupID -- 弹出信息的ID.
*@Output: none.
*@Calls: none.
*@Return: none.
......@@ -118,8 +119,8 @@ void Popup_Request ( uint16_t PopupID );
/**********************************************************************************************************
*@Function: Popup_Mask_Request
*@Description: ���ε����ࣨ�����ࣩ��Ϣ��ֻ����ʾ���IJſ��Ա�����
* ***********����ȫ����ʾ����***************
*@Description: 屏蔽第三类(报警类)信息,只有显示过的才可以被屏蔽
* ***********屏蔽全部显示过的***************
*@Input: none.
*@Output: none.
*@Calls: none.
......@@ -130,34 +131,34 @@ void Popup_Mask_Request ( void );
/**********************************************************************************************************
*@Function: Popup_Del_Masked_Request
*@Description: ��IGN_OFFʱ����Ҫ�����ι��ı�����Ϣ��ʾ���������������ٴ���ʾ��������
*@Description: 在IGN_OFF时,需要将屏蔽过的报警信息显示出来,但不允许再次显示报警声音
*@Input: none.
*@Output: none.
*@Calls: none.
*@Return: none.
*@Note: Ŀǰ��������Ϣ��״̬�л�Ϊѭ����ʾ״̬.
*@Note: 目前将报警信息的状态切换为循环显示状态.
**********************************************************************************************************/
void Popup_Del_Masked_Request ( void );
/**********************************************************************************************************
*@Function: Popup_Get_Status
*@Description: ��ȡ��ѯ��Ϣ��״̬
*@Input: uint8_t PopupID -- ������Ϣ��ID
*@Description: 获取查询信息的状态
*@Input: uint8_t PopupID -- 弹出信息的ID
*@Output: none.
*@Calls: PopupList_Select
*@Return: POPUP_STATUS_OFF -- ����Ϣ������Ҫ��ʾ
* POPUP_STATUS_FIRST -- ����Ϣ��һ����ʾ
* POPUP_STATUS_LOOP -- ����Ϣ������ѯ��ʾ��
* POPUP_STATUS_MASKED -- ����Ϣ������
* POPUP_STATUS_DELETE -- ����Ϣ�ȴ���ɾ��
* POPUP_STATUS_CLEAR -- ����Ϣ���ϱ�ɾ��
*@Return: POPUP_STATUS_OFF -- 此信息不在需要显示
* POPUP_STATUS_FIRST -- 此信息第一次显示
* POPUP_STATUS_LOOP -- 此信息处于轮询显示中
* POPUP_STATUS_MASKED -- 此信息被屏蔽
* POPUP_STATUS_DELETE -- 此信息等待被删除
* POPUP_STATUS_CLEAR -- 此信息马上被删除
*@Note: none.
**********************************************************************************************************/
uint8_t Popup_Get_Status ( uint16_t PopupID );
/**********************************************************************************************************
*@Function: Popup_Get_Current_Message
*@Description: ��ȡ��ǰ��Ϣ�����ֱ��
*@Description: 获取当前信息的文字编号
*@Input: none.
*@Output: none.
*@Calls: none.
......@@ -168,31 +169,31 @@ uint16_t Popup_Get_Current_Message ( void );
/**********************************************************************************************************
*@Function: Popup_Get_Current_Sound
*@Description: ��ȡ��ǰ��Ϣ���������
*@Description: 获取当前信息的声音编号
*@Input: none.
*@Output: none.
*@Calls: none.
*@Return: none.
*@Note: ����������Ӱ�������ij����Լ��Ƿ���
*@Note: 声音请求码影响声音的持续性及是否打断
**********************************************************************************************************/
uint8_t Popup_Get_Current_Sound ( void );
/**********************************************************************************************************
*@Function: Popup_Get_Current_Sound_Req_Code
*@Description: ��ȡ��ǰ��Ϣ������������
*@Description: 获取当前信息的声音请求码
*@Input: none.
*@Output: none.
*@Calls: none.
*@Return: none.
*@Note: ����������Ӱ�������ij����Լ��Ƿ���
*@Note: 声音请求码影响声音的持续性及是否打断
**********************************************************************************************************/
uint8_t Popup_Get_Current_Sound_Req_Code ( void );
/**********************************************************************************************************
*@Function: Popup_Delete
*@Description: �����ǰ��ʾ��Ϣ������ǵ�һ����ʾ��Ҫ�ȴ�Tmin���ڶ�����Ϣ����ʾ�ࣩ���⣩
*@Input: uint8_t PopupID -- ������Ϣ��ID
*@Output: FatalListHead/HintListHead/WarningListHead/ExceptionListHead -- ������
*@Description: 清除当前显示信息,如果是第一次显示,要等待Tmin(第二类信息(提示类)除外)
*@Input: uint8_t PopupID -- 弹出信息的ID
*@Output: FatalListHead/HintListHead/WarningListHead/ExceptionListHead -- 新链表
*@Calls: PopupList_Select / PopupList_Delete
*@Return: none.
*@Note: none.
......@@ -201,9 +202,9 @@ void Popup_Delete ( uint16_t PopupID );
/**********************************************************************************************************
*@Function: Popup_Clear
*@Description: �����ǰ��ʾ��Ϣ������Ҫ�ȴ�Tmin
*@Input: uint8_t PopupID -- ������Ϣ��ID
*@Output: FatalListHead/HintListHead/WarningListHead/ExceptionListHead -- ������
*@Description: 清除当前显示信息,不需要等待Tmin
*@Input: uint8_t PopupID -- 弹出信息的ID
*@Output: FatalListHead/HintListHead/WarningListHead/ExceptionListHead -- 新链表
*@Calls: PopupList_Select / PopupList_Delete
*@Return: none.
*@Note: none.
......@@ -212,30 +213,30 @@ void Popup_Clear ( uint16_t PopupID );
/**********************************************************************************************************
*@Function: Popup_Get_Warning_Status
*@Description: ��ѯ�Ƿ���ڱ�������Ϣ/�����ǻ�ȡ��ʾ������Ϣ�£��Ƿ���ڱ�������Ϣ
*@Description: 查询是否存在报警类信息/或者是获取显示致命信息下,是否存在报警类信息
*@Input: none
*@Output: none
*@Calls: none
*@Return: TRUE --���ڱ�������Ϣ
* FALSE -- �����ڱ�������Ϣ
*@Return: TRUE --存在报警类信息
* FALSE -- 不存在报警类信息
*@Note: none.
**********************************************************************************************************/
uint8_t Popup_Get_Warning_Status ( void );
/**********************************************************************************************************
*@Function: Popup_Get_Masked_Warning_Msg
*@Description: ��ȡ��ǰ��ʾ��������Ϣ������/ͼƬ���
*@Description: 获取当前显示的屏蔽信息的文字/图片编号
*@Input: none
*@Output: none
*@Calls: none
*@Return: ����/ͼƬ���
*@Return: 文字/图片编号
*@Note: none.
**********************************************************************************************************/
uint16_t Popup_Get_Masked_Warning_Msg ( void );
/**********************************************************************************************************
*@Function: Popup_Masked_Warning_Polling_Reset
*@Description: ��λ������Ϣ��ǰ��ʾ��ָ�룬��ǰ����ָ�����һ���������ָ���һ��
*@Description: 复位屏蔽信息当前显示的指针,向前,则指向最后一个;向后,则指向第一个
*@Input: none.
*@Output: none.
*@Calls: none.
......@@ -245,24 +246,24 @@ uint16_t Popup_Get_Masked_Warning_Msg ( void );
void Popup_Masked_Warning_Polling_Reset ( uint8_t Mode );
/**********************************************************************************************************
��������Popup_Masked_Warning_Polling
�� �ܣ���ѯ�����εı���
函数名:Popup_Masked_Warning_Polling
功 能:查询已屏蔽的报警
ÿ����һ�δ˺���,�����α���ָ��ᰴָ�������ƶ�һλ,��ָ������ָ������
�ϵ����һ��������Ϣʱ,�ٴ���ͬһ�����ѯ,��ǰ�������α�����Ϣ���Ϊ
POPUP_NONE ��ʾ������ѯ�ѽ���
每调用一次此函数,已屏蔽报警指针会按指定方向移动一位,当指针已移指定方向
上的最后一个报警信息时,再次向同一方向查询,当前的已屏蔽报警信息会变为
POPUP_NONE 表示报警查询已结束
����:��ǰ�������α��� A��B��C��D,����Popup_Masked_Warning_Polling_Reset
����,�趨����Ϊ POPUP_POLLING_FORWARD ʱ,�����α���ָ���ָ�򱨾�A,����,
���øú����趨����Ϊ POPUP_POLLING_FORWARD ʱ�����α���ָ�뼴ָ�򱨾�B.
�ظ����ô˺����ҷ��򲻱��������α���ָ��ָ�򱨾�D��,������ͬ������ô˺�
���򷵻� POPUP_NONE,��ʾ��ѯ�ѽ���
例如:当前有已屏蔽报警 A、B、C、D,调用Popup_Masked_Warning_Polling_Reset
函数,设定方向为 POPUP_POLLING_FORWARD 时,已屏蔽报警指针会指向报警A,而后,
调用该函数设定方向为 POPUP_POLLING_FORWARD 时已屏蔽报警指针即指向报警B.
重复调用此函数且方向不变至已屏蔽报警指针指向报警D后,再以相同方向调用此函
数则返回 POPUP_NONE,表示查询已结束
ͨ������Popup_Get_Masked_Warning�ɶ�����ǰ�����α���ָ��ָ��ı���
通过调用Popup_Get_Masked_Warning可读出当前已屏蔽报警指针指向的报警
�� ����Mode����ѯģʽ POPUP_POLLING_FORWARD - �������ģʽ
POPUP_POLLING_REVERSE - �������ģʽ
����ֵ����
参 数:Mode:查询模式 POPUP_POLLING_FORWARD - 正向查找模式
POPUP_POLLING_REVERSE - 逆向查找模式
返回值:无
**********************************************************************************************************/
void Popup_Masked_Warning_Polling ( uint8_t Mode );
void Popup_Hint_Mask_Request ( uint16_t PopupID );
......
......@@ -4,20 +4,20 @@
const st_CAN_SendAttribute st_CANSendAttr[ID_SEND_TOTAL] =
{
{0x18FEAE17ul, 200ul * 1000ul, 0ul, 0u, MSG_EXT, 2u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FEAE17, (void *)0},
{0x18FF3E17ul, 500ul * 1000ul, 1ul, 0u, MSG_EXT, 3u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FF3E17, (void *)0},
{0x18FED917ul, 100ul * 1000ul, 3ul, 0u, MSG_EXT, 4u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FED917, (void *)0},
{0x18FEE617ul, 1000ul * 1000ul, 5ul, 0u, MSG_EXT, 5u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FEE617, (void *)0},
{0x18EF1817ul, 100ul * 1000ul, 7ul, 0u, MSG_EXT, 6u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18EF1817, (void *)0},
{0x18FEE017ul, 100ul * 1000ul, 11ul, 0u, MSG_EXT, 7u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FEE017, (void *)0},
{0x18FEFC17ul, 1000ul * 1000ul, 13ul, 0u, MSG_EXT, 8u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FEFC17, (void *)0},
{0x18FF2517ul, 1000ul * 1000ul, 17ul, 0u, MSG_EXT, 9u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FF2517, (void *)0},
{0x18FF2A17ul, 2000ul * 1000ul, 19ul, 0u, MSG_EXT, 10u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FF2A17, (void *)0},
{0x18FF9D17ul, 100ul * 1000ul, 23ul, 0u, MSG_EXT, 11u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FF9D17, (void *)0},
{0x18FEAE17ul, 200ul * 1000ul, 0ul, 0u, MSG_EXT, 2u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FEAE17, (void *)0},
{0x18FF3E17ul, 500ul * 1000ul, 1ul, 0u, MSG_EXT, 3u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FF3E17, (void *)0},
{0x18FED917ul, 100ul * 1000ul, 3ul, 0u, MSG_EXT, 4u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FED917, (void *)0},
{0x18FEE617ul, 1000ul * 1000ul, 5ul, 0u, MSG_EXT, 5u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FEE617, (void *)0},
{0x18EF1817ul, 100ul * 1000ul, 7ul, 0u, MSG_EXT, 6u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18EF1817, (void *)0},
{0x18FEE017ul, 100ul * 1000ul, 11ul, 0u, MSG_EXT, 7u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FEE017, (void *)0},
{0x18FEFC17ul, 1000ul * 1000ul, 13ul, 0u, MSG_EXT, 8u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FEFC17, (void *)0},
{0x18FF2517ul, 1000ul * 1000ul, 17ul, 0u, MSG_EXT, 9u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FF2517, (void *)0},
{0x18FF2A17ul, 2000ul * 1000ul, 19ul, 0u, MSG_EXT, 10u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FF2A17, (void *)0},
{0x18FF9D17ul, 100ul * 1000ul, 23ul, 0u, MSG_EXT, 11u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FF9D17, (void *)0},
{0x18FFE517ul, 1000ul * 1000ul, 29ul, 0u, MSG_EXT, 12u, 8u, CAN_MSG_TX_CYCKE_EVENT, Can_Set_Buff_18FFE517, (void *)0},
{0x18EF2D17ul, 1000ul * 1000ul, 31ul, 0u, MSG_EXT, 13u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18EF2D17, (void *)0},
{0x18033317ul, 100ul * 1000ul, 34ul, 0u, MSG_EXT, 14u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18033317, (void *)0},
{0x180433A2ul, 100ul * 1000ul, 47ul, 0u, MSG_EXT, 15u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_180433A2, (void *)0},
{0x18EF2D17ul, 1000ul * 1000ul, 31ul, 0u, MSG_EXT, 13u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18EF2D17, (void *)0},
{0x18033317ul, 100ul * 1000ul, 34ul, 0u, MSG_EXT, 14u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18033317, (void *)0},
{0x180433A2ul, 100ul * 1000ul, 47ul, 0u, MSG_EXT, 15u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_180433A2, (void *)0},
};
const st_CANMsgAttribute CAN_MSG_CONST_ARRAY[ID_TOTAL_MAX] =
......
......@@ -205,6 +205,7 @@ void GUI_DisplayServices(void)
if (BG_display_flag == 0)
{
BG_display_flag = 1;
MenuInit();
}
else
......@@ -225,6 +226,7 @@ void GUI_DisplayServices(void)
JCUA_Enable_window();
}
}
MenuManage();
//BG_display_flag = 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment