Remove trailing whitespace
Signed-off-by: Stefan Wahren <info@lategoodbye.de>
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
// Copyright (C) 2011, Robert Johansson, Raditex AB
|
||||
// All rights reserved.
|
||||
//
|
||||
// rSCADA
|
||||
// rSCADA
|
||||
// http://www.rSCADA.se
|
||||
// info@rscada.se
|
||||
//
|
||||
@ -22,14 +22,14 @@ static int debug = 0;
|
||||
//
|
||||
static int
|
||||
init_slaves(mbus_handle *handle)
|
||||
{
|
||||
{
|
||||
if (debug)
|
||||
printf("%s: debug: sending init frame #1\n", __PRETTY_FUNCTION__);
|
||||
|
||||
|
||||
if (mbus_send_ping_frame(handle, MBUS_ADDRESS_NETWORK_LAYER, 1) == -1)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// resend SND_NKE, maybe the first get lost
|
||||
@ -37,7 +37,7 @@ init_slaves(mbus_handle *handle)
|
||||
|
||||
if (debug)
|
||||
printf("%s: debug: sending init frame #2\n", __PRETTY_FUNCTION__);
|
||||
|
||||
|
||||
if (mbus_send_ping_frame(handle, MBUS_ADDRESS_NETWORK_LAYER, 1) == -1)
|
||||
{
|
||||
return 0;
|
||||
@ -77,21 +77,21 @@ main(int argc, char **argv)
|
||||
int c;
|
||||
for (c=1; c<argc-2; c++)
|
||||
{
|
||||
if (strcmp(argv[c], "-d") == 0)
|
||||
if (strcmp(argv[c], "-d") == 0)
|
||||
{
|
||||
debug = 1;
|
||||
}
|
||||
}
|
||||
else if (strcmp(argv[c], "-b") == 0)
|
||||
{
|
||||
c++;
|
||||
baudrate = atol(argv[c]);
|
||||
}
|
||||
}
|
||||
else if (strcmp(argv[c], "-f") == 0)
|
||||
{
|
||||
c++;
|
||||
maxframes = atoi(argv[c]);
|
||||
}
|
||||
else
|
||||
}
|
||||
else
|
||||
{
|
||||
parse_abort(argv);
|
||||
}
|
||||
@ -100,16 +100,16 @@ main(int argc, char **argv)
|
||||
{
|
||||
parse_abort(argv);
|
||||
}
|
||||
device = argv[c];
|
||||
device = argv[c];
|
||||
addr_str = argv[c+1];
|
||||
|
||||
|
||||
|
||||
if (debug)
|
||||
{
|
||||
mbus_register_send_event(&mbus_dump_send_event);
|
||||
mbus_register_recv_event(&mbus_dump_recv_event);
|
||||
}
|
||||
|
||||
|
||||
if ((handle = mbus_context_serial(device)) == NULL)
|
||||
{
|
||||
fprintf(stderr, "Could not initialize M-Bus context: %s\n", mbus_error_str());
|
||||
@ -130,7 +130,7 @@ main(int argc, char **argv)
|
||||
mbus_context_free(handle);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (init_slaves(handle) == 0)
|
||||
{
|
||||
mbus_disconnect(handle);
|
||||
@ -165,19 +165,19 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, "%s: Error: Failed to select secondary address [%s].\n", __PRETTY_FUNCTION__, addr_str);
|
||||
mbus_disconnect(handle);
|
||||
mbus_context_free(handle);
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
// else MBUS_PROBE_SINGLE
|
||||
|
||||
address = MBUS_ADDRESS_NETWORK_LAYER;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// primary addressing
|
||||
address = atoi(addr_str);
|
||||
}
|
||||
|
||||
// instead of the send and recv, use this sendrecv function that
|
||||
}
|
||||
|
||||
// instead of the send and recv, use this sendrecv function that
|
||||
// takes care of the possibility of multi-telegram replies (limit = 16 frames)
|
||||
if (mbus_sendrecv_request(handle, address, &reply, maxframes) != 0)
|
||||
{
|
||||
@ -207,14 +207,14 @@ main(int argc, char **argv)
|
||||
mbus_frame_free(reply.next);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
printf("%s", xml_result);
|
||||
free(xml_result);
|
||||
|
||||
mbus_disconnect(handle);
|
||||
mbus_context_free(handle);
|
||||
mbus_frame_free(reply.next);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Copyright (C) 2011, Robert Johansson, Raditex AB
|
||||
// All rights reserved.
|
||||
//
|
||||
// rSCADA
|
||||
// rSCADA
|
||||
// http://www.rSCADA.se
|
||||
// info@rscada.se
|
||||
//
|
||||
@ -28,48 +28,48 @@ main(int argc, char **argv)
|
||||
char *device, *addr_str, *xml_result;
|
||||
int address;
|
||||
long baudrate = 9600;
|
||||
|
||||
|
||||
memset((void *)&reply, 0, sizeof(mbus_frame));
|
||||
memset((void *)&reply_data, 0, sizeof(mbus_frame_data));
|
||||
|
||||
if (argc == 3)
|
||||
{
|
||||
device = argv[1];
|
||||
device = argv[1];
|
||||
addr_str = argv[2];
|
||||
}
|
||||
else if (argc == 4 && strcmp(argv[1], "-d") == 0)
|
||||
{
|
||||
device = argv[2];
|
||||
device = argv[2];
|
||||
addr_str = argv[3];
|
||||
debug = 1;
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-b") == 0)
|
||||
{
|
||||
baudrate = atol(argv[2]);
|
||||
device = argv[3];
|
||||
device = argv[3];
|
||||
addr_str = argv[4];
|
||||
}
|
||||
else if (argc == 6 && strcmp(argv[1], "-d") == 0 && strcmp(argv[2], "-b") == 0)
|
||||
{
|
||||
baudrate = atol(argv[3]);
|
||||
device = argv[4];
|
||||
device = argv[4];
|
||||
addr_str = argv[5];
|
||||
debug = 1;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "usage: %s [-d] [-b BAUDRATE] device mbus-address\n", argv[0]);
|
||||
fprintf(stderr, " optional flag -d for debug printout\n");
|
||||
fprintf(stderr, " optional flag -b for selecting baudrate\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if (debug)
|
||||
{
|
||||
mbus_register_send_event(&mbus_dump_send_event);
|
||||
mbus_register_recv_event(&mbus_dump_recv_event);
|
||||
}
|
||||
|
||||
|
||||
if ((handle = mbus_context_serial(device)) == NULL)
|
||||
{
|
||||
fprintf(stderr, "Could not initialize M-Bus context: %s\n", mbus_error_str());
|
||||
@ -110,7 +110,7 @@ main(int argc, char **argv)
|
||||
else if (ret == MBUS_PROBE_ERROR)
|
||||
{
|
||||
fprintf(stderr, "%s: Error: Failed to select secondary address [%s].\n", __PRETTY_FUNCTION__, addr_str);
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
// else MBUS_PROBE_SINGLE
|
||||
|
||||
@ -119,7 +119,7 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, "Failed to send M-Bus request frame.\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// primary addressing
|
||||
@ -130,13 +130,13 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, "Failed to send M-Bus request frame.\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mbus_recv_frame(handle, &reply) != MBUS_RECV_RESULT_OK)
|
||||
{
|
||||
fprintf(stderr, "Failed to receive M-Bus response frame.\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// parse data and print in XML format
|
||||
@ -151,13 +151,13 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, "M-bus data parse error: %s\n", mbus_error_str());
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if ((xml_result = mbus_frame_data_xml(&reply_data)) == NULL)
|
||||
{
|
||||
fprintf(stderr, "Failed to generate XML representation of MBUS frame: %s\n", mbus_error_str());
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
printf("%s", xml_result);
|
||||
free(xml_result);
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Copyright (C) 2011, Robert Johansson, Raditex AB
|
||||
// All rights reserved.
|
||||
//
|
||||
// rSCADA
|
||||
// rSCADA
|
||||
// http://www.rSCADA.se
|
||||
// info@rscada.se
|
||||
//
|
||||
@ -20,10 +20,10 @@ static int debug = 0;
|
||||
//
|
||||
int
|
||||
init_slaves(mbus_handle *handle)
|
||||
{
|
||||
{
|
||||
if (debug)
|
||||
printf("%s: debug: sending init frame #1\n", __PRETTY_FUNCTION__);
|
||||
|
||||
|
||||
if (mbus_send_ping_frame(handle, MBUS_ADDRESS_NETWORK_LAYER, 1) == -1)
|
||||
{
|
||||
return 0;
|
||||
@ -35,7 +35,7 @@ init_slaves(mbus_handle *handle)
|
||||
|
||||
if (debug)
|
||||
printf("%s: debug: sending init frame #2\n", __PRETTY_FUNCTION__);
|
||||
|
||||
|
||||
if (mbus_send_ping_frame(handle, MBUS_ADDRESS_BROADCAST_NOREPLY, 1) == -1)
|
||||
{
|
||||
return 0;
|
||||
@ -55,58 +55,58 @@ main(int argc, char **argv)
|
||||
long baudrate = 9600;
|
||||
mbus_handle *handle = NULL;
|
||||
mbus_frame *frame = NULL, reply;
|
||||
|
||||
|
||||
memset((void *)&reply, 0, sizeof(mbus_frame));
|
||||
|
||||
if (argc == 2)
|
||||
{
|
||||
device = argv[1];
|
||||
device = argv[1];
|
||||
addr_mask = strdup("FFFFFFFFFFFFFFFF");
|
||||
}
|
||||
else if (argc == 3 && strcmp(argv[1], "-d") == 0)
|
||||
{
|
||||
device = argv[2];
|
||||
device = argv[2];
|
||||
addr_mask = strdup("FFFFFFFFFFFFFFFF");
|
||||
debug = 1;
|
||||
}
|
||||
else if (argc == 3)
|
||||
{
|
||||
device = argv[1];
|
||||
device = argv[1];
|
||||
addr_mask = strdup(argv[2]);
|
||||
}
|
||||
else if (argc == 4 && strcmp(argv[1], "-d") == 0)
|
||||
{
|
||||
device = argv[2];
|
||||
device = argv[2];
|
||||
addr_mask = strdup(argv[3]);
|
||||
debug = 1;
|
||||
}
|
||||
else if (argc == 4 && strcmp(argv[1], "-b") == 0)
|
||||
{
|
||||
baudrate = atol(argv[2]);
|
||||
device = argv[3];
|
||||
device = argv[3];
|
||||
addr_mask = strdup("FFFFFFFFFFFFFFFF");
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-d") == 0 && strcmp(argv[2], "-b") == 0)
|
||||
{
|
||||
baudrate = atol(argv[3]);
|
||||
device = argv[4];
|
||||
device = argv[4];
|
||||
addr_mask = strdup("FFFFFFFFFFFFFFFF");
|
||||
debug = 1;
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-b") == 0)
|
||||
{
|
||||
baudrate = atol(argv[2]);
|
||||
device = argv[3];
|
||||
device = argv[3];
|
||||
addr_mask = strdup(argv[4]);
|
||||
}
|
||||
else if (argc == 6 && strcmp(argv[1], "-d") == 0)
|
||||
{
|
||||
baudrate = atol(argv[3]);
|
||||
device = argv[4];
|
||||
device = argv[4];
|
||||
addr_mask = strdup(argv[5]);
|
||||
debug = 1;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "usage: %s [-d] [-b BAUDRATE] device [address-mask]\n", argv[0]);
|
||||
fprintf(stderr, "\toptional flag -d for debug printout\n");
|
||||
@ -115,19 +115,19 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, "\t'FFFFFFFFFFFFFFFF' where F is a wildcard character\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if (debug)
|
||||
{
|
||||
mbus_register_send_event(&mbus_dump_send_event);
|
||||
mbus_register_recv_event(&mbus_dump_recv_event);
|
||||
}
|
||||
|
||||
|
||||
if (addr_mask == NULL)
|
||||
{
|
||||
fprintf(stderr, "Failed to allocate address mask.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (mbus_is_secondary_address(addr_mask) == 0)
|
||||
{
|
||||
fprintf(stderr, "Misformatted secondary address mask. Must be 16 character HEX number.\n");
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Copyright (C) 2011, Robert Johansson, Raditex AB
|
||||
// All rights reserved.
|
||||
//
|
||||
// rSCADA
|
||||
// rSCADA
|
||||
// http://www.rSCADA.se
|
||||
// info@rscada.se
|
||||
//
|
||||
@ -18,7 +18,7 @@ static int debug = 0;
|
||||
int ping_address(mbus_handle *handle, mbus_frame *reply, int address)
|
||||
{
|
||||
int i, ret = MBUS_RECV_RESULT_ERROR;
|
||||
|
||||
|
||||
memset((void *)reply, 0, sizeof(mbus_frame));
|
||||
|
||||
for (i = 0; i <= handle->max_retry; i++)
|
||||
@ -28,21 +28,21 @@ int ping_address(mbus_handle *handle, mbus_frame *reply, int address)
|
||||
printf("%d ", address);
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
|
||||
if (mbus_send_ping_frame(handle, address, 0) == -1)
|
||||
{
|
||||
fprintf(stderr,"Scan failed. Could not send ping frame: %s\n", mbus_error_str());
|
||||
return MBUS_RECV_RESULT_ERROR;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ret = mbus_recv_frame(handle, reply);
|
||||
|
||||
|
||||
if (ret != MBUS_RECV_RESULT_TIMEOUT)
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -69,35 +69,35 @@ main(int argc, char **argv)
|
||||
}
|
||||
else if (argc == 4 && strcmp(argv[1], "-b") == 0)
|
||||
{
|
||||
baudrate = atol(argv[2]);
|
||||
baudrate = atol(argv[2]);
|
||||
device = argv[3];
|
||||
}
|
||||
else if (argc == 4 && strcmp(argv[1], "-r") == 0)
|
||||
{
|
||||
retries = atoi(argv[2]);
|
||||
retries = atoi(argv[2]);
|
||||
device = argv[3];
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-d") == 0 && strcmp(argv[2], "-b") == 0)
|
||||
{
|
||||
debug = 1;
|
||||
baudrate = atol(argv[3]);
|
||||
debug = 1;
|
||||
baudrate = atol(argv[3]);
|
||||
device = argv[4];
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-d") == 0 && strcmp(argv[2], "-r") == 0)
|
||||
{
|
||||
debug = 1;
|
||||
retries = atoi(argv[3]);
|
||||
debug = 1;
|
||||
retries = atoi(argv[3]);
|
||||
device = argv[4];
|
||||
}
|
||||
else if (argc == 6 && strcmp(argv[1], "-b") == 0 && strcmp(argv[3], "-r") == 0)
|
||||
{
|
||||
{
|
||||
baudrate = atol(argv[2]);
|
||||
retries = atoi(argv[4]);
|
||||
device = argv[5];
|
||||
}
|
||||
else if (argc == 7 && strcmp(argv[1], "-d") == 0 && strcmp(argv[2], "-b") == 0 && strcmp(argv[4], "-r") == 0)
|
||||
{
|
||||
debug = 1;
|
||||
debug = 1;
|
||||
baudrate = atol(argv[3]);
|
||||
retries = atoi(argv[5]);
|
||||
device = argv[6];
|
||||
@ -107,13 +107,13 @@ main(int argc, char **argv)
|
||||
fprintf(stderr,"usage: %s [-d] [-b BAUDRATE] [-r RETRIES] device\n", argv[0]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if (debug)
|
||||
{
|
||||
mbus_register_send_event(&mbus_dump_send_event);
|
||||
mbus_register_recv_event(&mbus_dump_recv_event);
|
||||
}
|
||||
|
||||
|
||||
if ((handle = mbus_context_serial(device)) == NULL)
|
||||
{
|
||||
fprintf(stderr,"Scan failed: Could not initialize M-Bus context: %s\n", mbus_error_str());
|
||||
@ -125,7 +125,7 @@ main(int argc, char **argv)
|
||||
fprintf(stderr,"Scan failed: Could not setup connection to M-bus gateway: %s\n", mbus_error_str());
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (mbus_context_set_option(handle, MBUS_OPTION_MAX_RETRY, retries) == -1)
|
||||
{
|
||||
fprintf(stderr,"Failed to set retry count\n");
|
||||
@ -146,19 +146,19 @@ main(int argc, char **argv)
|
||||
mbus_frame reply;
|
||||
|
||||
ret = ping_address(handle, &reply, address);
|
||||
|
||||
|
||||
if (ret == MBUS_RECV_RESULT_TIMEOUT)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if (ret == MBUS_RECV_RESULT_INVALID)
|
||||
{
|
||||
/* check for more data (collision) */
|
||||
mbus_purge_frames(handle);
|
||||
printf("Collision at address %d\n", address);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (mbus_frame_type(&reply) == MBUS_FRAME_TYPE_ACK)
|
||||
{
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Copyright (C) 2011, Robert Johansson, Raditex AB
|
||||
// All rights reserved.
|
||||
//
|
||||
// rSCADA
|
||||
// rSCADA
|
||||
// http://www.rSCADA.se
|
||||
// info@rscada.se
|
||||
//
|
||||
@ -28,13 +28,13 @@ main(int argc, char **argv)
|
||||
|
||||
if (argc == 3)
|
||||
{
|
||||
device = argv[1];
|
||||
device = argv[1];
|
||||
addr = strdup(argv[2]);
|
||||
}
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-b") == 0)
|
||||
{
|
||||
baudrate = atol(argv[2]);
|
||||
device = argv[3];
|
||||
device = argv[3];
|
||||
addr = strdup(argv[4]);
|
||||
}
|
||||
else
|
||||
@ -43,13 +43,13 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, " optional flag -b for selecting baudrate\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if (addr == NULL)
|
||||
{
|
||||
fprintf(stderr, "Failed to allocate address.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (mbus_is_secondary_address(addr) == 0)
|
||||
{
|
||||
fprintf(stderr,"Misformatted secondary address. Must be 16 character HEX number.\n");
|
||||
@ -77,7 +77,7 @@ main(int argc, char **argv)
|
||||
if (mbus_send_select_frame(handle, addr) == -1)
|
||||
{
|
||||
fprintf(stderr,"Failed to send selection frame: %s\n", mbus_error_str());
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
ret = mbus_recv_frame(handle, &reply);
|
||||
@ -86,7 +86,7 @@ main(int argc, char **argv)
|
||||
{
|
||||
fprintf(stderr,"No reply from device with secondary address %s: %s\n", argv[2], mbus_error_str());
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (ret == MBUS_RECV_RESULT_INVALID)
|
||||
{
|
||||
@ -119,7 +119,7 @@ main(int argc, char **argv)
|
||||
fprintf(stderr,"Unknown reply:\n");
|
||||
mbus_frame_print(&reply);
|
||||
}
|
||||
|
||||
|
||||
free(addr);
|
||||
mbus_disconnect(handle);
|
||||
mbus_context_free(handle);
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Copyright (C) 2010-2012, Robert Johansson and contributors, Raditex AB
|
||||
// All rights reserved.
|
||||
//
|
||||
// rSCADA
|
||||
// rSCADA
|
||||
// http://www.rSCADA.se
|
||||
// info@rscada.se
|
||||
//
|
||||
@ -59,7 +59,7 @@ main(int argc, char **argv)
|
||||
fprintf(stderr,"Failed to setup connection to M-bus gateway\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (mbus_serial_set_baudrate(handle, source_baudrate) == -1)
|
||||
{
|
||||
fprintf(stderr,"Failed to set baud rate.\n");
|
||||
@ -69,11 +69,11 @@ main(int argc, char **argv)
|
||||
if (mbus_send_switch_baudrate_frame(handle, address, target_baudrate) == -1)
|
||||
{
|
||||
fprintf(stderr,"Failed to send switch baudrate frame: %s\n", mbus_error_str());
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
ret = mbus_recv_frame(handle, &reply);
|
||||
|
||||
ret = mbus_recv_frame(handle, &reply);
|
||||
|
||||
if (ret == MBUS_RECV_RESULT_TIMEOUT)
|
||||
{
|
||||
fprintf(stderr,"No reply from device\n");
|
||||
@ -88,7 +88,7 @@ main(int argc, char **argv)
|
||||
{
|
||||
printf("Switched baud rate of device to %lu\n", target_baudrate);
|
||||
}
|
||||
|
||||
|
||||
mbus_disconnect(handle);
|
||||
mbus_context_free(handle);
|
||||
return 0;
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Copyright (C) 2011, Robert Johansson, Raditex AB
|
||||
// All rights reserved.
|
||||
//
|
||||
// rSCADA
|
||||
// rSCADA
|
||||
// http://www.rSCADA.se
|
||||
// info@rscada.se
|
||||
//
|
||||
@ -27,24 +27,24 @@ main(int argc, char **argv)
|
||||
int ret;
|
||||
long port;
|
||||
int address, subcode = -1;
|
||||
|
||||
|
||||
if (argc == 4)
|
||||
{
|
||||
host = argv[1];
|
||||
port = atol(argv[2]);
|
||||
port = atol(argv[2]);
|
||||
addr = argv[3];
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-d") == 0)
|
||||
{
|
||||
debug = 1;
|
||||
host = argv[2];
|
||||
port = atol(argv[3]);
|
||||
port = atol(argv[3]);
|
||||
addr = argv[4];
|
||||
}
|
||||
else if (argc == 5)
|
||||
{
|
||||
host = argv[1];
|
||||
port = atol(argv[2]);
|
||||
port = atol(argv[2]);
|
||||
addr = argv[3];
|
||||
subcode = atoi(argv[4]);
|
||||
}
|
||||
@ -52,7 +52,7 @@ main(int argc, char **argv)
|
||||
{
|
||||
debug = 1;
|
||||
host = argv[2];
|
||||
port = atol(argv[3]);
|
||||
port = atol(argv[3]);
|
||||
addr = argv[4];
|
||||
subcode = atoi(argv[5]);
|
||||
}
|
||||
@ -61,13 +61,13 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, "usage: %s [-d] host port mbus-address [subcode]\n", argv[0]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if ((port < 0) || (port > 0xFFFF))
|
||||
{
|
||||
fprintf(stderr, "Invalid port: %ld\n", port);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (debug)
|
||||
{
|
||||
mbus_register_send_event(&mbus_dump_send_event);
|
||||
@ -86,7 +86,7 @@ main(int argc, char **argv)
|
||||
mbus_context_free(handle);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (mbus_is_secondary_address(addr))
|
||||
{
|
||||
// secondary addressing
|
||||
@ -114,17 +114,17 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, "Failed to select secondary address [%s].\n", addr);
|
||||
mbus_disconnect(handle);
|
||||
mbus_context_free(handle);
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
// else MBUS_PROBE_SINGLE
|
||||
|
||||
|
||||
address = MBUS_ADDRESS_NETWORK_LAYER;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// primary addressing
|
||||
|
||||
address = atoi(addr);
|
||||
address = atoi(addr);
|
||||
}
|
||||
|
||||
if (mbus_send_application_reset_frame(handle, address, subcode) == -1)
|
||||
@ -132,11 +132,11 @@ main(int argc, char **argv)
|
||||
fprintf(stderr,"Failed to send reset frame: %s\n", mbus_error_str());
|
||||
mbus_disconnect(handle);
|
||||
mbus_context_free(handle);
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
ret = mbus_recv_frame(handle, &reply);
|
||||
|
||||
|
||||
if (ret == MBUS_RECV_RESULT_TIMEOUT)
|
||||
{
|
||||
fprintf(stderr,"No reply from device\n");
|
||||
@ -160,7 +160,7 @@ main(int argc, char **argv)
|
||||
printf("Successful reset device\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
mbus_disconnect(handle);
|
||||
mbus_context_free(handle);
|
||||
return 0;
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Copyright (C) 2012, Robert Johansson, Raditex AB
|
||||
// All rights reserved.
|
||||
//
|
||||
// rSCADA
|
||||
// rSCADA
|
||||
// http://www.rSCADA.se
|
||||
// info@rscada.se
|
||||
//
|
||||
@ -31,35 +31,35 @@ main(int argc, char **argv)
|
||||
FILE *fp = NULL;
|
||||
size_t buff_len, len;
|
||||
unsigned char raw_buff[4096], buff[4096];
|
||||
|
||||
|
||||
memset((void *)&reply, 0, sizeof(mbus_frame));
|
||||
memset((void *)&reply_data, 0, sizeof(mbus_frame_data));
|
||||
|
||||
|
||||
if (argc == 4)
|
||||
{
|
||||
host = argv[1];
|
||||
host = argv[1];
|
||||
port = atol(argv[2]);
|
||||
addr_str = argv[3];
|
||||
debug = 0;
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-d") == 0)
|
||||
{
|
||||
host = argv[2];
|
||||
host = argv[2];
|
||||
port = atol(argv[3]);
|
||||
addr_str = argv[4];
|
||||
debug = 1;
|
||||
}
|
||||
else if (argc == 5)
|
||||
{
|
||||
host = argv[1];
|
||||
host = argv[1];
|
||||
port = atol(argv[2]);
|
||||
addr_str = argv[3];
|
||||
file = argv[4];
|
||||
debug = 0;
|
||||
}
|
||||
}
|
||||
else if (argc == 6 && strcmp(argv[1], "-d") == 0)
|
||||
{
|
||||
host = argv[2];
|
||||
host = argv[2];
|
||||
port = atol(argv[3]);
|
||||
addr_str = argv[4];
|
||||
file = argv[5];
|
||||
@ -72,19 +72,19 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, " optional argument file for file. if omitted read from stdin\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if ((port < 0) || (port > 0xFFFF))
|
||||
{
|
||||
fprintf(stderr, "Invalid port: %ld\n", port);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (debug)
|
||||
{
|
||||
mbus_register_send_event(&mbus_dump_send_event);
|
||||
mbus_register_recv_event(&mbus_dump_recv_event);
|
||||
}
|
||||
|
||||
|
||||
if ((handle = mbus_context_tcp(host, port)) == NULL)
|
||||
{
|
||||
fprintf(stderr, "Could not initialize M-Bus context: %s\n", mbus_error_str());
|
||||
@ -117,16 +117,16 @@ main(int argc, char **argv)
|
||||
else if (ret == MBUS_PROBE_ERROR)
|
||||
{
|
||||
fprintf(stderr, "%s: Error: Failed to select secondary address [%s].\n", __PRETTY_FUNCTION__, addr_str);
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
address = MBUS_ADDRESS_NETWORK_LAYER;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// primary addressing
|
||||
address = atoi(addr_str);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// read hex data from file or stdin
|
||||
//
|
||||
@ -150,14 +150,14 @@ main(int argc, char **argv)
|
||||
{
|
||||
fclose(fp);
|
||||
}
|
||||
|
||||
|
||||
buff_len = mbus_hex2bin(buff,sizeof(buff),raw_buff,sizeof(raw_buff));
|
||||
|
||||
|
||||
//
|
||||
// attempt to parse the input data
|
||||
//
|
||||
result = mbus_parse(&request, buff, buff_len);
|
||||
|
||||
|
||||
if (result < 0)
|
||||
{
|
||||
fprintf(stderr, "mbus_parse: %s\n", mbus_error_str());
|
||||
@ -167,8 +167,8 @@ main(int argc, char **argv)
|
||||
{
|
||||
fprintf(stderr, "mbus_parse: need %d more bytes\n", result);
|
||||
return 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// send the request
|
||||
//
|
||||
@ -176,8 +176,8 @@ main(int argc, char **argv)
|
||||
{
|
||||
fprintf(stderr, "Failed to send mbus frame: %s\n", mbus_error_str());
|
||||
return 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// this should be option:
|
||||
//
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Copyright (C) 2011, Robert Johansson, Raditex AB
|
||||
// All rights reserved.
|
||||
//
|
||||
// rSCADA
|
||||
// rSCADA
|
||||
// http://www.rSCADA.se
|
||||
// info@rscada.se
|
||||
//
|
||||
@ -22,14 +22,14 @@ static int debug = 0;
|
||||
//
|
||||
static int
|
||||
init_slaves(mbus_handle *handle)
|
||||
{
|
||||
{
|
||||
if (debug)
|
||||
printf("%s: debug: sending init frame #1\n", __PRETTY_FUNCTION__);
|
||||
|
||||
|
||||
if (mbus_send_ping_frame(handle, MBUS_ADDRESS_NETWORK_LAYER, 1) == -1)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// resend SND_NKE, maybe the first get lost
|
||||
@ -37,7 +37,7 @@ init_slaves(mbus_handle *handle)
|
||||
|
||||
if (debug)
|
||||
printf("%s: debug: sending init frame #2\n", __PRETTY_FUNCTION__);
|
||||
|
||||
|
||||
if (mbus_send_ping_frame(handle, MBUS_ADDRESS_NETWORK_LAYER, 1) == -1)
|
||||
{
|
||||
return 0;
|
||||
@ -74,10 +74,10 @@ main(int argc, char **argv)
|
||||
int c = 0;
|
||||
|
||||
memset((void *)&reply, 0, sizeof(mbus_frame));
|
||||
|
||||
|
||||
for (c=1; c<argc-3; c++)
|
||||
{
|
||||
if (strcmp(argv[c], "-d") == 0)
|
||||
if (strcmp(argv[c], "-d") == 0)
|
||||
{
|
||||
debug = 1;
|
||||
}
|
||||
@ -85,8 +85,8 @@ main(int argc, char **argv)
|
||||
{
|
||||
c++;
|
||||
maxframes = atoi(argv[c]);
|
||||
}
|
||||
else
|
||||
}
|
||||
else
|
||||
{
|
||||
parse_abort(argv);
|
||||
}
|
||||
@ -95,22 +95,22 @@ main(int argc, char **argv)
|
||||
{
|
||||
parse_abort(argv);
|
||||
}
|
||||
host = argv[c];
|
||||
host = argv[c];
|
||||
port = atol(argv[c+1]);
|
||||
addr_str = argv[c+2];
|
||||
|
||||
|
||||
if ((port < 0) || (port > 0xFFFF))
|
||||
{
|
||||
fprintf(stderr, "Invalid port: %ld\n", port);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (debug)
|
||||
{
|
||||
mbus_register_send_event(&mbus_dump_send_event);
|
||||
mbus_register_recv_event(&mbus_dump_recv_event);
|
||||
}
|
||||
|
||||
|
||||
if ((handle = mbus_context_tcp(host, port)) == NULL)
|
||||
{
|
||||
fprintf(stderr, "Could not initialize M-Bus context: %s\n", mbus_error_str());
|
||||
@ -123,7 +123,7 @@ main(int argc, char **argv)
|
||||
mbus_context_free(handle);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (init_slaves(handle) == 0)
|
||||
{
|
||||
mbus_disconnect(handle);
|
||||
@ -158,19 +158,19 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, "%s: Error: Failed to select secondary address [%s].\n", __PRETTY_FUNCTION__, addr_str);
|
||||
mbus_disconnect(handle);
|
||||
mbus_context_free(handle);
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
// else MBUS_PROBE_SINGLE
|
||||
|
||||
address = MBUS_ADDRESS_NETWORK_LAYER;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// primary addressing
|
||||
address = atoi(addr_str);
|
||||
}
|
||||
|
||||
// instead of the send and recv, use this sendrecv function that
|
||||
}
|
||||
|
||||
// instead of the send and recv, use this sendrecv function that
|
||||
// takes care of the possibility of multi-telegram replies (limit = 16 frames)
|
||||
if (mbus_sendrecv_request(handle, address, &reply, maxframes) != 0)
|
||||
{
|
||||
@ -200,14 +200,14 @@ main(int argc, char **argv)
|
||||
mbus_frame_free(reply.next);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
printf("%s", xml_result);
|
||||
free(xml_result);
|
||||
|
||||
mbus_disconnect(handle);
|
||||
mbus_context_free(handle);
|
||||
mbus_frame_free(reply.next);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Copyright (C) 2011, Robert Johansson, Raditex AB
|
||||
// All rights reserved.
|
||||
//
|
||||
// rSCADA
|
||||
// rSCADA
|
||||
// http://www.rSCADA.se
|
||||
// info@rscada.se
|
||||
//
|
||||
@ -28,20 +28,20 @@ main(int argc, char **argv)
|
||||
char *host, *addr_str, matching_addr[16], *xml_result;
|
||||
int address;
|
||||
long port;
|
||||
|
||||
|
||||
memset((void *)&reply, 0, sizeof(mbus_frame));
|
||||
memset((void *)&reply_data, 0, sizeof(mbus_frame_data));
|
||||
|
||||
|
||||
if (argc == 4)
|
||||
{
|
||||
host = argv[1];
|
||||
host = argv[1];
|
||||
port = atol(argv[2]);
|
||||
addr_str = argv[3];
|
||||
debug = 0;
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-d") == 0)
|
||||
{
|
||||
host = argv[2];
|
||||
host = argv[2];
|
||||
port = atol(argv[3]);
|
||||
addr_str = argv[4];
|
||||
debug = 1;
|
||||
@ -52,19 +52,19 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, " optional flag -d for debug printout\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if ((port < 0) || (port > 0xFFFF))
|
||||
{
|
||||
fprintf(stderr, "Invalid port: %ld\n", port);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (debug)
|
||||
{
|
||||
mbus_register_send_event(&mbus_dump_send_event);
|
||||
mbus_register_recv_event(&mbus_dump_recv_event);
|
||||
}
|
||||
|
||||
|
||||
if ((handle = mbus_context_tcp(host, port)) == NULL)
|
||||
{
|
||||
fprintf(stderr, "Could not initialize M-Bus context: %s\n", mbus_error_str());
|
||||
@ -98,7 +98,7 @@ main(int argc, char **argv)
|
||||
else if (ret == MBUS_PROBE_ERROR)
|
||||
{
|
||||
fprintf(stderr, "%s: Error: Failed to select secondary address [%s].\n", __PRETTY_FUNCTION__, addr_str);
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
// else MBUS_PROBE_SINGLE
|
||||
|
||||
@ -107,7 +107,7 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, "Failed to send M-Bus request frame.\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// primary addressing
|
||||
@ -118,7 +118,7 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, "Failed to send M-Bus request frame.\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mbus_recv_frame(handle, &reply) != MBUS_RECV_RESULT_OK)
|
||||
{
|
||||
@ -139,13 +139,13 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, "M-bus data parse error: %s\n", mbus_error_str());
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if ((xml_result = mbus_frame_data_xml(&reply_data)) == NULL)
|
||||
{
|
||||
fprintf(stderr, "Failed to generate XML representation of MBUS frame: %s\n", mbus_error_str());
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
printf("%s", xml_result);
|
||||
free(xml_result);
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Copyright (C) 2011, Robert Johansson, Raditex AB
|
||||
// All rights reserved.
|
||||
//
|
||||
// rSCADA
|
||||
// rSCADA
|
||||
// http://www.rSCADA.se
|
||||
// info@rscada.se
|
||||
//
|
||||
@ -25,7 +25,7 @@ main(int argc, char **argv)
|
||||
long port;
|
||||
mbus_handle *handle = NULL;
|
||||
mbus_frame *frame = NULL, reply;
|
||||
|
||||
|
||||
memset((void *)&reply, 0, sizeof(mbus_frame));
|
||||
|
||||
if (argc != 4 && argc != 3)
|
||||
@ -35,8 +35,8 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, "\t'FFFFFFFFFFFFFFFF' where F is a wildcard character\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
host = argv[1];
|
||||
|
||||
host = argv[1];
|
||||
port = atol(argv[2]);
|
||||
if (argc == 4)
|
||||
{
|
||||
@ -46,13 +46,13 @@ main(int argc, char **argv)
|
||||
{
|
||||
addr_mask = strdup("FFFFFFFFFFFFFFFF");
|
||||
}
|
||||
|
||||
|
||||
if (addr_mask == NULL)
|
||||
{
|
||||
fprintf(stderr, "Failed to allocate address mask.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if ((port < 0) || (port > 0xFFFF))
|
||||
{
|
||||
fprintf(stderr, "Invalid port: %ld\n", port);
|
||||
@ -82,7 +82,7 @@ main(int argc, char **argv)
|
||||
//
|
||||
if (debug)
|
||||
printf("%s: debug: sending init frame #1\n", __PRETTY_FUNCTION__);
|
||||
|
||||
|
||||
if (mbus_send_ping_frame(handle, MBUS_ADDRESS_NETWORK_LAYER, 1) == -1)
|
||||
{
|
||||
free(addr_mask);
|
||||
@ -94,7 +94,7 @@ main(int argc, char **argv)
|
||||
//
|
||||
if (debug)
|
||||
printf("%s: debug: sending init frame #2\n", __PRETTY_FUNCTION__);
|
||||
|
||||
|
||||
if (mbus_send_ping_frame(handle, MBUS_ADDRESS_BROADCAST_NOREPLY, 1) == -1)
|
||||
{
|
||||
free(addr_mask);
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Copyright (C) 2011, Robert Johansson, Raditex AB
|
||||
// All rights reserved.
|
||||
//
|
||||
// rSCADA
|
||||
// rSCADA
|
||||
// http://www.rSCADA.se
|
||||
// info@rscada.se
|
||||
//
|
||||
@ -18,7 +18,7 @@ static int debug = 0;
|
||||
int ping_address(mbus_handle *handle, mbus_frame *reply, int address)
|
||||
{
|
||||
int i, ret = MBUS_RECV_RESULT_ERROR;
|
||||
|
||||
|
||||
memset((void *)reply, 0, sizeof(mbus_frame));
|
||||
|
||||
for (i = 0; i <= handle->max_retry; i++)
|
||||
@ -28,21 +28,21 @@ int ping_address(mbus_handle *handle, mbus_frame *reply, int address)
|
||||
printf("%d ", address);
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
|
||||
if (mbus_send_ping_frame(handle, address, 0) == -1)
|
||||
{
|
||||
fprintf(stderr,"Scan failed. Could not send ping frame: %s\n", mbus_error_str());
|
||||
return MBUS_RECV_RESULT_ERROR;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ret = mbus_recv_frame(handle, reply);
|
||||
|
||||
|
||||
if (ret != MBUS_RECV_RESULT_TIMEOUT)
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -60,26 +60,26 @@ main(int argc, char **argv)
|
||||
|
||||
if (argc == 3)
|
||||
{
|
||||
host = argv[1];
|
||||
host = argv[1];
|
||||
port = atol(argv[2]);
|
||||
}
|
||||
else if (argc == 4 && strcmp(argv[1], "-d") == 0)
|
||||
{
|
||||
debug = 1;
|
||||
host = argv[2];
|
||||
host = argv[2];
|
||||
port = atol(argv[3]);
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-r") == 0)
|
||||
{
|
||||
retries = atoi(argv[2]);
|
||||
host = argv[3];
|
||||
retries = atoi(argv[2]);
|
||||
host = argv[3];
|
||||
port = atol(argv[4]);
|
||||
}
|
||||
else if (argc == 6 && strcmp(argv[1], "-d") == 0 && strcmp(argv[2], "-r") == 0)
|
||||
{
|
||||
debug = 1;
|
||||
retries = atoi(argv[3]);
|
||||
host = argv[4];
|
||||
retries = atoi(argv[3]);
|
||||
host = argv[4];
|
||||
port = atol(argv[5]);
|
||||
}
|
||||
else
|
||||
@ -87,19 +87,19 @@ main(int argc, char **argv)
|
||||
fprintf(stderr,"usage: %s [-d] [-r RETRIES] host port\n", argv[0]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if ((port < 0) || (port > 0xFFFF))
|
||||
{
|
||||
fprintf(stderr, "Invalid port: %ld\n", port);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (debug)
|
||||
{
|
||||
mbus_register_send_event(&mbus_dump_send_event);
|
||||
mbus_register_recv_event(&mbus_dump_recv_event);
|
||||
}
|
||||
|
||||
|
||||
if ((handle = mbus_context_tcp(host, port)) == NULL)
|
||||
{
|
||||
fprintf(stderr,"Scan failed: Could not initialize M-Bus context: %s\n", mbus_error_str());
|
||||
@ -111,7 +111,7 @@ main(int argc, char **argv)
|
||||
fprintf(stderr,"Scan failed: Could not setup connection to M-bus gateway: %s\n", mbus_error_str());
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (mbus_context_set_option(handle, MBUS_OPTION_MAX_RETRY, retries) == -1)
|
||||
{
|
||||
fprintf(stderr,"Failed to set retry count\n");
|
||||
@ -126,19 +126,19 @@ main(int argc, char **argv)
|
||||
mbus_frame reply;
|
||||
|
||||
ret = ping_address(handle, &reply, address);
|
||||
|
||||
|
||||
if (ret == MBUS_RECV_RESULT_TIMEOUT)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if (ret == MBUS_RECV_RESULT_INVALID)
|
||||
{
|
||||
/* check for more data (collision) */
|
||||
mbus_purge_frames(handle);
|
||||
printf("Collision at address %d\n", address);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (mbus_frame_type(&reply) == MBUS_FRAME_TYPE_ACK)
|
||||
{
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Copyright (C) 2011, Robert Johansson, Raditex AB
|
||||
// All rights reserved.
|
||||
//
|
||||
// rSCADA
|
||||
// rSCADA
|
||||
// http://www.rSCADA.se
|
||||
// info@rscada.se
|
||||
//
|
||||
@ -31,16 +31,16 @@ main(int argc, char **argv)
|
||||
fprintf(stderr,"usage: %s host port secondary-mbus-address\n", argv[0]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
host = argv[1];
|
||||
|
||||
host = argv[1];
|
||||
port = atol(argv[2]);
|
||||
|
||||
|
||||
if ((port < 0) || (port > 0xFFFF))
|
||||
{
|
||||
fprintf(stderr, "Invalid port: %ld\n", port);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if ((addr = strdup(argv[3])) == NULL)
|
||||
{
|
||||
fprintf(stderr, "Failed to allocate address.\n");
|
||||
@ -68,7 +68,7 @@ main(int argc, char **argv)
|
||||
if (mbus_send_select_frame(handle, addr) == -1)
|
||||
{
|
||||
fprintf(stderr,"Failed to send selection frame: %s\n", mbus_error_str());
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
ret = mbus_recv_frame(handle, &reply);
|
||||
@ -77,7 +77,7 @@ main(int argc, char **argv)
|
||||
{
|
||||
fprintf(stderr,"No reply from device with secondary address %s: %s\n", argv[3], mbus_error_str());
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (ret == MBUS_RECV_RESULT_INVALID)
|
||||
{
|
||||
@ -110,7 +110,7 @@ main(int argc, char **argv)
|
||||
fprintf(stderr,"Unknown reply:\n");
|
||||
mbus_frame_print(&reply);
|
||||
}
|
||||
|
||||
|
||||
free(addr);
|
||||
mbus_disconnect(handle);
|
||||
mbus_context_free(handle);
|
||||
|
Reference in New Issue
Block a user