Fix support for arduino boards (auto-reset)
This commit is contained in:
parent
d544a393f9
commit
5fa916d0a5
|
@ -350,11 +350,15 @@ void querySlaveDevices()
|
|||
mb_devices[i].discrete_inputs.num_regs, tempBuff);
|
||||
if (return_val == -1)
|
||||
{
|
||||
if (mb_devices[i].protocol != MB_RTU)
|
||||
{
|
||||
modbus_close(mb_devices[i].mb_ctx);
|
||||
mb_devices[i].isConnected = false;
|
||||
}
|
||||
|
||||
sprintf(log_msg, "Modbus Read Discrete Input Registers failed on MB device %s: %s\n", mb_devices[i].dev_name, modbus_strerror(errno));
|
||||
log(log_msg);
|
||||
modbus_close(mb_devices[i].mb_ctx);
|
||||
bool_input_index += (mb_devices[i].discrete_inputs.num_regs);
|
||||
mb_devices[i].isConnected = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -386,11 +390,17 @@ void querySlaveDevices()
|
|||
|
||||
int return_val = modbus_write_bits(mb_devices[i].mb_ctx, mb_devices[i].coils.start_address, mb_devices[i].coils.num_regs, tempBuff);
|
||||
if (return_val == -1)
|
||||
{
|
||||
if (mb_devices[i].protocol != MB_RTU)
|
||||
{
|
||||
modbus_close(mb_devices[i].mb_ctx);
|
||||
mb_devices[i].isConnected = false;
|
||||
}
|
||||
|
||||
sprintf(log_msg, "Modbus Write Coils failed on MB device %s: %s\n", mb_devices[i].dev_name, modbus_strerror(errno));
|
||||
log(log_msg);
|
||||
}
|
||||
|
||||
free(tempBuff);
|
||||
}
|
||||
|
||||
|
@ -403,12 +413,16 @@ void querySlaveDevices()
|
|||
mb_devices[i].input_registers.num_regs, tempBuff);
|
||||
if (return_val == -1)
|
||||
{
|
||||
sprintf(log_msg, "Modbus Read Discrete Input Registers failed on MB device %s: %s\n", mb_devices[i].dev_name, modbus_strerror(errno));
|
||||
log(log_msg);
|
||||
if (mb_devices[i].protocol != MB_RTU)
|
||||
{
|
||||
modbus_close(mb_devices[i].mb_ctx);
|
||||
bool_input_index += (mb_devices[i].discrete_inputs.num_regs);
|
||||
mb_devices[i].isConnected = false;
|
||||
}
|
||||
|
||||
sprintf(log_msg, "Modbus Read Input Registers failed on MB device %s: %s\n", mb_devices[i].dev_name, modbus_strerror(errno));
|
||||
log(log_msg);
|
||||
bool_input_index += (mb_devices[i].discrete_inputs.num_regs);
|
||||
}
|
||||
else
|
||||
{
|
||||
pthread_mutex_lock(&ioLock);
|
||||
|
@ -440,11 +454,17 @@ void querySlaveDevices()
|
|||
int return_val = modbus_write_registers(mb_devices[i].mb_ctx, mb_devices[i].holding_registers.start_address,
|
||||
mb_devices[i].holding_registers.num_regs, tempBuff);
|
||||
if (return_val == -1)
|
||||
{
|
||||
if (mb_devices[i].protocol != MB_RTU)
|
||||
{
|
||||
modbus_close(mb_devices[i].mb_ctx);
|
||||
mb_devices[i].isConnected = false;
|
||||
}
|
||||
|
||||
sprintf(log_msg, "Modbus Write Holding Registers failed on MB device %s: %s\n", mb_devices[i].dev_name, modbus_strerror(errno));
|
||||
log(log_msg);
|
||||
}
|
||||
|
||||
free(tempBuff);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue