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.
Diff: mbconfig.h
- Revision:
- 3:4cda95d7b6c5
- Parent:
- 0:0453a0a7e500
diff -r 75d2f6834c50 -r 4cda95d7b6c5 mbconfig.h --- a/mbconfig.h Tue Dec 03 09:13:22 2019 +0000 +++ b/mbconfig.h Mon Jan 06 01:17:26 2020 +0000 @@ -50,6 +50,8 @@ #define MB_ASCII_ENABLED ( 0 ) /*! \brief If Modbus RTU support is enabled. */ #define MB_RTU_ENABLED ( 1 ) +/*! \brief If Modbus RTU CUSTOM (block mode) support is enabled. */ +#define MB_RTU_CUSTOM_ENABLED ( 1 ) /*! \brief If Modbus TCP support is enabled. */ #define MB_TCP_ENABLED ( 0 ) /*! \brief The character timeout value for Modbus ASCII. @@ -100,4 +102,4 @@ #ifdef __cplusplus PR_END_EXTERN_C #endif -#endif +#endif \ No newline at end of file