Make it possible to select multiple datalinks (#717)
* datalink/dlenv: Rename addr -> addr6 when ipv6 If we are building this file with BACDL_BIP6 and BACDL_BIP enabled we get two definitions for addr. For this reason rename other addr6 so there will be no conflict. * config: Reorder MAX_APDU selection so biggest is first When multiple datalinks are selected we should guess biggest MAX_APDU. To do that we need to order selection based on biggest to lowest. With this change MAX_APDU should be more correct most of the times and user does not need to specifie that by hand. * Make it possible to select multiple datalinks Before we had option to select all datalinks. Many times you however do not need all datalinks but just some. Change logic so that it does not matter if user selects multiple datalinks. Now user just select what they want and everything should just work. * dlenv: Move variables start of function Because we use C89 we need to move variables start of block. * datalink: Hide strings.h because Windows Windows does not support strings.h. Hide it from it. --------- Co-authored-by: Kari Argillander <kari.argillander@fidelix.com>
This commit is contained in:
@@ -14,6 +14,25 @@
|
||||
|
||||
#if defined(BACDL_ETHERNET)
|
||||
#include "bacnet/datalink/ethernet.h"
|
||||
#endif
|
||||
#if defined(BACDL_ARCNET)
|
||||
#include "bacnet/datalink/arcnet.h"
|
||||
#endif
|
||||
#if defined(BACDL_MSTP)
|
||||
#include "bacnet/datalink/dlmstp.h"
|
||||
#endif
|
||||
#if defined(BACDL_BIP)
|
||||
#include "bacnet/datalink/bip.h"
|
||||
#include "bacnet/datalink/bvlc.h"
|
||||
#include "bacnet/basic/bbmd/h_bbmd.h"
|
||||
#endif
|
||||
#if defined(BACDL_BIP6)
|
||||
#include "bacnet/datalink/bip6.h"
|
||||
#include "bacnet/datalink/bvlc6.h"
|
||||
#include "bacnet/basic/bbmd6/h_bbmd6.h"
|
||||
#endif
|
||||
|
||||
#if defined(BACDL_ETHERNET) && !defined(BACDL_MULTIPLE)
|
||||
#define MAX_MPDU ETHERNET_MPDU_MAX
|
||||
|
||||
#define datalink_init ethernet_init
|
||||
@@ -24,8 +43,7 @@
|
||||
#define datalink_get_my_address ethernet_get_my_address
|
||||
#define datalink_maintenance_timer(s)
|
||||
|
||||
#elif defined(BACDL_ARCNET)
|
||||
#include "bacnet/datalink/arcnet.h"
|
||||
#elif defined(BACDL_ARCNET) && !defined(BACDL_MULTIPLE)
|
||||
#define MAX_MPDU ARCNET_MPDU_MAX
|
||||
|
||||
#define datalink_init arcnet_init
|
||||
@@ -36,8 +54,7 @@
|
||||
#define datalink_get_my_address arcnet_get_my_address
|
||||
#define datalink_maintenance_timer(s)
|
||||
|
||||
#elif defined(BACDL_MSTP)
|
||||
#include "bacnet/datalink/dlmstp.h"
|
||||
#elif defined(BACDL_MSTP) && !defined(BACDL_MULTIPLE)
|
||||
#define MAX_MPDU DLMSTP_MPDU_MAX
|
||||
|
||||
#define datalink_init dlmstp_init
|
||||
@@ -48,10 +65,7 @@
|
||||
#define datalink_get_my_address dlmstp_get_my_address
|
||||
#define datalink_maintenance_timer(s)
|
||||
|
||||
#elif defined(BACDL_BIP)
|
||||
#include "bacnet/datalink/bip.h"
|
||||
#include "bacnet/datalink/bvlc.h"
|
||||
#include "bacnet/basic/bbmd/h_bbmd.h"
|
||||
#elif defined(BACDL_BIP) && !defined(BACDL_MULTIPLE)
|
||||
#define MAX_MPDU BIP_MPDU_MAX
|
||||
|
||||
#define datalink_init bip_init
|
||||
@@ -74,10 +88,7 @@ void routed_get_my_address(BACNET_ADDRESS *my_address);
|
||||
#endif
|
||||
#define datalink_maintenance_timer(s) bvlc_maintenance_timer(s)
|
||||
|
||||
#elif defined(BACDL_BIP6)
|
||||
#include "bacnet/datalink/bip6.h"
|
||||
#include "bacnet/datalink/bvlc6.h"
|
||||
#include "bacnet/basic/bbmd6/h_bbmd6.h"
|
||||
#elif defined(BACDL_BIP6) && !defined(BACDL_MULTIPLE)
|
||||
#define MAX_MPDU BIP6_MPDU_MAX
|
||||
|
||||
#define datalink_init bip6_init
|
||||
@@ -88,7 +99,7 @@ void routed_get_my_address(BACNET_ADDRESS *my_address);
|
||||
#define datalink_get_my_address bip6_get_my_address
|
||||
#define datalink_maintenance_timer(s) bvlc6_maintenance_timer(s)
|
||||
|
||||
#elif defined(BACDL_ALL) || defined(BACDL_NONE) || defined(BACDL_CUSTOM)
|
||||
#elif !defined(BACDL_TEST) /* Multiple, none or custom datalink */
|
||||
#include "bacnet/npdu.h"
|
||||
|
||||
#define MAX_HEADER (8)
|
||||
|
||||
Reference in New Issue
Block a user