if (modbus_set_slave(mb, 42) < 0)
die("Cannot set slave address");
+ modbus_set_debug(mb, 1);
+
+#if 1
u16 dest;
rc = modbus_read_registers(mb, 0, 1, &dest);
if (rc < 0)
die("Cannot read: %s", modbus_strerror(errno));
-
printf("%04x\n", dest);
+#endif
+
+#if 0
+ byte rr[] = { 42, 0x2b, 0x0e, 0x04, 0x00 };
+ // byte rr[] = { 42, 0x03, 0x00, 0x00, 0x00, 0x10 };
+ rc = modbus_send_raw_request(mb, rr, sizeof(rr));
+ if (rc < 0)
+ die("Cannot send raw request: %s", modbus_strerror(errno));
+
+ byte rp[256];
+ rc = modbus_receive_confirmation(mb, rp);
+ if (rc < 0)
+ die("Cannot receive confirmation: %s", modbus_strerror(errno));
+
+ for (int i=0; i<rc; i++)
+ printf("%02x ", rp[i]);
+ putchar('\n');
+#endif
modbus_close(mb);
modbus_free(mb);