 }
 #endif
 
+// ######### FUNCTION DEFINITION ######################
+
+void nibeCallbackMsgReceived(const byte* const data, int len);
+int nibeCallbackTokenReceived(eTokenType token, byte* data);
+void sendUdpPacket(const byte * const data, int len);
+void initializeEthernet();
+
+
 // ######### SETUP #######################
 
 void setup()
 {
   // Start watchdog
+#ifdef STM32_F429ZI_BOARD
+  IWatchdog.begin(2000000); // 2 sec
+#else
   wdt_enable (WDTO_2S);
+#endif
 
   nibegw.setCallback(nibeCallbackMsgReceived, nibeCallbackTokenReceived);
   nibegw.setAckModbus40Address(ACK_MODBUS40);


#ifdef TRANSPORT_ETH_ENC28J60
#include <UIPEthernet.h>
#else
#include <SPI.h>
#include <Ethernet.h>

{
  Ethernet.begin(mac, ip, gw, mask);
  ethernetInitialized = true;
  udp.begin(TARGET_PORT);  
  udp4readCmnds.begin(INCOMING_PORT_READCMDS);
  udp4writeCmnds.begin(INCOMING_PORT_WRITECMDS);
}
