--- a/LPCBus/MC9_OnBoard_decl.c Fri Mar 11 12:53:15 2016 +0100
+++ b/LPCBus/MC9_OnBoard_decl.c Thu Apr 14 14:40:10 2016 +0200
@@ -229,16 +229,17 @@
#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) */
-commTimer mbRtuDevTim[MAX_MOD_RTU_DEVICES]; /**< Table of timers (one for each position) */
+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) */ +commTimer mbRtuDevTim[MAX_MOD_RTU_DEVICES]; /**< Table of timers (one for each position) */ short usRegInputValue[REG_INPUT_NREGS]; /**< Array of Modbus input registers */
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 */ /* prototypes for functions defined in shared library */
+int mbmrtu_init(unsigned long ulBaudRate); void mbmrtu_BusUpdate(int);
int mbmrtu_cleanup(void);
@@ -283,7 +284,7 @@
#define nsTOms(ns) (ns/1000000L)
-#define INVALID_RTU_ADDR 255 /* Used when no Modbus RTU slave device is present */
+#define INVALID_RTU_ADDR 255 /* Used when no Modbus RTU slave device is present */ static void mbmrtu_BusUpdate_proc(void *param){
uint64_t msticktime = nsTOms(common_ticktime__);
while (rt_task_sleep_until(TM_INFINITE) == -EINTR){
@@ -314,7 +315,7 @@
mbRtuDevTim[i].status = TIM_EN_RUNNING;
else /* Keep timer disabled */
- mbRtuDevTim[i].status = TIM_DISABLED;
+ mbRtuDevTim[i].status = TIM_DISABLED; --- a/LPCBus/MC9_OnBoard_init.c Fri Mar 11 12:53:15 2016 +0100
+++ b/LPCBus/MC9_OnBoard_init.c Thu Apr 14 14:40:10 2016 +0200
@@ -10,7 +10,7 @@
-printf("from lpcm %%d\n", mbRtuSlaveDev[0].slaveAddr);
+mbRtuBaudRate = 115200; /* XXX todo: remove this line after intialization of mbRtuBaudRate is added to %(init_code)s */ RTU_GPIO_dev = gpio_open(111);
@@ -23,7 +23,7 @@
if((err = rt_task_create(&RTU_UART_task, "RTU_UART_task", 0, 50, T_JOINABLE)))
+mbmrtu_init(mbRtuBaudRate); if((err = rt_task_create(&RTU_task, "RTU_task", 0, 50, T_JOINABLE)))