From: <oh...@ma...> - 2009-04-24 18:24:59
|
Author: oharboe Date: 2009-04-24 18:24:55 +0200 (Fri, 24 Apr 2009) New Revision: 1524 Modified: trunk/src/jtag/jlink.c trunk/src/jtag/jtag.h Log: Zach Welch <zw...@su...> add TAP_SCAN_BYTES macro (1 of 2) Modified: trunk/src/jtag/jlink.c =================================================================== --- trunk/src/jtag/jlink.c 2009-04-24 16:14:21 UTC (rev 1523) +++ trunk/src/jtag/jlink.c 2009-04-24 16:24:55 UTC (rev 1524) @@ -672,7 +672,7 @@ return ERROR_OK; // number of full bytes (plus one if some would be left over) - byte_length = tap_length / 8 + !!(tap_length % 8); + byte_length = TAP_SCAN_BYTES(tap_length); usb_out_buffer[0] = EMU_CMD_HW_JTAG3; usb_out_buffer[1] = 0; Modified: trunk/src/jtag/jtag.h =================================================================== --- trunk/src/jtag/jtag.h 2009-04-24 16:14:21 UTC (rev 1523) +++ trunk/src/jtag/jtag.h 2009-04-24 16:24:55 UTC (rev 1524) @@ -217,6 +217,9 @@ struct scan_field_s; typedef int (*in_handler_t)(u8* in_value, void* priv, struct scan_field_s* field); +/// @brief calculates number of bytes required to hold @a n TAP scan bits +#define TAP_SCAN_BYTES(n) (((n) / 8) + !!((n) % 8)) + typedef struct scan_field_s { jtag_tap_t* tap; /* tap pointer this instruction refers to */ |