/********************************************************************************************************* * Module : board_cfg * Abstract : controller board expecil configuration !!!! * Version : 1.0.0 * Author : Leopul(COPYRIGHT 2025 ~ 2027 Leopul. All rights reserved.) * Complete : 2025-02-16 * Content : None * Note : None *********************************************************************************************************/ #ifndef __BOARD_CFG_H_ #define __BOARD_CFG_H_ #define OPEN_WATCH_DOG 0 #define OPEN_NOT_READ_EN 0 #define POWER_DC 0 #define POWER_AC 1 #define POWER_AC_3_3 4 #define POWER_AC_3_1 2 #define POWER_AC_3_2 3 #define INPUT_PT_NONE 0 /* detect module count */ #define INPUT_PT_1 1 #define INPUT_PT_2 2 #define INPUT_PT_3 3 #define ZERO_LINE_CTRL_NO 0 #define ZERO_LINE_CTRL_YES 1 #define OUTPUT_CTRL_NO 0 /* */ #define OUTPUT_CTRL_YES 1 #define DEIVECE(elec_type,input_pt,ctrl_zero_flag,zero_count,ctrl_output_flag,relay_count) ((elec_type << 12)\ |(input_pt << 10)\ |(ctrl_zero_flag << 9)\ |(zero_count << 7)\ |(ctrl_output_flag << 6)\ |relay_count) #define PT_SUB_COUNT_3 3 #define PT_SUB_COUNT_4 4 #define PRJ_8_NEW 0 #define PRJ_3_4 0 #define PRJ_3_2 0 #define PRJ_DC_8 0 #define PRJ_6_NEW 0 #define PRJ_3_NEW 0 #define PRJ_5_NEW 0 #define PRJ_4_SELF_LOCK 0 #define PRJ_4_BASE 0 #define PRJ_1_BASE 0 #define PRJ_1_SELF_LOCK 0 #define PRJ_1_ALL_MON 0 #define PRJ_4_NO_MON 0 #define PRJ_3_BASE 1 #define PRJ_3_NEW_2 0 #define PRJ_7_NEW 0 #define PRJ_4_SELF_LOCK_2_2 0 #define PPRJ_4_BASE_2_2 0 #define PRJ_7_NO_MON 0 #define PRJ_8_NO_MON 0 #if PRJ_8 #define POWER_TYPE (POWER_AC) #define INPUT_PT_NUM (INPUT_PT_2) #define ZERO_CONTRL (ZERO_LINE_CTRL_NO) #define ZERO_CTRL_NUM (ZERO_LINE_NONE) #define OUTPUT_CONTRL (OUTPUT_CTRL_YES) #define RelaySlaveChaNum 8 #define RELAY_REMENBER 1 #define SURPPORT_2_PT 0 #define SUPPORT_ALL_ON_OFF 0 #define PT_SUB_COUNT (PT_SUB_COUNT_4) #define ACSingCurrid 1 #elif PRJ_4_NO_MON #define RelaySlaveChaNum 4 #define ACSingCurrid 2 #define SURPPORT_2_PT 0 #define PT_SUB_COUNT (RelaySlaveChaNum) #define SUPPORT_MON 1 #elif PRJ_6_NEW #define RelaySlaveChaNum 6 #define ACSingCurrid 1 #define SURPPORT_2_PT 1 #define PT_SUB_COUNT (PT_SUB_COUNT_3) #define SUPPORT_DETECTION 1 #define SUPPORT_RELAY_REMENBER 1 #elif PRJ_8_NEW #define RelaySlaveChaNum 8 #define ACSingCurrid 1 #define SURPPORT_2_PT 1 #define PT_SUB_COUNT (PT_SUB_COUNT_4) #define SUPPORT_DETECTION 1 #define SUPPORT_RELAY_REMENBER 1 #elif PRJ_3_NEW #define RelaySlaveChaNum 3 #define ACSingCurrid 2 #define SURPPORT_2_PT 0 #define PT_SUB_COUNT (RelaySlaveChaNum) #define SUPPORT_DETECTION 1 #define SUPPORT_RELAY_REMENBER 1 #define SUPPORT_4_ON_FLASH 1 #define SUPPORT_ALL_ON_OFF 1 #elif PRJ_3_BASE #define RelaySlaveChaNum 3 #define ACSingCurrid 2 #define SURPPORT_2_PT 0 #define PT_SUB_COUNT (RelaySlaveChaNum) #define SUPPORT_DETECTION 1 #define SUPPORT_RELAY_REMENBER 1 #define SUPPORT_ALL_ON_OFF 1 #elif PRJ_5_NEW // #define RelaySlaveChaNum 5 // #define ACSingCurrid 1 // #define SURPPORT_2_PT 1 // #define PT_SUB_COUNT (PT_SUB_COUNT_3) // #define SUPPORT_DETECTION 1 // #define SUPPORT_RELAY_REMENBER 1 #define RelaySlaveChaNum 5 #define ACSingCurrid 1 #define SURPPORT_2_PT 0 #define PT_SUB_COUNT (RelaySlaveChaNum) #define SUPPORT_DETECTION 1 #define SUPPORT_RELAY_REMENBER 1 #elif PRJ_4_SELF_LOCK #define RelaySlaveChaNum 4 #define ACSingCurrid 2 #define SURPPORT_2_PT 0 #define PT_SUB_COUNT (RelaySlaveChaNum) #define SUPPORT_DETECTION 1 #define SUPPORT_RELAY_REMENBER 1 #define SUPPORT_SELF_LOCK 1 #elif PRJ_4_KEY_EXIT #define RelaySlaveChaNum 4 #define ACSingCurrid 2 #define SURPPORT_2_PT 0 #define PT_SUB_COUNT (RelaySlaveChaNum) #define SUPPORT_DETECTION 1 #define SUPPORT_RELAY_REMENBER 1 #define SUPPORT_KEY_EXIT 1 #elif PRJ_4_BASE #define RelaySlaveChaNum 4 #define ACSingCurrid 2 #define SURPPORT_2_PT 0 #define PT_SUB_COUNT (RelaySlaveChaNum) #define SUPPORT_DETECTION 1 #define SUPPORT_RELAY_REMENBER 1 #define SUPPORT_ALL_ON_OFF 1 #elif PPRJ_4_BASE_2_2 #define RelaySlaveChaNum 4 #define ACSingCurrid 2 #define SURPPORT_2_PT 0 #define PT_SUB_COUNT (RelaySlaveChaNum) #define SUPPORT_DETECTION 1 #define SUPPORT_RELAY_REMENBER 1 #define SUPPORT_ALL_ON_OFF 1 #define SUPPORT_CTRL2_LOCK2 1 #define AVALIABLE_RELAY 2 #elif PPRJ_4_BASE_3_1 #define RelaySlaveChaNum 4 #define ACSingCurrid 2 #define SURPPORT_2_PT 0 #define PT_SUB_COUNT (RelaySlaveChaNum) #define SUPPORT_DETECTION 1 #define SUPPORT_RELAY_REMENBER 1 #define SUPPORT_ALL_ON_OFF 1 #define SUPPORT_CTRL2_LOCK2 1 #define AVALIABLE_RELAY 3 #elif PRJ_1_BASE #define RelaySlaveChaNum 1 #define ACSingCurrid 2 #define SURPPORT_2_PT 0 #define PT_SUB_COUNT (RelaySlaveChaNum) #define SUPPORT_DETECTION 1 #define SUPPORT_RELAY_REMENBER 1 #define SUPPORT_ALL_ON_OFF 1 #elif PRJ_1_SELF_LOCK #define RelaySlaveChaNum 1 #define ACSingCurrid 2 #define SURPPORT_2_PT 0 #define PT_SUB_COUNT (RelaySlaveChaNum) #define SUPPORT_DETECTION 1 #define SUPPORT_RELAY_REMENBER 1 #define SUPPORT_SELF_LOCK 1 #elif PRJ_1_ALL_MON #define RelaySlaveChaNum 1 #define ACSingCurrid 2 #define SURPPORT_2_PT 0 #define PT_SUB_COUNT (RelaySlaveChaNum) #define SUPPORT_MON 1 #elif PRJ_3_NEW_2 #define RelaySlaveChaNum 3 #define ACSingCurrid 2 #define SURPPORT_2_PT 0 #define PT_SUB_COUNT (RelaySlaveChaNum) #define SUPPORT_DETECTION 1 #define SUPPORT_RELAY_REMENBER 1 #define SUPPORT_SELF_LOCK 1 #elif PRJ_7_NEW #define RelaySlaveChaNum 7 #define ACSingCurrid 1 #define SURPPORT_2_PT 1 #define PT_SUB_COUNT (PT_SUB_COUNT_4) #define SUPPORT_DETECTION 1 #define SUPPORT_RELAY_REMENBER 1 #elif PRJ_7_NO_MON #define RelaySlaveChaNum 7 #define ACSingCurrid 2 #define SURPPORT_2_PT 1 #define PT_SUB_COUNT (PT_SUB_COUNT_4) #define SUPPORT_MON 1 #elif PRJ_8_NO_MON #define RelaySlaveChaNum 8 #define ACSingCurrid 2 #define SURPPORT_2_PT 1 #define PT_SUB_COUNT (PT_SUB_COUNT_4) #define SUPPORT_MON 1 #endif #endif