Example #1
0
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;
}
Example #2
0
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;
}