#ifndef _GLOBALCONFIG_H_ #define _GLOBALCONFIG_H_ #include #include #include #include #include #include #include "../API_log/SH_log.h" #include "SH_CommonFunc.hpp" #include "../mqttclient/SH_MqttClient.h" #include "../minilzo-2.10/minilzo.h" #define SECTION_MAX_LEN 1024 //******************** 全局变量********************** enum enumZigBeeTransmitStatus { NO_ENTER_TRANSMITTING_STATUS = 0, ENTER_TRANSMITTING_STATUS }; //#define NR5G_MODULE //#define Q4G_MODULE //#define WIFI_MODULE //#define NR5G_MEIGE #define G2UL_GATEWAY //#define IMX6UL_GATEWAY class GlobalConfig { public : static int RUN_MODE; //1调试模式 0运行模式 static int QuitFlag_G; //程序退出标志 static int LinkStatus_G; //和服务器连接状态 static int LinkCount; static int NetSignal; static int serverStatus; static int net0Status; static std::string NR5GTemp; static std::string NetStatus; static std::string NetType; static std::string Version; //软件版本号 static std::string MacAddr_G; //设备MAC地址 static std::string MacAddr_G2; //设备光纤MAC地址 static std::string IpAddr_G; //设备IP static std::string DbName_G; //数据库名字 static std::string Config_G; //配置文件 static std::string ServerIP; //服务器地址 static int ServerPort; //服务器端口 static int threadStatus; static std::string UartName_G; static TopicList Topic_G; //发布的主题 static ZigbeeInfo ZigbeeInfo_G; //gateway zigbee info static ZIGBEE Zigbee_G; static GPIOInfo GPIO_G; static enumZigBeeTransmitStatus EnterZigBeeWaveTransmittingFlag_G; // 进入ZigBee网络原始数据传输状态标志 static int EnterZigBeeWaveTransmittingCnt_G; // 进入ZigBee网络原始数据传输状态计数器,以秒为单位进行计数 static int day; }; #define NONE "\033[m" #define RED "\033[0;32;31m" #define LIGHT_RED "\033[1;31m" #define GREEN "\033[0;32;32m" #define LIGHT_GREEN "\033[1;32m" #define BLUE "\033[0;32;34m" #define LIGHT_BLUE "\033[1;34m" #define DARY_GRAY "\033[1;30m" #define CYAN "\033[0;36m" #define LIGHT_CYAN "\033[1;36m" #define PURPLE "\033[0;35m" #define LIGHT_PURPLE "\033[1;35m" #define BROWN "\033[0;33m" #define YELLOW "\033[1;33m" #define LIGHT_GRAY "\033[0;37m" #define WHITE "\033[1;37m" #ifdef IMX6UL_GATEWAY #define SAVE_COUNT 4320 #define OneWeek 432000 //5天 #endif #ifdef G2UL_GATEWAY #define SAVE_COUNT 4800*4 #define OneWeek 604800*7 #endif #define perror_info(info) { \ if (GlobalConfig::RUN_MODE) { \ perror(info); \ }\ } #define print_dev(info,...) {\ if (GlobalConfig::RUN_MODE) {\ printf(YELLOW"[threadid:%ld][%s][%s:%d]" info NONE, syscall(SYS_gettid), boost::posix_time::to_simple_string(boost::posix_time::second_clock::local_time()).c_str(),__FUNCTION__, __LINE__, ##__VA_ARGS__);\ }\ } #define print_error(info,...) {\ if (GlobalConfig::RUN_MODE) {\ printf(LIGHT_RED"[threadid:%ld][%s][%s:%d]" info NONE, syscall(SYS_gettid), boost::posix_time::to_simple_string(boost::posix_time::second_clock::local_time()).c_str(),__FUNCTION__, __LINE__, ##__VA_ARGS__);\ }\ } #define print_purple(info,...) {\ if (GlobalConfig::RUN_MODE) {\ printf(PURPLE"[threadid:%ld][%s][%s:%d]" info NONE, syscall(SYS_gettid), boost::posix_time::to_simple_string(boost::posix_time::second_clock::local_time()).c_str(),__FUNCTION__, __LINE__, ##__VA_ARGS__);\ }\ } #define print_control(info,...) {\ if (GlobalConfig::RUN_MODE) {\ printf(GREEN"[threadid:%ld][%s][%s:%d]" info NONE, syscall(SYS_gettid), boost::posix_time::to_simple_string(boost::posix_time::second_clock::local_time()).c_str(),__FUNCTION__, __LINE__, ##__VA_ARGS__);\ }\ } #define print_red(info,...) {\ if (GlobalConfig::RUN_MODE) {\ printf(RED"[threadid:%ld][%s][%s:%d]" info NONE, syscall(SYS_gettid), boost::posix_time::to_simple_string(boost::posix_time::second_clock::local_time()).c_str(),__FUNCTION__, __LINE__, ##__VA_ARGS__);\ }\ } #define print_light_green(info,...) {\ if (GlobalConfig::RUN_MODE) {\ printf(LIGHT_GREEN"[threadid:%ld][%s][%s:%d]" info NONE, syscall(SYS_gettid), boost::posix_time::to_simple_string(boost::posix_time::second_clock::local_time()).c_str(),__FUNCTION__, __LINE__, ##__VA_ARGS__);\ }\ } #define print_blue(info,...) {\ if (GlobalConfig::RUN_MODE) {\ printf(BLUE"[threadid:%ld][%s][%s:%d]" info NONE, syscall(SYS_gettid), GetCurrentTime().c_str(),__FUNCTION__, __LINE__, ##__VA_ARGS__);\ }\ } #define print_light_blue(info,...) {\ if (GlobalConfig::RUN_MODE) {\ printf(LIGHT_BLUE"[threadid:%ld][%s][%s:%d]" info NONE, syscall(SYS_gettid),boost::posix_time::to_simple_string(boost::posix_time::second_clock::local_time()).c_str(),__FUNCTION__, __LINE__, ##__VA_ARGS__);\ }\ } #define print_dary_gray(info,...) {\ if (GlobalConfig::RUN_MODE) {\ printf(DARY_GRAY"[threadid:%ld][%s][%s:%d]" info NONE, syscall(SYS_gettid), boost::posix_time::to_simple_string(boost::posix_time::second_clock::local_time()).c_str(),__FUNCTION__, __LINE__, ##__VA_ARGS__);\ }\ } #define print_cyan(info,...) {\ if (GlobalConfig::RUN_MODE) {\ printf(CYAN info"[threadid:%ld][%s][%s:%d]" info NONE, syscall(SYS_gettid), boost::posix_time::to_simple_string(boost::posix_time::second_clock::local_time()).c_str(),__FUNCTION__, __LINE__, ##__VA_ARGS__);\ }\ } #define print_debug(info,...) {\ if (GlobalConfig::RUN_MODE) {\ printf(LIGHT_CYAN info NONE, ##__VA_ARGS__);\ }\ } #define print_light_purple(info,...) {\ if (GlobalConfig::RUN_MODE) {\ printf(LIGHT_PURPLE"[threadid:%ld][%s][%s:%d]" info NONE, syscall(SYS_gettid), boost::posix_time::to_simple_string(boost::posix_time::second_clock::local_time()).c_str(),__FUNCTION__, __LINE__, ##__VA_ARGS__);\ }\ } #define print_brown(info,...) {\ if (GlobalConfig::RUN_MODE) {\ printf(BROWN"[threadid:%ld][%s][%s:%d]" info NONE, syscall(SYS_gettid), boost::posix_time::to_simple_string(boost::posix_time::second_clock::local_time()).c_str(),__FUNCTION__, __LINE__, ##__VA_ARGS__);\ }\ } #define print_info(info,...) {\ if (GlobalConfig::RUN_MODE) {\ printf(LIGHT_GRAY"[threadid:%ld][%s][%s:%d]" info NONE, syscall(SYS_gettid), boost::posix_time::to_simple_string(boost::posix_time::second_clock::local_time()).c_str(),__FUNCTION__, __LINE__, ##__VA_ARGS__);\ }\ } #define print_white(info,...) {\ if (GlobalConfig::RUN_MODE) {\ printf(WHITE"[threadid:%ld][%s][%s:%d]" info NONE, syscall(SYS_gettid), boost::posix_time::to_simple_string(boost::posix_time::second_clock::local_time()).c_str(),__FUNCTION__, __LINE__, ##__VA_ARGS__);\ }\ } //按8 取整 #define Length_(len) do{ \ len = ((((len>>3) + ((len&0x7)>0?1:0))<<4) + 8); \ } while (0) #endif