esphome_elektromer_han/components/xt211/gxignore.h

253 lines
8.0 KiB
C

//
// --------------------------------------------------------------------------
// 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