Attempt to satisfy a comment from the owner
This commit is contained in:
parent
fdd1037d46
commit
5d8ec9a162
|
|
@ -54,6 +54,15 @@ enum CommandModifier {
|
||||||
NO_READ = 0x80
|
NO_READ = 0x80
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct version_specific
|
||||||
|
{
|
||||||
|
uint8_t no_read; //command modifer for xfer no read
|
||||||
|
uint16_t max_bits; //max bit count that can be transferred
|
||||||
|
};
|
||||||
|
|
||||||
|
static version_specific v_options[4] ={{0, 240}, {0, 240}, {NO_READ, 496}, {NO_READ, 4000}};
|
||||||
|
|
||||||
|
|
||||||
enum dirtyJtagSig {
|
enum dirtyJtagSig {
|
||||||
SIG_TCK = (1 << 1),
|
SIG_TCK = (1 << 1),
|
||||||
SIG_TDI = (1 << 2),
|
SIG_TDI = (1 << 2),
|
||||||
|
|
@ -224,8 +233,8 @@ int DirtyJtag::writeTDI(uint8_t *tx, uint8_t *rx, uint32_t len, bool end)
|
||||||
memset(tx_cpy, 0, real_byte_len);
|
memset(tx_cpy, 0, real_byte_len);
|
||||||
tx_ptr = tx_cpy;
|
tx_ptr = tx_cpy;
|
||||||
|
|
||||||
tx_buf[0] = CMD_XFER | ((rx || (_version <= 1)) ? 0 : NO_READ);
|
tx_buf[0] = CMD_XFER | (rx ? 0 : v_options[_version].no_read );
|
||||||
uint16_t max_bit_transfer_length = (uint16_t[]){240, 496, 4000}[_version -1];
|
uint16_t max_bit_transfer_length = v_options[_version].max_bits;
|
||||||
assert(max_bit_transfer_length %8 == 0);//need to cut the bits on byte size.
|
assert(max_bit_transfer_length %8 == 0);//need to cut the bits on byte size.
|
||||||
while (real_bit_len != 0) {
|
while (real_bit_len != 0) {
|
||||||
uint16_t bit_to_send = (real_bit_len > max_bit_transfer_length) ? max_bit_transfer_length : real_bit_len;
|
uint16_t bit_to_send = (real_bit_len > max_bit_transfer_length) ? max_bit_transfer_length : real_bit_len;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue