Forking https://os.mbed.com/users/cam/code/Modbus/ to work for NUCLEO 64 boards

Fork of Cam's original FreeModbus port (https://os.mbed.com/users/cam/code/Modbus/)

Change: - Serial implementation to work for NUCLEO 64 boards and receive interrupts instead of timer. (see `portserial.cpp`)

Added: - Custom RTU mode. Allows for external implementation of packet receiving and sending. Sends and receives packets as whole frames (address + PDU) (i.e. this was added for a custom LoRa implementation). implement `xMBRTUCustGetPDU` and `xMBRTUCustSendResponse` (see `mbport.h`) and call `eMBRTUCustomInit( address )`. implementations need to be fully initialised as `eMBRTUCustomInit` only sets the address and nothing else.

Revision:
4:7621103c5a40
Parent:
0:0453a0a7e500
diff -r 4cda95d7b6c5 -r 7621103c5a40 mbrtu.cpp
--- a/mbrtu.cpp	Mon Jan 06 01:17:26 2020 +0000
+++ b/mbrtu.cpp	Tue Aug 04 04:42:52 2020 +0000
@@ -218,6 +218,11 @@
         /* Activate the transmitter. */
         eSndState = STATE_TX_XMIT;
         vMBPortSerialEnable( FALSE, TRUE );
+        while( !pxMBFrameCBTransmitterEmpty( ) ){ 
+            // hack fix for no TX empty interrupt.
+            //  enable TX empty interrupt on Serial in portserial.cpp
+            //  and remove this.
+        };
     }
     else
     {