Merge pull request #853 from vincentbernat/fix/kafka-unavailable-partitions
[collectd.git] / src / modbus.c
index b65371f..795465f 100644 (file)
@@ -49,7 +49,7 @@
  *   RegisterBase 1234
  *   RegisterType float
  *   Type gauge
- *   Function holding
+ *   ModbusRegisterType holding
  *   Instance "..."
  * </Data>
  *
@@ -76,13 +76,13 @@ enum mb_register_type_e /* {{{ */
   REG_TYPE_UINT32,
   REG_TYPE_FLOAT
 }; /* }}} */
-enum mb_function_e /* {{{ */ 
+enum mb_mreg_type_e /* {{{ */ 
 {
-  FCN_HOLDING,
-  FCN_INPUT
+  MREG_HOLDING,
+  MREG_INPUT
 }; /* }}} */
 typedef enum mb_register_type_e mb_register_type_t;
-typedef enum mb_function_e mb_function_t;
+typedef enum mb_mreg_type_e mb_mreg_type_t;
 
 struct mb_data_s;
 typedef struct mb_data_s mb_data_t;
@@ -91,7 +91,7 @@ struct mb_data_s /* {{{ */
   char *name;
   int register_base;
   mb_register_type_t register_type;
-  mb_function_t function;
+  mb_mreg_type_t modbus_register_type;
   char type[DATA_MAX_NAME_LEN];
   char instance[DATA_MAX_NAME_LEN];
 
@@ -475,7 +475,7 @@ static int mb_read_data (mb_host_t *host, mb_slave_t *slave, /* {{{ */
     return (-1);
   }
 #endif
-  if (data->function == FCN_INPUT){
+  if (data->modbus_register_type == MREG_INPUT){
     status = modbus_read_input_registers (host->connection,
         /* start_addr = */ data->register_base,
         /* num_registers = */ values_num, /* buffer = */ values);
@@ -487,8 +487,9 @@ static int mb_read_data (mb_host_t *host, mb_slave_t *slave, /* {{{ */
   }
   if (status != values_num)
   {
-    ERROR ("Modbus plugin: modbus_read_registers (%s/%s) failed. status = %i, values_num = %i "
-        "Giving up.", host->host, host->node, status, values_num);
+    ERROR ("Modbus plugin: modbus read function (%s/%s) failed. "
+           " status = %i, values_num = %i. Giving up.",
+           host->host, host->node, status, values_num);
 #if LEGACY_LIBMODBUS
     modbus_close (&host->connection);
 #else
@@ -723,25 +724,27 @@ static int mb_config_add_data (oconfig_item_t *ci) /* {{{ */
         status = -1;
       }
     }
-    else if (strcasecmp ("Function", child->key) == 0)
+    else if (strcasecmp ("ModbusRegisterType", child->key) == 0)
     {
-      #if LEGACY_LIBMODBUS
-        ERROR("Modbus plugin: Function parameter can not be used with your libmodbus version");
-      #else
-        char tmp[16];
-        status = cf_util_get_string_buffer (child, tmp, sizeof (tmp));
-        if (status != 0)
-          /* do nothing */;
-        else if (strcasecmp ("holding", tmp) == 0)
-          data.function = FCN_HOLDING;
-        else if (strcasecmp ("input", tmp) == 0)
-          data.function = FCN_INPUT;
-        else
-        {
-          ERROR ("Modbus plugin: The function type \"%s\" is unknown.", tmp);
-          status = -1;
-        }
-      #endif
+#if LEGACY_LIBMODBUS
+      ERROR("Modbus plugin: ModbusRegisterType parameter can not be used "
+            "with your libmodbus version");
+#else
+      char tmp[16];
+      status = cf_util_get_string_buffer (child, tmp, sizeof (tmp));
+      if (status != 0)
+        /* do nothing */;
+      else if (strcasecmp ("holding", tmp) == 0)
+        data.modbus_register_type = MREG_HOLDING;
+      else if (strcasecmp ("input", tmp) == 0)
+        data.modbus_register_type = MREG_INPUT;
+      else
+      {
+        ERROR ("Modbus plugin: The modbus_register_type \"%s\" is unknown.",
+               tmp);
+        status = -1;
+      }
+#endif
     }
     else
     {