namespace pxsim { export class SensorNode extends BaseNode { protected mode: number; protected valueChanged: boolean; protected modeChanged: boolean; constructor(port: number) { super(port); } public isUart() { return true; } public isAnalog() { return false; } public getValue() { return 0; } setMode(mode: number) { this.mode = mode; this.changed = true; this.modeChanged = true; } getMode() { return this.mode; } getDeviceType() { return DAL.DEVICE_TYPE_NONE; } public hasData() { return true; } valueChange() { const res = this.valueChanged; this.valueChanged = false; return res; } modeChange() { const res = this.modeChanged; this.modeChanged = false; return res; } setChangedState() { this.changed = true; this.valueChanged = false; } } export class AnalogSensorNode extends SensorNode { constructor(port: number) { super(port); } public isUart() { return false; } public isAnalog() { return true; } } export class UartSensorNode extends SensorNode { constructor(port: number) { super(port); } hasChanged() { return this.changed; } } }