## Port of BACnet/IP to LwIP 2.x This LwIP BACnet/IP port uses a Makefile designed to be used from the continuous integration pipeline. The container is configured with Ubuntu Linux and uses APT to install liblwip-dev library and header files. This build method ensures that the code is valid for the particular LwIP library that is released with Ubuntu. ## Integration Hints Developer must set the IP address, netmask, and UDP port into the BACnet/IP module. Integration used a main loop bare metal design, shown here as an example. int main(void) { static bool valid_ip_address = false; static bool bacnet_ip_initialized = false; bacnet_init(); LwIP_Init(); /* Infinite loop */ for (;;) { /* Periodic tasks */ LwIP_Periodic_Handler(); /* Run when there is a valid IP address */ if (netif.ip_addr.addr != 0) { if (!valid_ip_address) { valid_ip_address = true; bip_set_addr(netif.ip_addr.addr); bip_set_broadcast_addr( (netif.ip_addr.addr & netif.netmask.addr) | (~netif.netmask.addr)); } else { if (bacnet_ip_initialized) { bacnet_task(); } else { bip_init(NULL); bacnet_ip_initialized = true; } } } else { valid_ip_address = false; } } }