254 lines
6.9 KiB
C
254 lines
6.9 KiB
C
|
|
/* USER CODE BEGIN Header */
|
|||
|
|
/**
|
|||
|
|
******************************************************************************
|
|||
|
|
* @file : fm33lg0xx_event.h
|
|||
|
|
* @brief : <EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>¼ͷ<EFBFBD>ļ<EFBFBD>
|
|||
|
|
* @version : 1.0
|
|||
|
|
* @changelog : version 1.0 <EFBFBD><EFBFBD>ʼ<EFBFBD>汾 2025.11.25
|
|||
|
|
* version 1.1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɸѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2025.12.08
|
|||
|
|
******************************************************************************
|
|||
|
|
* @attention
|
|||
|
|
*
|
|||
|
|
* Copyright (c) 2025 Yuwell Software Danyang.Jiangsu.China
|
|||
|
|
* THIS SOFTWARE is licensed under the Mulan PSL v1.
|
|||
|
|
* can use this software according to the terms and conditions of the Mulan PSL v1.
|
|||
|
|
* You may obtain a copy of Mulan PSL v1 at:
|
|||
|
|
* http://license.coscl.org.cn/MulanPSL
|
|||
|
|
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
|
|||
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
|
|||
|
|
* PURPOSE.
|
|||
|
|
* See the Mulan PSL v1 for more details.
|
|||
|
|
*
|
|||
|
|
******************************************************************************
|
|||
|
|
*/
|
|||
|
|
/* USER CODE END Header */
|
|||
|
|
|
|||
|
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
|||
|
|
#ifndef __FM33LG0XX_EVENT_H
|
|||
|
|
#define __FM33LG0XX_EVENT_H
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
extern "C" {
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#include <stdint.h>
|
|||
|
|
#include "fm33lg0xx_fl.h"
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD>壨λӳ<EFBFBD>䣬1λ<EFBFBD><EFBFBD>Ӧ1<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* ע<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>uint32_tȷ<EFBFBD><EFBFBD><EFBFBD>㹻<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>λ<EFBFBD><EFBFBD>չ<EFBFBD>ռ䣬<EFBFBD><EFBFBD>ǰռ<EFBFBD><EFBFBD>8<EFBFBD><EFBFBD>bit
|
|||
|
|
*/
|
|||
|
|
typedef enum
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
EVENT_O2_SENSOR_ERROR = (1U << 0), // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
EVENT_E1_PRESS_LOW = (1U << 1), // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>
|
|||
|
|
EVENT_E2_PRESS_HIGH = (1U << 2), // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>
|
|||
|
|
EVENT_E3_ELEC_LOW = (1U << 3), // ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
EVENT_E4_ELEC_HIGH = (1U << 4), // ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
EVENT_E5_NTC_HIGH = (1U << 5), // ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
EVENT_LL_FLOW_LOW = (1U << 6), // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
EVENT_E7_220V_LOW = (1U << 7), // ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
EVENT_O2_900_LOW = (1U << 8), // <20><>Ũ<EFBFBD>ȵ<EFBFBD>
|
|||
|
|
EVENT_O2_835_LOW = (1U << 9), // <20><>Ũ<EFBFBD>ȵ<EFBFBD>
|
|||
|
|
|
|||
|
|
|
|||
|
|
EVENT_KEY2_PRESS = (1U << 10), // <20><><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
EVENT_KEY121_PRESS = (1U << 11), // <20><><EFBFBD><EFBFBD>121<32><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
EVENT_OK_BLINK = (1U << 12), // OK<4F>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD>˸һ<CBB8><D2BB>
|
|||
|
|
EVENT_BEEP_MUTE = (1U << 13), // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
EVENT_464_CLEAR = (1U << 14), // <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
EVENT_BLUE_BLINK = (1U << 15), // <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
EVENT_CLEAN_FILTER_NOTIFY = (1U << 16), // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
EVENT_REPLACE_FILTER_NOTIFY = (1U << 17), // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
} OxygenMachineEvent_t;
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>洢<EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD>룩
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>ʾ<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD>¼<EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
typedef uint32_t OxygenEventGroup_t;
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief E1~E7<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>루<EFBFBD><EFBFBD><EFBFBD><EFBFBD>E1/E2/E3/E4/E5/E7<EFBFBD><EFBFBD>LL<EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>190<EFBFBD><EFBFBD>ʮ<EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>/ 0xBE<EFBFBD><EFBFBD>ʮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>/ 10111110<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>
|
|||
|
|
*/
|
|||
|
|
#define FAULT_MASK_ERROR_SHOUNTDOWN (EVENT_E1_PRESS_LOW | EVENT_E2_PRESS_HIGH | \
|
|||
|
|
EVENT_E3_ELEC_LOW | EVENT_E4_ELEC_HIGH | \
|
|||
|
|
EVENT_E5_NTC_HIGH | EVENT_LL_FLOW_LOW)
|
|||
|
|
|
|||
|
|
#define FAULT_MASK_ERROR_NONE_STOP (EVENT_E7_220V_LOW | EVENT_O2_900_LOW | EVENT_O2_835_LOW)
|
|||
|
|
|
|||
|
|
|
|||
|
|
/************************** <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *************************/
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>飨<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param pxEventGroup ָ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
static inline void vOxygenEventGroupInit(OxygenEventGroup_t *pxEventGroup)
|
|||
|
|
{
|
|||
|
|
if (pxEventGroup != NULL) {
|
|||
|
|
*pxEventGroup = 0U; // <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>ʼ<EFBFBD><CABC>Ϊδ<CEAA><CEB4><EFBFBD><EFBFBD>״̬
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param pxEventGroup ָ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
|
* @param ulEventBits Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
static inline void vOxygenEventGroupSetBits(OxygenEventGroup_t *pxEventGroup, uint32_t ulEventBits)
|
|||
|
|
{
|
|||
|
|
if (pxEventGroup != NULL) {
|
|||
|
|
*pxEventGroup |= ulEventBits; // <20><>λ<EFBFBD><CEBB>Ӧ<EFBFBD>¼<EFBFBD>λ
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>Ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param pxEventGroup ָ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
|
* @param ulEventBits Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
static inline void vOxygenEventGroupClearBits(OxygenEventGroup_t *pxEventGroup, uint32_t ulEventBits)
|
|||
|
|
{
|
|||
|
|
if (pxEventGroup != NULL) {
|
|||
|
|
*pxEventGroup &= ~ulEventBits; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>¼<EFBFBD>λ
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD>鵥<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param pxEventGroup ָ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
|
* @param ulEventBit Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return true: <EFBFBD>¼<EFBFBD><EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD>, false: <EFBFBD>¼<EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
|
|||
|
|
*/
|
|||
|
|
static inline bool xOxygenEventGroupCheckBit(const OxygenEventGroup_t *pxEventGroup, uint32_t ulEventBit)
|
|||
|
|
{
|
|||
|
|
if (pxEventGroup == NULL || (ulEventBit & (ulEventBit - 1)) != 0) {
|
|||
|
|
return false; // ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>¼<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>0<EFBFBD><30>ֻ<EFBFBD><D6BB>һ<EFBFBD><D2BB>bit<69><74>1<EFBFBD><31>
|
|||
|
|
}
|
|||
|
|
return (*pxEventGroup & ulEventBit) != 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param pxEventGroup ָ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
|
* @param ulEventBits Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>ͨ<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return true: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD>, false: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
|
|||
|
|
*/
|
|||
|
|
static inline bool xOxygenEventGroupCheckAnyBits(const OxygenEventGroup_t *pxEventGroup, uint32_t ulEventBits)
|
|||
|
|
{
|
|||
|
|
if (pxEventGroup == NULL) {
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
return (*pxEventGroup & ulEventBits) != 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>Ƿ<EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param pxEventGroup ָ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
|
* @param ulEventBits Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>ͨ<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return true: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD>, false: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
|
|||
|
|
*/
|
|||
|
|
static inline bool xOxygenEventGroupCheckAllBits(const OxygenEventGroup_t *pxEventGroup, uint32_t ulEventBits)
|
|||
|
|
{
|
|||
|
|
if (pxEventGroup == NULL) {
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
return (*pxEventGroup & ulEventBits) == ulEventBits;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>״̬<EFBFBD><EFBFBD>ԭʼλ<EFBFBD><EFBFBD><EFBFBD>룩
|
|||
|
|
* @param pxEventGroup ָ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD>ǰ<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Чʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
|
|||
|
|
*/
|
|||
|
|
static inline uint32_t ulOxygenEventGroupGetAllBits(const OxygenEventGroup_t *pxEventGroup)
|
|||
|
|
{
|
|||
|
|
return (pxEventGroup != NULL) ? *pxEventGroup : 0U;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>¼<EFBFBD><EFBFBD>飩
|
|||
|
|
* @param pxEventGroup ָ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
static inline void vOxygenEventGroupClearAllBits(OxygenEventGroup_t *pxEventGroup)
|
|||
|
|
{
|
|||
|
|
if (pxEventGroup != NULL) {
|
|||
|
|
*pxEventGroup = 0U;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ݹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɸѡ<EFBFBD><EFBFBD>ǰ<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param pxEventGroup ָ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
|
* @param ulFaultMask <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>루<EFBFBD><EFBFBD>FAULT_MASK_ERROR_SHOUNTDOWN<EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD>뷶Χ<EFBFBD>ڵĹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>루λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Чʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
|
|||
|
|
* @note <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뷶Χ<EFBFBD>ڣ<EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
static inline uint32_t ulOxygenEventGroupGetFaultByMask(const OxygenEventGroup_t *pxEventGroup, uint32_t ulFaultMask)
|
|||
|
|
{
|
|||
|
|
// <20><><EFBFBD><EFBFBD>У<EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
if (pxEventGroup == NULL) {
|
|||
|
|
return 0U;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// ͨ<><CDA8><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɸѡ<C9B8><D1A1><EFBFBD><EFBFBD><EFBFBD>뷶Χ<EBB7B6>ڵĹ<DAB5><C4B9><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
return (*pxEventGroup & ulFaultMask);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
extern OxygenEventGroup_t global_event;
|
|||
|
|
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#endif /* __FM33LG0XX_EVENT_H */
|
|||
|
|
|
|||
|
|
/************************ (C) COPYRIGHT Yuwell *****END OF FILE****/
|
|||
|
|
|