www.kxcad.net Home > Electronic Index > Altium(Protel) Index
Overview
IJTagChannel's Methods
{-----------------------------------------------------------------}
{Chain Functions }
Function OpenChannel : LongBool;
Procedure CloseChannel;
Procedure PlaceAllDevicesInBypass;
Function GetChainLength : Integer;
Procedure ScanChain;
Procedure DisplayStatus;
Function GetDevice(Index : Integer) : IJTagDevice;
Function GetDeviceCount : Integer;
Function GetStringForDevicesOnChain : WideString;
{-----------------------------------------------------------------}
{General Shift Register Functions - Applied to chain }
Procedure DoFlush(BitCount : Integer);
Function ShiftIn32BitPartialData(Data : LongWord) : LongWord;
Function ShiftInNBitPartialData (Data : LongWord;
Length : Integer ) : LongWord;
{-----------------------------------------------------------------}
{General Shift Register Functions - Applied to Single Device }
Function ShiftInOutNBitData (Data : LongWord;
BitCount : Integer;
DeviceIndex : Integer): LongWord;
Function ShiftInOutString (Data : WideString;
DeviceIndex : Integer): WideString;
Function ShiftInOutPartialString(Data : WideString;
DeviceIndex : Integer): WideString;
Function ShiftInOutString_IR (Data : WideString;
DeviceIndex : Integer): WideString;
Function DataRegisterLoad (Data : LongWord;
BitCount : Integer;
DeviceIndex : Integer) : LongWord;
Procedure LoadInstruction (Instruction : LongWord; DeviceIndex : Integer);
Procedure SelectInstruction (Instruction : LongWord; DeviceIndex : Integer);
Function ReadCaptureIR (DeviceIndex : Integer) : LongWord;
Function DeviceOnline (DeviceIndex : Integer) : LongBool;
Function CaptureInstructionRegister(DeviceIndex : Integer) : LongWord;
{-----------------------------------------------------------------}
{TAP State Machine Controller Functions }
Procedure StartShiftDataIn;
Procedure NextState(ATMS : Integer);
Procedure ResetTAP;
Procedure ForceTo_RUN_TEST_IDLE;
Function CurrentTapState : TTapState;
Procedure MoveToState_SHIFT_IR;
Procedure MoveToState_SHIFT_DR;
Procedure MoveFromState_EXIT1_IR_ToState_SHIFT_DR;
Procedure MoveFromState_SHIFT_IR_ToState_RUN_TEST_IDLE;
Procedure MoveFromState_SHIFT_DR_ToState_RUN_TEST_IDLE;
Procedure MoveFromState_EXIT1_IR_ToState_RUN_TEST_IDLE;
Procedure MoveFromState_EXIT1_DR_ToState_RUN_TEST_IDLE;
Procedure SetTCK(N : Byte);
Procedure SetTDO(N : Byte);
Procedure SetTDI(N : Byte);
Procedure SetTMS(N : Byte);
Function GetTCK : Byte;
Function GetTDO : Byte;
Function GetTDI : Byte;
Function GetTMS : Byte;
Procedure Write;
Procedure Read;
{ This SPI functionality should be in a seperate interface }
{ Perhaps we would have IDevice and IDeviceChannel, from which we could inherit }
{ IJTagDevice, ISPIDevice, II2CDevice and their corresponding channel objects. }
Procedure SPI_SetDataPin (N : Byte);
Procedure SPI_SetClockPin (N : Byte);
Procedure SPI_SetSelectPin(N : Byte);
Function SPI_GetDataPin : Byte;
Function SPI_SendReceiveByte(DataByte : Byte ) : Byte;
Procedure SPI_SendAddress24 (Address : Integer);
Procedure SPI_SendAddress32 (Address : Integer);
Procedure SPI_BitDelay;
Function SPI_SelectDevice(BoardAddress : Byte;
DeviceAddress : Byte) : LongBool;
IJTAGChannel's Properties
Property TCK : Byte Read GetTCK Write SetTCK;
Property TDO : Byte Read GetTDO Write SetTDO;
Property TDI : Byte Read GetTDI Write SetTDI;
Property TMS : Byte Read GetTMS Write SetTMS;