pxt-ev3/sim/state/sensor.ts

98 lines
1.8 KiB
TypeScript
Raw Normal View History

2017-12-18 22:04:17 +01:00
namespace pxsim {
export class SensorNode extends BaseNode {
protected mode: number;
protected valueChanged: boolean;
protected modeChanged: boolean;
2023-05-10 09:43:28 +02:00
protected modeReturnArr: boolean;
2017-12-18 22:04:17 +01:00
constructor(port: number) {
super(port);
}
public isUart() {
return true;
}
public isAnalog() {
return false;
}
2023-05-10 09:43:28 +02:00
public isModeReturnArr() {
return this.modeReturnArr;
}
2023-05-10 09:43:28 +02:00
public getValue() {
return 0;
}
2023-05-10 09:43:28 +02:00
public getValues() {
return [0];
}
setMode(mode: number) {
this.mode = mode;
this.changed = true;
this.modeChanged = true;
2023-05-10 09:43:28 +02:00
this.modeReturnArr = false;
}
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;
}
}
2017-12-18 22:04:17 +01:00
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;
}
}
2017-12-18 22:04:17 +01:00
}