preliminary-changes-2
This commit is contained in:
parent
73768bb236
commit
d6d4479889
@ -151,7 +151,7 @@ namespace pxsim {
|
|||||||
return !!this.inputNodes[port];
|
return !!this.inputNodes[port];
|
||||||
}
|
}
|
||||||
|
|
||||||
getSensor(port: number, type: number): SensorNode | SensorExtendedNode {
|
getSensor(port: number, type: number): SensorNode {
|
||||||
if (!this.inputNodes[port]) {
|
if (!this.inputNodes[port]) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case DAL.DEVICE_TYPE_GYRO: this.inputNodes[port] = new GyroSensorNode(port); break;
|
case DAL.DEVICE_TYPE_GYRO: this.inputNodes[port] = new GyroSensorNode(port); break;
|
||||||
@ -189,7 +189,6 @@ namespace pxsim {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function inHighcontrastMode(): boolean {
|
export function inHighcontrastMode(): boolean {
|
||||||
///
|
|
||||||
return ev3board().highcontrastMode;
|
return ev3board().highcontrastMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,26 +21,30 @@ namespace pxsim {
|
|||||||
export class ColorSensorNode extends UartSensorNode {
|
export class ColorSensorNode extends UartSensorNode {
|
||||||
id = NodeType.ColorSensor;
|
id = NodeType.ColorSensor;
|
||||||
|
|
||||||
//private colors: number[] = [0];
|
|
||||||
private color: number = 0;
|
private color: number = 0;
|
||||||
private colors: number[] = [0, 0, 0];
|
private colors: number[] = [0, 0, 0];
|
||||||
|
|
||||||
constructor(port: number) {
|
constructor(port: number) {
|
||||||
super(port);
|
super(port);
|
||||||
this.mode = -1;
|
this.mode = -1;
|
||||||
|
this.modeReturnArr = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
getDeviceType() {
|
getDeviceType() {
|
||||||
return DAL.DEVICE_TYPE_COLOR;
|
return DAL.DEVICE_TYPE_COLOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isModeReturnArr() {
|
||||||
|
return this.modeReturnArr;
|
||||||
|
}
|
||||||
|
|
||||||
setColors(colors: number[]) {
|
setColors(colors: number[]) {
|
||||||
this.colors = colors;
|
this.colors = colors;
|
||||||
this.setChangedState();
|
this.setChangedState();
|
||||||
}
|
}
|
||||||
|
|
||||||
setColor(colors: number) {
|
setColor(colors: number) {
|
||||||
this.colors = [colors];
|
this.color = colors;
|
||||||
this.setChangedState();
|
this.setChangedState();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,9 +58,16 @@ namespace pxsim {
|
|||||||
|
|
||||||
setMode(mode: number) {
|
setMode(mode: number) {
|
||||||
this.mode = mode;
|
this.mode = mode;
|
||||||
if (this.mode == ColorSensorMode.RefRaw) this.color = 512;
|
if (this.mode == ColorSensorMode.RefRaw) {
|
||||||
else if (this.mode == ColorSensorMode.RgbRaw) this.colors = [128, 128, 128];
|
this.color = 512;
|
||||||
else this.color = 50; // Reflection or ambiend light
|
this.modeReturnArr = false;
|
||||||
|
} else if (this.mode == ColorSensorMode.RgbRaw) {
|
||||||
|
this.colors = [128, 128, 128];
|
||||||
|
this.modeReturnArr = true;
|
||||||
|
} else { // Reflection or ambiend light
|
||||||
|
this.color = 50;
|
||||||
|
this.modeReturnArr = false;
|
||||||
|
}
|
||||||
this.changed = true;
|
this.changed = true;
|
||||||
this.modeChanged = true;
|
this.modeChanged = true;
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@ namespace pxsim {
|
|||||||
protected mode: number;
|
protected mode: number;
|
||||||
protected valueChanged: boolean;
|
protected valueChanged: boolean;
|
||||||
protected modeChanged: boolean;
|
protected modeChanged: boolean;
|
||||||
|
protected modeReturnArr: boolean;
|
||||||
|
|
||||||
constructor(port: number) {
|
constructor(port: number) {
|
||||||
super(port);
|
super(port);
|
||||||
@ -19,65 +20,15 @@ namespace pxsim {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public isModeReturnArr() {
|
||||||
|
return this.modeReturnArr;
|
||||||
|
}
|
||||||
|
|
||||||
public getValue() {
|
public getValue() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
setMode(mode: number) {
|
public getValues() {
|
||||||
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 SensorExtendedNode 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];
|
return [0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -85,6 +36,7 @@ namespace pxsim {
|
|||||||
this.mode = mode;
|
this.mode = mode;
|
||||||
this.changed = true;
|
this.changed = true;
|
||||||
this.modeChanged = true;
|
this.modeChanged = true;
|
||||||
|
this.modeReturnArr = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
getMode() {
|
getMode() {
|
||||||
@ -143,19 +95,4 @@ namespace pxsim {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class UartSensorExtendedNode extends SensorNode {
|
|
||||||
|
|
||||||
constructor(port: number) {
|
|
||||||
super(port);
|
|
||||||
}
|
|
||||||
|
|
||||||
hasChanged() {
|
|
||||||
return this.changed;
|
|
||||||
}
|
|
||||||
|
|
||||||
public getValues() {
|
|
||||||
return [0];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
@ -91,7 +91,13 @@ namespace pxsim {
|
|||||||
if (node && node.isUart()) {
|
if (node && node.isUart()) {
|
||||||
// Actual
|
// Actual
|
||||||
const index = 0; //UartOff.Actual + port * 2;
|
const index = 0; //UartOff.Actual + port * 2;
|
||||||
util.map16Bit(data, UartOff.Raw + DAL.MAX_DEVICE_DATALENGTH * 300 * port + DAL.MAX_DEVICE_DATALENGTH * index, Math.floor(node.getValue()))
|
//console.log(node.isModeReturnArr()); // Узнать возвращает ли режим датчика массив значений
|
||||||
|
let value, values;
|
||||||
|
if (!node.isModeReturnArr()) {
|
||||||
|
value = Math.floor(node.getValue());
|
||||||
|
util.map16Bit(data, UartOff.Raw + DAL.MAX_DEVICE_DATALENGTH * 300 * port + DAL.MAX_DEVICE_DATALENGTH * index, value);
|
||||||
|
} else values = node.getValues();
|
||||||
|
//util.map16Bit(data, UartOff.Raw + DAL.MAX_DEVICE_DATALENGTH * 300 * port + DAL.MAX_DEVICE_DATALENGTH * index, value);
|
||||||
// Status
|
// Status
|
||||||
data[UartOff.Status + port] = node.valueChange() ? UartStatus.UART_PORT_CHANGED : UartStatus.UART_DATA_READY;
|
data[UartOff.Status + port] = node.valueChange() ? UartStatus.UART_PORT_CHANGED : UartStatus.UART_DATA_READY;
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ namespace pxsim.visuals {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private getMaxValue() {
|
private getMaxValue() {
|
||||||
return 512;
|
return 511;
|
||||||
}
|
}
|
||||||
|
|
||||||
private mapValue(x: number, inMin: number, inMax: number, outMin: number, outMax: number) {
|
private mapValue(x: number, inMin: number, inMax: number, outMin: number, outMax: number) {
|
||||||
@ -45,7 +45,7 @@ namespace pxsim.visuals {
|
|||||||
const node = this.state;
|
const node = this.state;
|
||||||
const values = node.getValues();
|
const values = node.getValues();
|
||||||
//console.log("values: ");
|
//console.log("values: ");
|
||||||
console.log(values);
|
//console.log(values);
|
||||||
let inverseValue: number[] = [];
|
let inverseValue: number[] = [];
|
||||||
for (let i = 0; i < 3; i++) {
|
for (let i = 0; i < 3; i++) {
|
||||||
inverseValue[i] = this.getMaxValue() - values[i];
|
inverseValue[i] = this.getMaxValue() - values[i];
|
||||||
|
@ -74,8 +74,6 @@ namespace pxsim.visuals {
|
|||||||
|
|
||||||
const rect = pxsim.svg.child(sliderGroup, "rect",
|
const rect = pxsim.svg.child(sliderGroup, "rect",
|
||||||
{
|
{
|
||||||
"x": 0,
|
|
||||||
"y": 0,
|
|
||||||
"width": this.getSliderWidth(),
|
"width": this.getSliderWidth(),
|
||||||
"height": this.getSliderHeight(),
|
"height": this.getSliderHeight(),
|
||||||
"style": `fill: url(#${gc})`
|
"style": `fill: url(#${gc})`
|
||||||
|
Loading…
Reference in New Issue
Block a user