Merge remote branch 'upstream/master'
Conflicts: mbus/mbus-serial.c
This commit is contained in:
@ -24,7 +24,7 @@
|
||||
#define MBUS_DEBUG(...)
|
||||
#endif
|
||||
|
||||
static int debug = 1;
|
||||
static int debug = 0;
|
||||
|
||||
typedef struct _mbus_variable_vif {
|
||||
unsigned vif;
|
||||
@ -1557,14 +1557,7 @@ mbus_sendrecv_request(mbus_handle *handle, int address, mbus_frame *reply, int m
|
||||
while (more_frames)
|
||||
{
|
||||
frame_count++;
|
||||
|
||||
if ((max_frames > 0) &&
|
||||
(frame_count > max_frames))
|
||||
{
|
||||
// only readout max_frames
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (debug)
|
||||
printf("%s: debug: receiving response frame #%d\n", __PRETTY_FUNCTION__, frame_count);
|
||||
|
||||
@ -1601,7 +1594,8 @@ mbus_sendrecv_request(mbus_handle *handle, int address, mbus_frame *reply, int m
|
||||
{
|
||||
more_frames = 0;
|
||||
|
||||
if (reply_data.data_var.more_records_follow)
|
||||
if (reply_data.data_var.more_records_follow &&
|
||||
((max_frames > 0) && (frame_count < max_frames))) // only readout max_frames
|
||||
{
|
||||
if (debug)
|
||||
printf("%s: debug: expecting more frames\n", __PRETTY_FUNCTION__);
|
||||
|
@ -2768,27 +2768,29 @@ mbus_parse_set_debug(int debug)
|
||||
int
|
||||
mbus_frame_print(mbus_frame *frame)
|
||||
{
|
||||
mbus_frame *iter;
|
||||
u_char data_buff[256];
|
||||
int len, i;
|
||||
|
||||
if (frame)
|
||||
|
||||
if (frame == NULL)
|
||||
return -1;
|
||||
|
||||
for (iter = frame; iter; iter = iter->next)
|
||||
{
|
||||
if ((len = mbus_frame_pack(frame, data_buff, sizeof(data_buff))) == -1)
|
||||
if ((len = mbus_frame_pack(iter, data_buff, sizeof(data_buff))) == -1)
|
||||
{
|
||||
return -2;
|
||||
}
|
||||
|
||||
printf("%s: Dumping M-Bus frame [type %d, %d bytes]: ", __PRETTY_FUNCTION__, frame->type, len);
|
||||
|
||||
printf("%s: Dumping M-Bus frame [type %d, %d bytes]: ", __PRETTY_FUNCTION__, iter->type, len);
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
printf("%.2X ", data_buff[i]);
|
||||
}
|
||||
printf("\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
@ -166,6 +166,16 @@ mbus_serial_send_frame(mbus_serial_handle *handle, mbus_frame *frame)
|
||||
fprintf(stderr, "%s: mbus_frame_pack failed\n", __PRETTY_FUNCTION__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef MBUS_SERIAL_DEBUG
|
||||
// if debug, dump in HEX form to stdout what we write to the serial port
|
||||
printf("%s: Dumping M-Bus frame [%d bytes]: ", __PRETTY_FUNCTION__, len);
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
printf("%.2X ", buff[i]);
|
||||
}
|
||||
printf("\n");
|
||||
#endif
|
||||
|
||||
if ((ret = write(handle->fd, buff, len)) == len)
|
||||
{
|
||||
|
Reference in New Issue
Block a user