#ifndef __TYPES__H__
#define __TYPES__H__

#include <stdio.h>
#include <stdint.h>

typedef int             (*FUNCPTR)      ( );


enum _MEA_TYPE_
{
    EN_MEA_RLY,
    EN_MEA_RLY2,
    EN_MEA_RLY3,
    EN_MEA_ANA,
    EN_MEA_ANA2,
    EN_MEA_ANA3,
    EN_MEA_AC,
    EN_MEA_DC,
    EN_MEA_SYN,
    EN_MEA_POWER,
    EN_MEA_DD,
    EN_MEA_JLYC,
    EN_MEA_GEAR,
    EN_MEA_TQ,
    EN_MEA_INPUT1,
    EN_MEA_INPUT2,
    EN_MEA_INPUT3,
    EN_INPUT_RLY_ALL,
    EN_INPUT_RLY_FAULT,
    EN_INPUT_RLY_OTHER,
    EN_INPUT_BS_ALL,
    EN_INPUT_BS_FAULT,
    EN_INPUT_BS_OTHER,
    EN_MEA_ADJ,
    EN_MEA_YX,
    EN_OUTPUT_TRIP,
    EN_OUTPUT_SIGN,
    EN_MEA_LS,
    EN_MEA_SCRLY
};



// 调试模式断言
#ifdef DEBUG
#define ASSERT(expr) \
    do { \
        if (expr) { \
            printf("Assertion failed: %s, file %s, line %d\n", \
                #expr, __FILE__, __LINE__); \
        } \
    } while (0)
#else
#define ASSERT(expr) ((void)0)  // 发布模式禁用断言
#endif

#ifdef DEBUG
#define LOG(format, ...) \
    printf(format, ##__VA_ARGS__)
#else
#define LOG(format, ...) ((void)0)  // 发布模式禁用断言
#endif


#endif
