static int jlink_get_status( libusb_param_t *params ) { int result; jlink_usbconn_data_t *data = params->data; jlink_simple_command( params, 0x07 ); result = jlink_usb_read( params ); if(result == 8) { int vref = data->usb_in_buffer[0] + (data->usb_in_buffer[1]<<8); INFO("Vref = %d.%d TCK=%d TDI=%d TDO=%d TMS=%d TRES=%d TRST=%d\n", vref / 1000, vref % 1000, data->usb_in_buffer[2], data->usb_in_buffer[3], data->usb_in_buffer[4], data->usb_in_buffer[5], data->usb_in_buffer[6], data->usb_in_buffer[7]); if(vref < 1500) { ERROR("Vref too low. Eventually the target isn't powered or disconnected?\n"); result = -15; } } else { ERROR("J-Link command 0x07 (get status) failed (%d)\n", result); } return result; }
static int jlink_get_status (urj_usbconn_libusb_param_t *params) { int result; jlink_usbconn_data_t *data = params->data; jlink_simple_command (params, 0x07); result = jlink_usb_read (params); if (result == 8) { int vref = data->usb_in_buffer[0] + (data->usb_in_buffer[1] << 8); // @@@@ RFHH how can we handle this gracefully in liburjtag? urj_log (URJ_LOG_LEVEL_NORMAL, "Vref = %d.%d TCK=%d TDI=%d TDO=%d TMS=%d TRES=%d TRST=%d\n", vref / 1000, vref % 1000, data->usb_in_buffer[2], data->usb_in_buffer[3], data->usb_in_buffer[4], data->usb_in_buffer[5], data->usb_in_buffer[6], data->usb_in_buffer[7]); if (vref < 1500) { urj_error_set (URJ_ERROR_USB, "Vref too low. Possibly the target isn't powered or disconnected?"); result = -1; } } else { urj_error_set (URJ_ERROR_USB, "J-Link command 0x07 (get status) failed (%d)\n", result); result = -1; } return result; }