lpcmanager

Modbus scan rate accuracy improved: timer is incremented according to current-old time delta. Current time is acquired with rt_timer_read().
int err;
bzero(&onBoardDev , sizeof(onBoardDev ));
bzero(&usRegInputValue , sizeof(usRegInputValue ));
bzero(&usRegHoldingValue , sizeof(usRegHoldingValue ));
bzero(&ubCoilValue , sizeof(ubCoilValue ));
bzero(&ubRegDiscreteValue, sizeof(ubRegDiscreteValue));
bzero(&mbRtuSlaveDev , sizeof(mbRtuSlaveDev ));
bzero(&mbRtuDevTim , sizeof(mbRtuDevTim ));
%(init_code)s
/* XXX TODO: remove after initialization is done from Smarteh IDE: */
mbBaudRate = 115200;
mbParity = MB_PAR_NONE;
RTU_GPIO_dev = gpio_open(111);
if (!RTU_GPIO_dev) {
fprintf(stderr, "Error while initializing RTU GPIO.\n");
return 1;
}
if((err = rt_mutex_create (&RTU_BuffMutex, "RTU_BuffMutex")))
return err;
if((err = rt_task_create(&RTU_UART_task, "RTU_UART_task", 0, 50, T_JOINABLE)))
return err;
mbmrtu_init(mbBaudRate, mbParity);
if((err = rt_task_create(&RTU_task, "RTU_task", 0, 50, T_JOINABLE)))
return err;
if(rt_task_start(&RTU_task, mbmrtu_BusUpdate_proc, NULL))
return err;