feat: 使用SignalR来控制jtag边界扫描

This commit is contained in:
2025-08-01 19:55:55 +08:00
parent 2adeca3b99
commit 9adc5295f8
20 changed files with 973 additions and 571 deletions

View File

@@ -23,6 +23,50 @@ export class Client {
}
getSignalrDevSpec_json( cancelToken?: CancelToken): Promise<void> {
let url_ = this.baseUrl + "/signalr-dev/spec.json";
url_ = url_.replace(/[?&]$/, "");
let options_: AxiosRequestConfig = {
method: "GET",
url: url_,
headers: {
},
cancelToken
};
return this.instance.request(options_).catch((_error: any) => {
if (isAxiosError(_error) && _error.response) {
return _error.response;
} else {
throw _error;
}
}).then((_response: AxiosResponse) => {
return this.processGetSignalrDevSpec_json(_response);
});
}
protected processGetSignalrDevSpec_json(response: AxiosResponse): Promise<void> {
const status = response.status;
let _headers: any = {};
if (response.headers && typeof response.headers === "object") {
for (const k in response.headers) {
if (response.headers.hasOwnProperty(k)) {
_headers[k] = response.headers[k];
}
}
}
if (status === 200) {
const _responseText = response.data;
return Promise.resolve<void>(null as any);
} else if (status !== 200 && status !== 204) {
const _responseText = response.data;
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
}
return Promise.resolve<void>(null as any);
}
getGetAPIClientCode( cancelToken?: CancelToken): Promise<void> {
let url_ = this.baseUrl + "/GetAPIClientCode";
url_ = url_.replace(/[?&]$/, "");
@@ -7239,20 +7283,15 @@ export enum CaptureMode {
/** 调试器整体配置信息 */
export class DebuggerConfig implements IDebuggerConfig {
/** 时钟频率
*/
/** 时钟频率 */
clkFreq!: number;
/** 总端口数量
*/
/** 总端口数量 */
totalPortNum!: number;
/** 捕获深度(采样点数)
*/
/** 捕获深度(采样点数) */
captureDepth!: number;
/** 触发器数量
*/
/** 触发器数量 */
triggerNum!: number;
/** 所有信号通道的配置信息
*/
/** 所有信号通道的配置信息 */
channelConfigs!: ChannelConfig[];
constructor(data?: IDebuggerConfig) {
@@ -7305,42 +7344,31 @@ export class DebuggerConfig implements IDebuggerConfig {
/** 调试器整体配置信息 */
export interface IDebuggerConfig {
/** 时钟频率
*/
/** 时钟频率 */
clkFreq: number;
/** 总端口数量
*/
/** 总端口数量 */
totalPortNum: number;
/** 捕获深度(采样点数)
*/
/** 捕获深度(采样点数) */
captureDepth: number;
/** 触发器数量
*/
/** 触发器数量 */
triggerNum: number;
/** 所有信号通道的配置信息
*/
/** 所有信号通道的配置信息 */
channelConfigs: ChannelConfig[];
}
/** 表示单个信号通道的配置信息 */
export class ChannelConfig implements IChannelConfig {
/** 通道名称
*/
/** 通道名称 */
name!: string;
/** 通道显示颜色(如前端波形显示用)
*/
/** 通道显示颜色(如前端波形显示用) */
color!: string;
/** 通道信号线宽度(位数)
*/
/** 通道信号线宽度(位数) */
wireWidth!: number;
/** 信号线在父端口中的起始索引bit
*/
/** 信号线在父端口中的起始索引bit */
wireStartIndex!: number;
/** 父端口编号
*/
/** 父端口编号 */
parentPort!: number;
/** 捕获模式(如上升沿、下降沿等)
*/
/** 捕获模式(如上升沿、下降沿等) */
mode!: CaptureMode;
constructor(data?: IChannelConfig) {
@@ -7384,33 +7412,25 @@ export class ChannelConfig implements IChannelConfig {
/** 表示单个信号通道的配置信息 */
export interface IChannelConfig {
/** 通道名称
*/
/** 通道名称 */
name: string;
/** 通道显示颜色(如前端波形显示用)
*/
/** 通道显示颜色(如前端波形显示用) */
color: string;
/** 通道信号线宽度(位数)
*/
/** 通道信号线宽度(位数) */
wireWidth: number;
/** 信号线在父端口中的起始索引bit
*/
/** 信号线在父端口中的起始索引bit */
wireStartIndex: number;
/** 父端口编号
*/
/** 父端口编号 */
parentPort: number;
/** 捕获模式(如上升沿、下降沿等)
*/
/** 捕获模式(如上升沿、下降沿等) */
mode: CaptureMode;
}
/** 单个通道的捕获数据 */
export class ChannelCaptureData implements IChannelCaptureData {
/** 通道名称
*/
/** 通道名称 */
name!: string;
/** 通道捕获到的数据Base64编码的UInt32数组
*/
/** 通道捕获到的数据Base64编码的UInt32数组 */
data!: string;
constructor(data?: IChannelCaptureData) {
@@ -7446,11 +7466,9 @@ export class ChannelCaptureData implements IChannelCaptureData {
/** 单个通道的捕获数据 */
export interface IChannelCaptureData {
/** 通道名称
*/
/** 通道名称 */
name: string;
/** 通道捕获到的数据Base64编码的UInt32数组
*/
/** 通道捕获到的数据Base64编码的UInt32数组 */
data: string;
}