
# IJTagChannel interface

*No description yet.*

```csharp
public interface IJTagChannel : IDeviceChannel
```

**Namespace:** SCH · **Assembly:** Altium.SDK.Interfaces

**Inherits:** [IDeviceChannel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IDeviceChannel.md)

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddJtagDelay](#addjtagdelay) | `void` |  |
| [CurrentTapState](#currenttapstate) | [TTapState](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/TTapState.md) |  |
| [DeviceOnline](#deviceonline) | `bool` |  |
| [FlushJTAGBuffer](#flushjtagbuffer) | `void` |  |
| [ForceToState](#forcetostate) | `void` |  |
| [GetChainLength](#getchainlength) | `int` |  |
| [GetDevice](#getdevice) | [IJTagDevice](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IJTagDevice.md) |  |
| [GetDeviceCount](#getdevicecount) | `int` |  |
| [GetOwnerJtagPort](#getownerjtagport) | [IJtagPort](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IJtagPort.md) |  |
| [GetStringForDevicesOnChain](#getstringfordevicesonchain) | `string` |  |
| [LoadDR_In](#loaddr_in) | `void` |  |
| [LoadDR_InOut](#loaddr_inout) | `uint` |  |
| [LoadDR_Out](#loaddr_out) | `string` |  |
| [LoadIR_In](#loadir_in) | `void` |  |
| [LoadIR_InOut](#loadir_inout) | `uint` |  |
| [LoadIR_Out](#loadir_out) | `string` |  |
| [MoveFromStateToState](#movefromstatetostate) | `void` |  |
| [MoveToState](#movetostate) | `void` |  |
| [NextState](#nextstate) | `void` |  |
| [PlaceAllDevicesInBypass](#placealldevicesinbypass) | `void` |  |
| [RescanChain](#rescanchain) | `void` |  |
| [ResetTAP](#resettap) | `void` |  |
| [ScanChain](#scanchain) | `void` |  |
| [SelectChain](#selectchain) | `void` |  |
| [Shift_Out](#shift_out) | `string` |  |
| [Shift_String_In](#shift_string_in) | `void` |  |
| [Shift_String_InOut](#shift_string_inout) | `string` |  |
| [Shift_Word_In](#shift_word_in) | `void` |  |
| [Shift_Word_InOut](#shift_word_inout) | `uint` |  |
| [ShiftDR_Out](#shiftdr_out) | `string` |  |
| [ShiftDR_String_In](#shiftdr_string_in) | `void` |  |
| [ShiftDR_String_InOut](#shiftdr_string_inout) | `string` |  |
| [ShiftDR_Word_In](#shiftdr_word_in) | `void` |  |
| [ShiftDR_Word_InOut](#shiftdr_word_inout) | `uint` |  |
| [ShiftIR_Out](#shiftir_out) | `string` |  |
| [ShiftIR_String_In](#shiftir_string_in) | `void` |  |
| [ShiftIR_String_InOut](#shiftir_string_inout) | `string` |  |
| [ShiftIR_Word_In](#shiftir_word_in) | `void` |  |
| [ShiftIR_Word_InOut](#shiftir_word_inout) | `uint` |  |

### AddJtagDelay

*No description yet.*

```csharp
void AddJtagDelay(byte argValue);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argValue` | `byte` | value |

**Returns:** nothing (`void`)

### CurrentTapState

*No description yet.*

```csharp
TTapState CurrentTapState();
```

**Returns:** [TTapState](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/TTapState.md)

Extension method of `IJTagChannelHelper` (`using SCH;`).

### DeviceOnline

*No description yet.*

```csharp
bool DeviceOnline(int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDeviceIndex` | `int` | value |

**Returns:** `bool`

### FlushJTAGBuffer

*No description yet.*

```csharp
void FlushJTAGBuffer();
```

**Returns:** nothing (`void`)

### ForceToState

*No description yet.*

```csharp
void ForceToState(TTapState argState);
void ForceToState(int argState);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argState` | [TTapState](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/TTapState.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IJTagChannelHelper` (`using SCH;`) with typed parameters; the second is declared by the interface.

### GetChainLength

*No description yet.*

```csharp
int GetChainLength();
```

**Returns:** `int`

### GetDevice

*No description yet.*

```csharp
IJTagDevice GetDevice(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

**Returns:** [IJTagDevice](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IJTagDevice.md)

Extension method of `IJTagChannelHelper` (`using SCH;`).

### GetDeviceCount

*No description yet.*

```csharp
int GetDeviceCount();
```

**Returns:** `int`

### GetOwnerJtagPort

*No description yet.*

```csharp
IJtagPort GetOwnerJtagPort();
```

**Returns:** [IJtagPort](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IJtagPort.md)

Extension method of `IJTagChannelHelper` (`using SCH;`).

### GetStringForDevicesOnChain

*No description yet.*

```csharp
string GetStringForDevicesOnChain();
```

**Returns:** `string`

### LoadDR_In

*No description yet.*

```csharp
void LoadDR_In(uint argData, int argBitCount, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argData` | `uint` | value |
| `argBitCount` | `int` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** nothing (`void`)

### LoadDR_InOut

*No description yet.*

```csharp
uint LoadDR_InOut(uint argData, int argBitCount, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argData` | `uint` | value |
| `argBitCount` | `int` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** `uint`

### LoadDR_Out

*No description yet.*

```csharp
string LoadDR_Out(uint argRepeatBit, int argBitCount, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepeatBit` | `uint` | value |
| `argBitCount` | `int` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** `string`

### LoadIR_In

*No description yet.*

```csharp
void LoadIR_In(uint argInstruction, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argInstruction` | `uint` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** nothing (`void`)

### LoadIR_InOut

*No description yet.*

```csharp
uint LoadIR_InOut(uint argInstruction, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argInstruction` | `uint` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** `uint`

### LoadIR_Out

*No description yet.*

```csharp
string LoadIR_Out(uint argRepeatBit, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepeatBit` | `uint` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** `string`

### MoveFromStateToState

*No description yet.*

```csharp
void MoveFromStateToState(TTapState argStateFrom, TTapState argStateTo);
void MoveFromStateToState(int argStateFrom, int argStateTo);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argStateFrom` | [TTapState](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/TTapState.md) | value |
| `argStateTo` | [TTapState](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/TTapState.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IJTagChannelHelper` (`using SCH;`) with typed parameters; the second is declared by the interface.

### MoveToState

*No description yet.*

```csharp
void MoveToState(TTapState argState);
void MoveToState(int argState);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argState` | [TTapState](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/TTapState.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IJTagChannelHelper` (`using SCH;`) with typed parameters; the second is declared by the interface.

### NextState

*No description yet.*

```csharp
void NextState(int argTMS);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argTMS` | `int` | value |

**Returns:** nothing (`void`)

### PlaceAllDevicesInBypass

*No description yet.*

```csharp
void PlaceAllDevicesInBypass();
```

**Returns:** nothing (`void`)

### RescanChain

*No description yet.*

```csharp
void RescanChain();
```

**Returns:** nothing (`void`)

### ResetTAP

*No description yet.*

```csharp
void ResetTAP();
```

**Returns:** nothing (`void`)

### ScanChain

*No description yet.*

```csharp
void ScanChain();
```

**Returns:** nothing (`void`)

### SelectChain

*No description yet.*

```csharp
void SelectChain(TSelectMode argMode);
void SelectChain(int argMode);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argMode` | [TSelectMode](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/TSelectMode.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IJTagChannelHelper` (`using SCH;`) with typed parameters; the second is declared by the interface.

### Shift_Out

*No description yet.*

```csharp
string Shift_Out(uint argRepeatBit, int argBitCount, bool argTerminate);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepeatBit` | `uint` | value |
| `argBitCount` | `int` | value |
| `argTerminate` | `bool` | value |

**Returns:** `string`

### Shift_String_In

*No description yet.*

```csharp
void Shift_String_In(string argData, bool argTerminate);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argData` | `string` | value |
| `argTerminate` | `bool` | value |

**Returns:** nothing (`void`)

### Shift_String_InOut

*No description yet.*

```csharp
string Shift_String_InOut(string argData, bool argTerminate);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argData` | `string` | value |
| `argTerminate` | `bool` | value |

**Returns:** `string`

### Shift_Word_In

*No description yet.*

```csharp
void Shift_Word_In(uint argData, int argLength, bool argTerminate);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argData` | `uint` | value |
| `argLength` | `int` | value |
| `argTerminate` | `bool` | value |

**Returns:** nothing (`void`)

### Shift_Word_InOut

*No description yet.*

```csharp
uint Shift_Word_InOut(uint argData, int argLength, bool argTerminate);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argData` | `uint` | value |
| `argLength` | `int` | value |
| `argTerminate` | `bool` | value |

**Returns:** `uint`

### ShiftDR_Out

*No description yet.*

```csharp
string ShiftDR_Out(uint argRepeatBit, int argBitCount, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepeatBit` | `uint` | value |
| `argBitCount` | `int` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** `string`

### ShiftDR_String_In

*No description yet.*

```csharp
void ShiftDR_String_In(string argData, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argData` | `string` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** nothing (`void`)

### ShiftDR_String_InOut

*No description yet.*

```csharp
string ShiftDR_String_InOut(string argData, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argData` | `string` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** `string`

### ShiftDR_Word_In

*No description yet.*

```csharp
void ShiftDR_Word_In(uint argData, int argBitCount, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argData` | `uint` | value |
| `argBitCount` | `int` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** nothing (`void`)

### ShiftDR_Word_InOut

*No description yet.*

```csharp
uint ShiftDR_Word_InOut(uint argData, int argBitCount, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argData` | `uint` | value |
| `argBitCount` | `int` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** `uint`

### ShiftIR_Out

*No description yet.*

```csharp
string ShiftIR_Out(uint argRepeatBit, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRepeatBit` | `uint` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** `string`

### ShiftIR_String_In

*No description yet.*

```csharp
void ShiftIR_String_In(string argInstruction, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argInstruction` | `string` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** nothing (`void`)

### ShiftIR_String_InOut

*No description yet.*

```csharp
string ShiftIR_String_InOut(string argInstruction, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argInstruction` | `string` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** `string`

### ShiftIR_Word_In

*No description yet.*

```csharp
void ShiftIR_Word_In(uint argInstruction, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argInstruction` | `uint` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** nothing (`void`)

### ShiftIR_Word_InOut

*No description yet.*

```csharp
uint ShiftIR_Word_InOut(uint argInstruction, int argDeviceIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argInstruction` | `uint` | value |
| `argDeviceIndex` | `int` | value |

**Returns:** `uint`

## Inherited members

- From [IDeviceChannel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IDeviceChannel.md): [CloseChannel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IDeviceChannel.md#closechannel), [OpenChannel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IDeviceChannel.md#openchannel)

## Returned by

[IJtagPort.GetJTagChannel_Board](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IJtagPort.md#getjtagchannel_board), [IJtagPort.GetJTagChannel_Hard](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IJtagPort.md#getjtagchannel_hard), [IJtagPort.GetJTagChannel_Soft](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IJtagPort.md#getjtagchannel_soft), [INexusDevice.JTagChannel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/INexusDevice.md#jtagchannel)

## Accepted by

[INexusDevice.SetJTagChannel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/INexusDevice.md#setjtagchannel)
