Print the log for debugging triger packet

This commit is contained in:
dreamsourcelabTAI
2023-08-07 14:48:39 +08:00
parent c57b13b72c
commit 392b2def38
3 changed files with 41 additions and 1 deletions
+2
View File
@@ -1325,6 +1325,7 @@ namespace pv
if (packet->type != SR_DF_END &&
packet->status != SR_PKT_OK)
{
dsv_err("ERROR: packet.type != SR_DF_END and packet.status != SR_PKT_OK");
_error = Pkt_data_err;
_callback->session_error();
return;
@@ -1381,6 +1382,7 @@ namespace pv
if (packet->status != SR_PKT_OK)
{
dsv_err("ERROR: packet.type == SR_DF_END but packet.status != SR_PKT_OK");
_error = Pkt_data_err;
_callback->session_error();
}
+37 -1
View File
@@ -2431,6 +2431,11 @@ static void receive_header(struct libusb_transfer *transfer)
struct ds_trigger_pos *trigger_pos;
const struct sr_dev_inst *sdi;
uint64_t remain_cnt;
char *hex_buffer;
char *hex_write;
char *hex_end_ptr;
char *usb_data;
int usb_data_len;
packet.status = SR_PKT_OK;
devc = transfer->user_data;
@@ -2439,6 +2444,7 @@ static void receive_header(struct libusb_transfer *transfer)
if (devc->status != DSL_ABORT)
devc->status = DSL_ERROR;
if (!devc->abort && transfer->status == LIBUSB_TRANSFER_COMPLETED &&
trigger_pos->check_id == TRIG_CHECKID) {
sr_info("%llu: receive_trigger_pos(): status %d; timeout %d; received %d bytes.",
@@ -2462,8 +2468,38 @@ static void receive_header(struct libusb_transfer *transfer)
devc->status = DSL_DATA;
}
}
} else if (!devc->abort) {
}
else if (!devc->abort) {
sr_err("%s: trigger packet data error.", __func__);
sr_err("The invalid trigger_pos->check_id:%02x, usb packet length:%d",
trigger_pos->check_id,
transfer->actual_length);
usb_data_len = transfer->actual_length;
usb_data = transfer->buffer;
if (usb_data_len > 0 && usb_data != NULL){
hex_buffer = (char*)malloc(usb_data_len * 2 + 1);
if (hex_buffer != NULL){
hex_write = hex_buffer;
hex_end_ptr = hex_buffer + usb_data_len * 2;
while (hex_write < hex_end_ptr)
{
sprintf(hex_write, "%02x", *(unsigned char*)usb_data);
usb_data++;
hex_write += 2;
}
*hex_write = 0;
sr_err("usb data packet:%s", hex_buffer); //print data packet.
free(hex_buffer);
hex_buffer = NULL;
}
}
packet.type = SR_DF_TRIGGER;
packet.payload = trigger_pos;
packet.status = SR_PKT_DATA_ERROR;
+2
View File
@@ -1326,6 +1326,8 @@ static void report_overflow(struct DSL_context *devc)
struct sr_datafeed_packet packet;
struct sr_dev_inst *sdi = devc->cb_data;
sr_info("%s: ERROR: data overflow.", __func__);
packet.status = SR_PKT_OK;
packet.type = SR_DF_OVERFLOW;
packet.payload = NULL;