#ifndef _MODULE_INTERNAL_COMM_H_ #define _MODULE_INTERNAL_COMM_H_ //------------------------------------------------------------------------------ #define RELAY_CHECK_TIME (5) // s #define OUTPUT_VOL_CHK_TIME (200) // ms #define TEN_MINUTES (600) // s #define FORCE_STOP_TIME (30) //#define TEN_MINUTES 5 #define ENV_TEMP_MIN (45) #define ENV_TEMP_MAX (50) #define DEFAULT_AC_INDEX (2) #define COLOR_MAX_LV (100) #define COLOR_MIN_LV (0) #define AC_DEFAULT_VOL (220) #define NDEFAULT_AC_INDEX (2) #define OVP_UVP_CHK_COUNT (3) #define VIN_MAX_VOLTAGE_IEC (285) // 大於該值 : OVP #define VIN_MAX_REV_VOLTAGE_IEC (275) // 小於賦歸 OVP #define VIN_MIN_VOLTAGE_IEC (160) // 小於該值 : UVP #define VIN_MIN_REV_VOLTAGE_IEC (170) // 大於賦歸 UVP #define VIN_MAX_VOLTAGE_UL (315) // 大於該值 : OVP // 美規 (W) #define VIN_MAX_REV_VOLTAGE_UL (305) // 小於賦歸 OVP #define VIN_MIN_VOLTAGE_UL (210) // 小於該值 : UVP #define VIN_MIN_REV_VOLTAGE_UL (220) // 大於賦歸 UVP #define VIN_DROP_VOLTAGE (150) // 小於該值 : ac drop #define VOUT_MAX_VOLTAGE (995) #define VOUT_MIN_VOLTAGE (150) #define IOUT_MAX_CURRENT (50) #define MAX_FAN_SPEED (14000) #define MIN_FAN_SPEED (3000) #define NORMAL_FAN_SPEED (7000) // GFD Status #define GFD_IDLE (0) #define GFD_CABLECHK (1) #define GFD_PRECHARGE (2) #define GFD_CHARGING (3) // LED Intensity (rate) #define LED_INTENSITY_DARKEST (0.2) #define LED_INTENSITY_MEDIUM (0.6) #define LED_INTENSITY_BRIGHTEST (1) // EE Spec #define LED_BRIGHTNESS_LV_HIGH (1) #define LED_BRIGHTNESS_LV_MID (0.5) #define LED_BRIGHTNESS_LV_LOW (0.2) // 最小切換 Relay 電壓 #define SELF_TO_CHANGE_RELAY_STATUS (600) // 透過電壓確認 Relay 是否搭上的依據電壓 #define CHECK_RELAY_STATUS (300) #define CHECK_RELAY_STATUS_GAP (100) // 安全在停止充電程序中斷開 Relay 的電流 #define SEFETY_SWITCH_RELAY_CUR (50)//20 DS60-120 modify // 確認 Relay Welding 電壓 #define RELAY_WELDING_DET (300) #define AC_OVP (1) #define AC_UVP (2) #define AC_OCP (4) #define AC_OTP (8) #define AC_GMI_FAULT (16) #define AC_CP_ERROR (32) #define AC_AC_LEAKAGE (64) #define AC_DC_LEAKAGE (128) #define AC_SYSTEM_SELFTEST_FAULT (256) #define AC_HANDSHAKE_TIMEOUT (512) #define AC_EMC_STOP (1024) #define AC_RELAY_WELDING (2048) #define AC_GF_MODULE_FAULT (4096) #define AC_SHUTTER_FAULT (8192) #define AC_LOCKER_FAULT (16384) #define AC_POWER_DROP (32768) #define AC_CIRCUIT_SHORT (65536) #define AC_ROTARY_SWITCH_FAULT (131072) #define AC_RELAY_DRIVE_FAULT (262144) #define log_info(format, args...) StoreLogMsg("[%s:%d][%s][Info] "format, (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__)), __LINE__, __FUNCTION__, ##args) #define log_warn(format, args...) StoreLogMsg("[%s:%d][%s][Warn] "format, (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__)), __LINE__, __FUNCTION__, ##args) #define log_error(format, args...) StoreLogMsg("[%s:%d][%s][Error] "format, (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__)), __LINE__, __FUNCTION__, ##args) //------------------------------------------------------------------------------ typedef struct StGunPNState { uint8_t GunP: 1; uint8_t GunN: 1; uint8_t Reserved: 6; } GunPNState; typedef struct StPreCharginState { uint8_t AcContactor : 1; //bit 0 uint8_t CcsPrecharge : 1; //bit 1 uint8_t Reserved: 6; } PreChargingState; //------------------------------------------------------------------------------ uint32_t GetTimeoutValue(struct timeval _sour_time); unsigned long GetClockTimeoutValue(struct timespec _start_time); int DiffTimeb(struct timeb ST, struct timeb ET); void GetClockTime(struct timespec* _now_time, void* null); #endif /* _MODULE_INTERNAL_COMM_H_ */