diff --git a/ftdijtag.cpp b/ftdijtag.cpp index 6d49740..cd2ea41 100644 --- a/ftdijtag.cpp +++ b/ftdijtag.cpp @@ -302,6 +302,15 @@ int FtdiJtag::shiftDR(unsigned char *tdi, unsigned char *tdo, int drlen, int end return 0; } +int FtdiJtag::shiftIR(unsigned char tdi, int irlen, int end_state) +{ + if (irlen > 8) { + cerr << "Error: this method this direct char don't support more than 1 byte" << endl; + return -1; + } + return shiftIR(&tdi, NULL, irlen, end_state); +} + int FtdiJtag::shiftIR(unsigned char *tdi, unsigned char *tdo, int irlen, int end_state) { display("%s: avant shiftIR\n", __func__); diff --git a/ftdijtag.hpp b/ftdijtag.hpp index 791e538..e5760aa 100644 --- a/ftdijtag.hpp +++ b/ftdijtag.hpp @@ -15,6 +15,7 @@ class FtdiJtag : public FTDIpp_MPSSE { int detectChain(std::vector &devices, int max_dev); int shiftIR(unsigned char *tdi, unsigned char *tdo, int irlen, int end_state = RUN_TEST_IDLE); + int shiftIR(unsigned char tdi, int irlen, int end_state = RUN_TEST_IDLE); int shiftDR(unsigned char *tdi, unsigned char *tdo, int drlen, int end_state = RUN_TEST_IDLE); int read_write(unsigned char *tdi, unsigned char *tdo, int len, char last);