From d1010ad5f6143a51c638b863ea20f27fc6c625fa Mon Sep 17 00:00:00 2001 From: Yuan Date: Wed, 18 Oct 2023 11:09:15 +0800 Subject: [PATCH] =?UTF-8?q?ibp=E6=8C=89=E9=92=AE=E7=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bj-rtss-message | 2 +- .../draw-app/properties/IbpButtonProperty.vue | 8 ++- src/drawApp/graphics/IBPButtonInteraction.ts | 6 ++ src/graphics/IBPButton/IBPButton.ts | 4 +- src/protos/device_state.ts | 69 +++++++++++++++++++ src/protos/ibpGraphics.ts | 23 +++++++ 6 files changed, 108 insertions(+), 4 deletions(-) diff --git a/bj-rtss-message b/bj-rtss-message index 0868e92..4db072e 160000 --- a/bj-rtss-message +++ b/bj-rtss-message @@ -1 +1 @@ -Subproject commit 0868e9273f80f007eed3820da5f902a4107ac91a +Subproject commit 4db072e4cdc36bfa951496fb4042ab2a76d381b4 diff --git a/src/components/draw-app/properties/IbpButtonProperty.vue b/src/components/draw-app/properties/IbpButtonProperty.vue index 89811c7..bdaf8b8 100644 --- a/src/components/draw-app/properties/IbpButtonProperty.vue +++ b/src/components/draw-app/properties/IbpButtonProperty.vue @@ -51,7 +51,11 @@ const colorOptions = [ label="是否自复位" @update:modelValue="onUpdate" /> + - - diff --git a/src/drawApp/graphics/IBPButtonInteraction.ts b/src/drawApp/graphics/IBPButtonInteraction.ts index c2bfa9d..5a44ef4 100644 --- a/src/drawApp/graphics/IBPButtonInteraction.ts +++ b/src/drawApp/graphics/IBPButtonInteraction.ts @@ -42,6 +42,12 @@ export class IBPButtonData extends GraphicDataBase implements IIBPButtonData { set isSelfReset(v: boolean) { this.data.isSelfReset = v; } + get hasLight(): boolean { + return this.data.hasLight; + } + set hasLight(v: boolean) { + this.data.hasLight = v; + } clone() { return new IBPButtonData(this.data.cloneMessage()); } diff --git a/src/graphics/IBPButton/IBPButton.ts b/src/graphics/IBPButton/IBPButton.ts index 60b0fa0..eb6f699 100644 --- a/src/graphics/IBPButton/IBPButton.ts +++ b/src/graphics/IBPButton/IBPButton.ts @@ -11,6 +11,8 @@ export interface IIBPButtonData extends GraphicData { set color(v: ibpGraphicData.IBPButton.IbpButtonColor); get isSelfReset(): boolean; set isSelfReset(v: boolean); + get hasLight(): boolean; + set hasLight(v: boolean); } export class IBPButton extends JlGraphic { @@ -41,7 +43,7 @@ export class IBPButton extends JlGraphic { this.sprite.texture = this.textures.get( this.datas.color, this.isPressed, - false + this.datas.hasLight ); } press(): void { diff --git a/src/protos/device_state.ts b/src/protos/device_state.ts index b92a4fc..8b1b577 100644 --- a/src/protos/device_state.ts +++ b/src/protos/device_state.ts @@ -1046,6 +1046,7 @@ export namespace state { tailRadarSpeed?: number; udpInterruption?: boolean; acceleration?: number; + diffTime?: number; }) { super(); pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [6], this.#one_of_decls); @@ -1116,6 +1117,9 @@ export namespace state { if ("acceleration" in data && data.acceleration != undefined) { this.acceleration = data.acceleration; } + if ("diffTime" in data && data.diffTime != undefined) { + this.diffTime = data.diffTime; + } } } get heartbeat() { @@ -1250,6 +1254,12 @@ export namespace state { set acceleration(value: number) { pb_1.Message.setField(this, 22, value); } + get diffTime() { + return pb_1.Message.getFieldWithDefault(this, 24, 0) as number; + } + set diffTime(value: number) { + pb_1.Message.setField(this, 24, value); + } static fromObject(data: { heartbeat?: number; headLinkId?: string; @@ -1273,6 +1283,7 @@ export namespace state { tailRadarSpeed?: number; udpInterruption?: boolean; acceleration?: number; + diffTime?: number; }): TrainDynamicState { const message = new TrainDynamicState({}); if (data.heartbeat != null) { @@ -1341,6 +1352,9 @@ export namespace state { if (data.acceleration != null) { message.acceleration = data.acceleration; } + if (data.diffTime != null) { + message.diffTime = data.diffTime; + } return message; } toObject() { @@ -1367,6 +1381,7 @@ export namespace state { tailRadarSpeed?: number; udpInterruption?: boolean; acceleration?: number; + diffTime?: number; } = {}; if (this.heartbeat != null) { data.heartbeat = this.heartbeat; @@ -1434,6 +1449,9 @@ export namespace state { if (this.acceleration != null) { data.acceleration = this.acceleration; } + if (this.diffTime != null) { + data.diffTime = this.diffTime; + } return data; } serialize(): Uint8Array; @@ -1484,6 +1502,8 @@ export namespace state { writer.writeBool(21, this.udpInterruption); if (this.acceleration != 0) writer.writeFloat(22, this.acceleration); + if (this.diffTime != 0) + writer.writeInt64(24, this.diffTime); if (!w) return writer.getResultBuffer(); } @@ -1559,6 +1579,9 @@ export namespace state { case 22: message.acceleration = reader.readFloat(); break; + case 24: + message.diffTime = reader.readInt64(); + break; default: reader.skipField(); } } @@ -1599,6 +1622,7 @@ export namespace state { rightDoorCloseCommand?: boolean; allDoorClose?: boolean; udpInterruption?: boolean; + updateTime?: number; }) { super(); pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); @@ -1678,6 +1702,9 @@ export namespace state { if ("udpInterruption" in data && data.udpInterruption != undefined) { this.udpInterruption = data.udpInterruption; } + if ("updateTime" in data && data.updateTime != undefined) { + this.updateTime = data.updateTime; + } } } get lifeSignal() { @@ -1830,6 +1857,12 @@ export namespace state { set udpInterruption(value: boolean) { pb_1.Message.setField(this, 25, value); } + get updateTime() { + return pb_1.Message.getFieldWithDefault(this, 26, 0) as number; + } + set updateTime(value: number) { + pb_1.Message.setField(this, 26, value); + } static fromObject(data: { lifeSignal?: number; tc1Active?: boolean; @@ -1856,6 +1889,7 @@ export namespace state { rightDoorCloseCommand?: boolean; allDoorClose?: boolean; udpInterruption?: boolean; + updateTime?: number; }): TrainVobcState { const message = new TrainVobcState({}); if (data.lifeSignal != null) { @@ -1933,6 +1967,9 @@ export namespace state { if (data.udpInterruption != null) { message.udpInterruption = data.udpInterruption; } + if (data.updateTime != null) { + message.updateTime = data.updateTime; + } return message; } toObject() { @@ -1962,6 +1999,7 @@ export namespace state { rightDoorCloseCommand?: boolean; allDoorClose?: boolean; udpInterruption?: boolean; + updateTime?: number; } = {}; if (this.lifeSignal != null) { data.lifeSignal = this.lifeSignal; @@ -2038,6 +2076,9 @@ export namespace state { if (this.udpInterruption != null) { data.udpInterruption = this.udpInterruption; } + if (this.updateTime != null) { + data.updateTime = this.updateTime; + } return data; } serialize(): Uint8Array; @@ -2094,6 +2135,8 @@ export namespace state { writer.writeBool(24, this.allDoorClose); if (this.udpInterruption != false) writer.writeBool(25, this.udpInterruption); + if (this.updateTime != 0) + writer.writeInt64(26, this.updateTime); if (!w) return writer.getResultBuffer(); } @@ -2178,6 +2221,9 @@ export namespace state { case 25: message.udpInterruption = reader.readBool(); break; + case 26: + message.updateTime = reader.readInt64(); + break; default: reader.skipField(); } } @@ -2285,6 +2331,7 @@ export namespace state { constructor(data?: any[] | { id?: string; down?: boolean; + aspect?: Signal.Aspect; }) { super(); pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); @@ -2295,6 +2342,9 @@ export namespace state { if ("down" in data && data.down != undefined) { this.down = data.down; } + if ("aspect" in data && data.aspect != undefined) { + this.aspect = data.aspect; + } } } get id() { @@ -2309,9 +2359,16 @@ export namespace state { set down(value: boolean) { pb_1.Message.setField(this, 2, value); } + get aspect() { + return pb_1.Message.getFieldWithDefault(this, 3, Signal.Aspect.Non) as Signal.Aspect; + } + set aspect(value: Signal.Aspect) { + pb_1.Message.setField(this, 3, value); + } static fromObject(data: { id?: string; down?: boolean; + aspect?: Signal.Aspect; }): ButtonState { const message = new ButtonState({}); if (data.id != null) { @@ -2320,12 +2377,16 @@ export namespace state { if (data.down != null) { message.down = data.down; } + if (data.aspect != null) { + message.aspect = data.aspect; + } return message; } toObject() { const data: { id?: string; down?: boolean; + aspect?: Signal.Aspect; } = {}; if (this.id != null) { data.id = this.id; @@ -2333,6 +2394,9 @@ export namespace state { if (this.down != null) { data.down = this.down; } + if (this.aspect != null) { + data.aspect = this.aspect; + } return data; } serialize(): Uint8Array; @@ -2343,6 +2407,8 @@ export namespace state { writer.writeString(1, this.id); if (this.down != false) writer.writeBool(2, this.down); + if (this.aspect != Signal.Aspect.Non) + writer.writeEnum(3, this.aspect); if (!w) return writer.getResultBuffer(); } @@ -2358,6 +2424,9 @@ export namespace state { case 2: message.down = reader.readBool(); break; + case 3: + message.aspect = reader.readEnum(); + break; default: reader.skipField(); } } diff --git a/src/protos/ibpGraphics.ts b/src/protos/ibpGraphics.ts index f636a13..8c5b3f2 100644 --- a/src/protos/ibpGraphics.ts +++ b/src/protos/ibpGraphics.ts @@ -244,6 +244,7 @@ export namespace ibpGraphicData { code?: string; color?: IBPButton.IbpButtonColor; isSelfReset?: boolean; + hasLight?: boolean; }) { super(); pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); @@ -260,6 +261,9 @@ export namespace ibpGraphicData { if ("isSelfReset" in data && data.isSelfReset != undefined) { this.isSelfReset = data.isSelfReset; } + if ("hasLight" in data && data.hasLight != undefined) { + this.hasLight = data.hasLight; + } } } get common() { @@ -289,11 +293,18 @@ export namespace ibpGraphicData { set isSelfReset(value: boolean) { pb_1.Message.setField(this, 4, value); } + get hasLight() { + return pb_1.Message.getFieldWithDefault(this, 5, false) as boolean; + } + set hasLight(value: boolean) { + pb_1.Message.setField(this, 5, value); + } static fromObject(data: { common?: ReturnType; code?: string; color?: IBPButton.IbpButtonColor; isSelfReset?: boolean; + hasLight?: boolean; }): IBPButton { const message = new IBPButton({}); if (data.common != null) { @@ -308,6 +319,9 @@ export namespace ibpGraphicData { if (data.isSelfReset != null) { message.isSelfReset = data.isSelfReset; } + if (data.hasLight != null) { + message.hasLight = data.hasLight; + } return message; } toObject() { @@ -316,6 +330,7 @@ export namespace ibpGraphicData { code?: string; color?: IBPButton.IbpButtonColor; isSelfReset?: boolean; + hasLight?: boolean; } = {}; if (this.common != null) { data.common = this.common.toObject(); @@ -329,6 +344,9 @@ export namespace ibpGraphicData { if (this.isSelfReset != null) { data.isSelfReset = this.isSelfReset; } + if (this.hasLight != null) { + data.hasLight = this.hasLight; + } return data; } serialize(): Uint8Array; @@ -343,6 +361,8 @@ export namespace ibpGraphicData { writer.writeEnum(3, this.color); if (this.isSelfReset != false) writer.writeBool(4, this.isSelfReset); + if (this.hasLight != false) + writer.writeBool(5, this.hasLight); if (!w) return writer.getResultBuffer(); } @@ -364,6 +384,9 @@ export namespace ibpGraphicData { case 4: message.isSelfReset = reader.readBool(); break; + case 5: + message.hasLight = reader.readBool(); + break; default: reader.skipField(); } }