diff --git a/bacnet-stack/datalink.c b/bacnet-stack/datalink.c index 8ffd6534..6fa505c0 100644 --- a/bacnet-stack/datalink.c +++ b/bacnet-stack/datalink.c @@ -48,3 +48,36 @@ void (*datalink_get_broadcast_address)(BACNET_ADDRESS * dest); void (*datalink_get_my_address)(BACNET_ADDRESS * my_address); +void datalink_configure(void) +{ +#if defined(BACDL_ETHERNET) + datalink_init = ethernet_init; + datalink_send_pdu = ethernet_send_pdu; + datalink_receive = ethernet_receive; + datalink_cleanup = ethernet_cleanup; + datalink_get_broadcast_address = ethernet_get_broadcast_address; + datalink_get_my_address = ethernet_get_my_address; +#elif defined(BACDL_ARCNET) + datalink_init = arcnet_init; + datalink_send_pdu = arcnet_send_pdu; + datalink_receive = arcnet_receive; + datalink_cleanup = arcnet_cleanup; + datalink_get_broadcast_address = arcnet_get_broadcast_address; + datalink_get_my_address = arcnet_get_my_address; +#elif defined(BACDL_MSTP) + datalink_init = dlmstp_init; + datalink_send_pdu = dlmstp_send_pdu; + datalink_receive = dlmstp_receive; + datalink_cleanup = dlmstp_cleanup; + datalink_get_broadcast_address = dlmstp_get_broadcast_address; + datalink_get_my_address = dlmstp_get_my_address; +#elif defined(BACDL_BIP) + datalink_init = bip_init; + datalink_send_pdu = bip_send_pdu; + datalink_receive = bip_receive; + datalink_cleanup = bip_cleanup; + datalink_get_broadcast_address = bip_get_broadcast_address; + datalink_get_my_address = bip_get_my_address; +#endif + } +} diff --git a/bacnet-stack/demo/epics/main.c b/bacnet-stack/demo/epics/main.c index 70764577..3b5114e4 100644 --- a/bacnet-stack/demo/epics/main.c +++ b/bacnet-stack/demo/epics/main.c @@ -271,7 +271,7 @@ static uint8_t Read_Properties(uint32_t device_instance) } return invoke_id; -} +} int main(int argc, char *argv[]) { diff --git a/bacnet-stack/demo/handler/h_rpm.c b/bacnet-stack/demo/handler/h_rpm.c index 701eef9d..13ffd4f2 100644 --- a/bacnet-stack/demo/handler/h_rpm.c +++ b/bacnet-stack/demo/handler/h_rpm.c @@ -311,7 +311,7 @@ void handler_read_property_multiple( int32_t array_index = 0; /* jps_debug - see if we are utilizing all the buffer */ - /* memset(&Handler_Transmit_Buffer[0], 0xff, MAX_MPDU);*/ + /* memset(&Handler_Transmit_Buffer[0], 0xff, sizeof(Handler_Transmit_Buffer));*/ /* encode the NPDU portion of the packet */ datalink_get_my_address(&my_address); npdu_encode_npdu_data(&npdu_data, false, MESSAGE_PRIORITY_NORMAL); diff --git a/bacnet-stack/demo/handler/txbuf.c b/bacnet-stack/demo/handler/txbuf.c index 25a50b53..fe1b27fe 100644 --- a/bacnet-stack/demo/handler/txbuf.c +++ b/bacnet-stack/demo/handler/txbuf.c @@ -27,4 +27,4 @@ #include "config.h" #include "datalink.h" -uint8_t Handler_Transmit_Buffer[MAX_MPDU] = { 0 }; +uint8_t Handler_Transmit_Buffer[MAX_PDU] = { 0 }; diff --git a/bacnet-stack/demo/handler/txbuf.h b/bacnet-stack/demo/handler/txbuf.h index 4b12ea63..bb7d8955 100644 --- a/bacnet-stack/demo/handler/txbuf.h +++ b/bacnet-stack/demo/handler/txbuf.h @@ -30,6 +30,6 @@ #include "config.h" #include "datalink.h" -extern uint8_t Handler_Transmit_Buffer[MAX_MPDU]; +extern uint8_t Handler_Transmit_Buffer[MAX_PDU]; #endif diff --git a/bacnet-stack/demo/server/Makefile b/bacnet-stack/demo/server/Makefile index dd16e7c0..800db2aa 100644 --- a/bacnet-stack/demo/server/Makefile +++ b/bacnet-stack/demo/server/Makefile @@ -6,10 +6,10 @@ CC = gcc TARGET = bacserv # Configure the BACnet Datalink Layer -#BACDL_DEFINE = -DBACDL_ETHERNET=1 -#BACDL_DEFINE = -DBACDL_ARCNET=1 -#BACDL_DEFINE = -DBACDL_MSTP=1 -BACDL_DEFINE = -DBACDL_BIP=1 -DBIP_DEBUG +#BACDL_DEFINE = -DBACDL_ETHERNET +#BACDL_DEFINE = -DBACDL_ARCNET +#BACDL_DEFINE = -DBACDL_MSTP +BACDL_DEFINE = -DBACDL_BIP -DBIP_DEBUG BACNET_DEFINES = -DPRINT_ENABLED=1 DEFINES = $(BACNET_DEFINES) $(BACDL_DEFINE) diff --git a/bacnet-stack/demo/server/main.c b/bacnet-stack/demo/server/main.c index 016382d6..a76ca149 100644 --- a/bacnet-stack/demo/server/main.c +++ b/bacnet-stack/demo/server/main.c @@ -114,8 +114,7 @@ int main(int argc, char *argv[]) Network_Interface = argv[2]; if (argc > 3) bip_set_port(strtol(argv[3], NULL, 0)); -#endif -#if defined(BACDL_MSTP) +#elif defined(BACDL_MSTP) RS485_Set_Baud_Rate(38400); dlmstp_set_max_info_frames(1); dlmstp_set_max_master(127); diff --git a/bacnet-stack/lib/Makefile b/bacnet-stack/lib/Makefile index 4b451600..1f2d40e6 100644 --- a/bacnet-stack/lib/Makefile +++ b/bacnet-stack/lib/Makefile @@ -99,7 +99,6 @@ OBJECT_SRC = \ $(BACNET_OBJECT)/bacfile.c PORT_SRC = \ - $(BACNET_ROOT)/datalink.c \ $(BACNET_PORT)/bip-init.c \ $(BACNET_PORT)/ethernet.c \ $(BACNET_PORT)/arcnet.c \ diff --git a/bacnet-stack/ports/linux/bip-init.c b/bacnet-stack/ports/linux/bip-init.c index e03ebf40..3cc7d8cb 100644 --- a/bacnet-stack/ports/linux/bip-init.c +++ b/bacnet-stack/ports/linux/bip-init.c @@ -38,7 +38,6 @@ #include "bip.h" #include "net.h" - static int get_local_ifr_ioctl(char *ifname, struct ifreq *ifr, int request) {