--- a/LPCBus/MC9_OnBoard_decl.c Thu Apr 14 14:40:10 2016 +0200
+++ b/LPCBus/MC9_OnBoard_decl.c Mon Apr 18 13:17:09 2016 +0200
@@ -228,6 +228,13 @@
mbRtuWrMultiRegs wrMultiRegs;
+ MB_PAR_ODD = 0, /**< ODD parity. */ + MB_PAR_EVEN = 1, /**< Even parity. */ + MB_PAR_NONE = 2 /**< No parity. */ #define MAX_ONBOARD_DEVICES 2
unsigned char onBoardDev[MAX_ONBOARD_DEVICES][2]; /**< Arrays containing information about enabled on-board devices (initialized by Composer) */
mbRtuSlaveConfig mbRtuSlaveDev[MAX_MOD_RTU_DEVICES];/**< Tables containing information about connected Modbus network devices (initialized by Composer) */
@@ -236,10 +243,11 @@
short usRegHoldingValue[REG_HOLDING_NREGS]; /**< Array of Modbus holding registers */
char ubCoilValue[REG_COILS_NREGS/8]; /**< Array of Modbus coils (8 coils per byte) */
char ubRegDiscreteValue[REG_DISCRETE_NREGS/8]; /**< Array of Modbus discrete inputs (8 inputs per byte) */
-unsigned long mbRtuBaudRate; /**< Modbus RTU baud-rate setting */
+unsigned long mbBaudRate; /**< Modbus baud-rate setting: 9600, 19200, 38400, 57600, 115200 */ +eMBSerialParity mbParity; /**< Modbus parity setting: odd, even, none */ /* prototypes for functions defined in shared library */
-int mbmrtu_init(unsigned long ulBaudRate);
+int mbmrtu_init(unsigned long ulBaudRate, eMBSerialParity eParity); void mbmrtu_BusUpdate(int);
int mbmrtu_cleanup(void);
--- a/LPCBus/MC9_OnBoard_init.c Thu Apr 14 14:40:10 2016 +0200
+++ b/LPCBus/MC9_OnBoard_init.c Mon Apr 18 13:17:09 2016 +0200
@@ -10,7 +10,9 @@
-mbRtuBaudRate = 115200; /* XXX todo: remove this line after intialization of mbRtuBaudRate is added to %(init_code)s */
+/* XXX TODO: remove after initialization is done from Smarteh IDE: */ RTU_GPIO_dev = gpio_open(111);
@@ -23,7 +25,7 @@
if((err = rt_task_create(&RTU_UART_task, "RTU_UART_task", 0, 50, T_JOINABLE)))
-mbmrtu_init(mbRtuBaudRate);
+mbmrtu_init(mbBaudRate, mbParity); if((err = rt_task_create(&RTU_task, "RTU_task", 0, 50, T_JOINABLE)))