5#include "libxr_def.hpp"
12enum class TapState : uint8_t
39 virtual ~Jtag() =
default;
42 Jtag& operator=(
const Jtag&) =
delete;
77 uint8_t* out_lsb_first) = 0;
87 uint8_t* out_lsb_first) = 0;
98 uint8_t* tdo_lsb_first) = 0;
Abstract JTAG base class providing TAP control and IR/DR shifting.
virtual void Close()=0
Close JTAG and release resources.
virtual ErrorCode ShiftDR(uint32_t bits, const uint8_t *in_lsb_first, uint8_t *out_lsb_first)=0
Shift DR, LSB first.
virtual ErrorCode ResetTap()=0
Reset TAP to Test-Logic-Reset.
virtual ErrorCode ShiftIR(uint32_t bits, const uint8_t *in_lsb_first, uint8_t *out_lsb_first)=0
Shift IR, LSB first.
virtual ErrorCode Sequence(uint32_t cycles, bool tms, const uint8_t *tdi_lsb_first, uint8_t *tdo_lsb_first)=0
Shift a fixed-TMS sequence, LSB first.
virtual ErrorCode SetClockHz(uint32_t hz)=0
Set TCK frequency, if supported.
virtual void IdleClocks(uint32_t cycles)=0
Insert idle clock cycles in Run-Test/Idle.
virtual ErrorCode GotoState(TapState target)=0
Move to the requested TAP state.