// // -------------------------------------------------------------------------- // Gurux Ltd // // // // Filename: $HeadURL$ // // Version: $Revision$, // $Date$ // $Author$ // // Copyright (c) Gurux Ltd // //--------------------------------------------------------------------------- // // DESCRIPTION // // This file is a part of Gurux Device Framework. // // Gurux Device Framework is Open Source software; you can redistribute it // and/or modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; version 2 of the License. // Gurux Device Framework is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU General Public License for more details. // // This code is licensed under the GNU General Public License v2. // Full text may be retrieved at http://www.gnu.org/licenses/gpl-2.0.txt //--------------------------------------------------------------------------- #ifndef GXIGNORE_H #define GXIGNORE_H #ifdef __cplusplus extern "C" { #endif /* Uncomment defines to ignore non-needed parts to make image size smaller. */ // #define DLMS_IGNORE_HDLC // #define DLMS_IGNORE_WRAPPER // #define DLMS_IGNORE_PLC // #define DLMS_IGNORE_IEC // #define DLMS_IGNORE_NOTIFY // #define DLMS_IGNORE_SERVER // #define DLMS_IGNORE_CLIENT // #define GX_DLMS_MICROCONTROLLER // #define DLMS_IGNORE_HIGH_SHA256 // #define DLMS_IGNORE_HIGH_SHA1 // #define DLMS_IGNORE_HIGH_MD5 // #define DLMS_IGNORE_AES // #define DLMS_IGNORE_HIGH_GMAC // #define DLMS_IGNORE_DATA // #define DLMS_IGNORE_REGISTER // #define DLMS_IGNORE_EXTENDED_REGISTER // #define DLMS_IGNORE_DEMAND_REGISTER // #define DLMS_IGNORE_REGISTER_ACTIVATION // #define DLMS_IGNORE_PROFILE_GENERIC // #define DLMS_IGNORE_CLOCK // #define DLMS_IGNORE_SCRIPT_TABLE // #define DLMS_IGNORE_SCHEDULE // #define DLMS_IGNORE_SPECIAL_DAYS_TABLE // #define DLMS_IGNORE_ASSOCIATION_SHORT_NAME // #define DLMS_IGNORE_ASSOCIATION_LOGICAL_NAME // #define DLMS_IGNORE_SAP_ASSIGNMENT // #define DLMS_IGNORE_IMAGE_TRANSFER // #define DLMS_IGNORE_IEC_LOCAL_PORT_SETUP // #define DLMS_IGNORE_ACTIVITY_CALENDAR // #define DLMS_IGNORE_REGISTER_MONITOR // #define DLMS_IGNORE_ACTION_SCHEDULE // #define DLMS_IGNORE_IEC_HDLC_SETUP // #define DLMS_IGNORE_IEC_TWISTED_PAIR_SETUP // #define DLMS_IGNORE_MBUS_SLAVE_PORT_SETUP // #define DLMS_IGNORE_UTILITY_TABLES // #define DLMS_IGNORE_MODEM_CONFIGURATION // #define DLMS_IGNORE_AUTO_ANSWER // #define DLMS_IGNORE_AUTO_CONNECT // #define DLMS_IGNORE_TCP_UDP_SETUP // #define DLMS_IGNORE_IP4_SETUP // #define DLMS_IGNORE_IP6_SETUP // #define DLMS_IGNORE_MAC_ADDRESS_SETUP // #define DLMS_IGNORE_PPP_SETUP // #define DLMS_IGNORE_GPRS_SETUP // #define DLMS_IGNORE_SMTP_SETUP // #define DLMS_IGNORE_GSM_DIAGNOSTIC // #define DLMS_IGNORE_REGISTER_TABLE // #define DLMS_IGNORE_STATUS_MAPPING // #define DLMS_IGNORE_SECURITY_SETUP // #define DLMS_IGNORE_DISCONNECT_CONTROL // #define DLMS_IGNORE_LIMITER // #define DLMS_IGNORE_MBUS_CLIENT // #define DLMS_IGNORE_PUSH_SETUP // #define DLMS_IGNORE_PARAMETER_MONITOR // #define DLMS_IGNORE_WIRELESS_MODE_Q_CHANNEL // #define DLMS_IGNORE_MBUS_MASTER_PORT_SETUP // #define DLMS_IGNORE_ZIG_BEE_SAS_STARTUP // #define DLMS_IGNORE_ZIG_BEE_SAS_JOIN // #define DLMS_IGNORE_ZIG_BEE_SAS_APS_FRAGMENTATION // #define DLMS_IGNORE_ZIG_BEE_NETWORK_CONTROL // #define DLMS_IGNORE_DATA_PROTECTION // #define DLMS_IGNORE_ACCOUNT // #define DLMS_IGNORE_CREDIT // #define DLMS_IGNORE_CHARGE // #define DLMS_IGNORE_TOKEN_GATEWAY // #define DLMS_IGNORE_COMPACT_DATA // #define DLMS_IGNORE_LLC_SSCS_SETUP // #define DLMS_IGNORE_PRIME_NB_OFDM_PLC_PHYSICAL_LAYER_COUNTERS // #define DLMS_IGNORE_PRIME_NB_OFDM_PLC_MAC_SETUP // #define DLMS_IGNORE_PRIME_NB_OFDM_PLC_MAC_FUNCTIONAL_PARAMETERS // #define DLMS_IGNORE_PRIME_NB_OFDM_PLC_MAC_COUNTERS // #define DLMS_IGNORE_PRIME_NB_OFDM_PLC_MAC_NETWORK_ADMINISTRATION_DATA // #define DLMS_IGNORE_PRIME_NB_OFDM_PLC_APPLICATIONS_IDENTIFICATION // #define DLMS_IGNORE_ARBITRATOR // #define DLMS_IGNORE_G3_PLC_MAC_LAYER_COUNTERS // #define DLMS_IGNORE_G3_PLC_MAC_SETUP // #define DLMS_IGNORE_G3_PLC_6LO_WPAN // #define DLMS_IGNORE_FUNCTION_CONTROL // #define DLMS_IGNORE_ARRAY_MANAGER // #define DLMS_IGNORE_MALLOC // #define DLMS_USE_CUSTOM_MALLOC // #define DLMS_IGNORE_OBJECT_POINTERS // #define DLMS_IGNORE_FLOAT32 // #define DLMS_IGNORE_FLOAT64 //Use EPOCH time. This can be used to improve memory usage. // #define DLMS_USE_EPOCH_TIME //Use UTC time zone. Read more: https://www.gurux.fi/Gurux.DLMS.Objects.GXDLMSClock // #define DLMS_USE_UTC_TIME_ZONE // #define DLMS_IGNORE_SET // #define DLMS_IGNORE_ACTION // String converters are not used. // #define DLMS_IGNORE_STRING_CONVERTER //Framework send debug information that can be used in debugging. // #define DLMS_DEBUG //Defined if AVR is used. // #define USE_AVR //Defined if program memory (flash) is used instead of SRAM. // #define USE_PROGMEM // COSEM objects are using DLMS standard data types. // Using exact data types will save memory, but reading failes if meter returns wrong data type, // ex. Int8 when data type should be UInt8. // #define DLMS_COSEM_EXACT_DATA_TYPES // If innovation counter size is UInt64 and not default UInt32. // #define DLMS_COSEM_INVOCATION_COUNTER_SIZE64 // Use 32 bit max size bytebuffer instead of 16 bit. // This might be used in client side if a lot of data is read from the meter. // #define GX_DLMS_BYTE_BUFFER_SIZE_32 //Serializer is not used. //DLMS_IGNORE_SERIALIZER //Serializer is used instead of file system. //#define GX_DLMS_SERIALIZER //GENERAL_CIPHERING is not used. //#define DLMS_IGNORE_GENERAL_CIPHERING /** * Ignore HDLC Control field check. Some meters are sending invalid control field. Note! It's not recommended to use this. */ //#define DLMS_IGNORE_HDLC_CHECK // #define DLMS_ITALIAN_STANDARD // #define DLMS_INDONESIA_STANDARD #ifdef ARDUINO ///////////////////////////////////////////////////////////////////////////// //If Arduino is used. #include "ArduinoIgnore.h" ///////////////////////////////////////////////////////////////////////////// #endif //ARDUINO #ifdef ARDUINO_ARCH_AVR ///////////////////////////////////////////////////////////////////////////// //If Arduino is used. #include "ArduinoIgnore.h" #define DLMS_IGNORE_IP6_SETUP #define DLMS_USE_EPOCH_TIME #define DLMS_IGNORE_NOTIFY #define GX_DLMS_MICROCONTROLLER #define DLMS_IGNORE_HIGH_SHA256 #define DLMS_IGNORE_HIGH_SHA1 #define DLMS_IGNORE_HIGH_MD5 #define USE_PROGMEM ///////////////////////////////////////////////////////////////////////////// #endif //ARDUINO_ARCH_AVR #ifdef ARDUINO_ARCH_ESP32 ///////////////////////////////////////////////////////////////////////////// //If Arduino ESP32 is used. #include "ArduinoIgnore.h" #define DLMS_IGNORE_IP6_SETUP #define DLMS_USE_EPOCH_TIME #define DLMS_IGNORE_NOTIFY #define GX_DLMS_MICROCONTROLLER #define DLMS_IGNORE_HIGH_SHA256 #define DLMS_IGNORE_HIGH_SHA1 #define DLMS_IGNORE_HIGH_MD5 ///////////////////////////////////////////////////////////////////////////// #endif //ARDUINO_ARCH_ESP32 #ifdef ARDUINO_ARCH_ESP8266 ///////////////////////////////////////////////////////////////////////////// //If Arduino ESP is used. #include "ArduinoIgnore.h" #ifndef ESP_PLATFORM #define ESP_PLATFORM #endif #define DLMS_IGNORE_IP6_SETUP #define DLMS_USE_EPOCH_TIME #define DLMS_IGNORE_NOTIFY #define GX_DLMS_MICROCONTROLLER #define DLMS_IGNORE_HIGH_SHA256 #define DLMS_IGNORE_HIGH_SHA1 #define DLMS_IGNORE_HIGH_MD5 ///////////////////////////////////////////////////////////////////////////// #endif //ARDUINO_ARCH_ESP8266 #ifdef USE_ESP32_FRAMEWORK_ESP_IDF #include "ArduinoIgnore.h" #ifndef ESP_PLATFORM #define ESP_PLATFORM #endif #define DLMS_IGNORE_IP6_SETUP #define DLMS_USE_EPOCH_TIME #define DLMS_IGNORE_NOTIFY #define DLMS_IGNORE_FUNCTION_CONTROL #define GX_DLMS_MICROCONTROLLER #define DLMS_IGNORE_HIGH_SHA256 #define DLMS_IGNORE_HIGH_SHA1 #define DLMS_IGNORE_HIGH_MD5 #endif #ifdef __cplusplus } #endif #endif //GXIGNORE_H