auto-sync
This commit is contained in:
parent
0af06b178e
commit
fa8d8eae9d
|
@ -337,6 +337,33 @@ static void getShort(int offset) {
|
||||||
scheduleMsg(&logger, "short @%d is %d", offset, value);
|
scheduleMsg(&logger, "short @%d is %d", offset, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void setBit(const char *offsetStr, const char *bitStr, const char *valueStr) {
|
||||||
|
int offset = atoi(offsetStr);
|
||||||
|
if (absI(offset) == absI(ERROR_CODE)) {
|
||||||
|
scheduleMsg(&logger, "invalid offset [%s]", offsetStr);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (isOutOfBounds(offset)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int bit = atoi(bitStr);
|
||||||
|
if (absI(bit) == absI(ERROR_CODE)) {
|
||||||
|
scheduleMsg(&logger, "invalid bit [%s]", bitStr);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int value = atoi(valueStr);
|
||||||
|
if (absI(value) == absI(ERROR_CODE)) {
|
||||||
|
scheduleMsg(&logger, "invalid value [%s]", valueStr);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int *ptr = (int *) (&((char *) engineConfiguration)[offset]);
|
||||||
|
*ptr ^= (-value ^ *ptr) & (1 << bit);
|
||||||
|
/**
|
||||||
|
* this response is part of dev console API
|
||||||
|
*/
|
||||||
|
scheduleMsg(&logger, "bit @%d/%d is %d", offset, bit, value);
|
||||||
|
}
|
||||||
|
|
||||||
static void setShort(const int offset, const int value) {
|
static void setShort(const int offset, const int value) {
|
||||||
if (isOutOfBounds(offset))
|
if (isOutOfBounds(offset))
|
||||||
return;
|
return;
|
||||||
|
@ -345,6 +372,17 @@ static void setShort(const int offset, const int value) {
|
||||||
getShort(offset);
|
getShort(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void getBit(int offset, int bit) {
|
||||||
|
if (isOutOfBounds(offset))
|
||||||
|
return;
|
||||||
|
int *ptr = (int *) (&((char *) engineConfiguration)[offset]);
|
||||||
|
int value = (*ptr >> bit) & 1;
|
||||||
|
/**
|
||||||
|
* this response is part of dev console API
|
||||||
|
*/
|
||||||
|
scheduleMsg(&logger, "bit @%d/%d is %d", offset, bit, value);
|
||||||
|
}
|
||||||
|
|
||||||
static void getInt(int offset) {
|
static void getInt(int offset) {
|
||||||
if (isOutOfBounds(offset))
|
if (isOutOfBounds(offset))
|
||||||
return;
|
return;
|
||||||
|
@ -404,9 +442,11 @@ void initConfigActions(void) {
|
||||||
addConsoleActionSS("set_float", (VoidCharPtrCharPtr) setFloat);
|
addConsoleActionSS("set_float", (VoidCharPtrCharPtr) setFloat);
|
||||||
addConsoleActionII("set_int", (VoidIntInt) setInt);
|
addConsoleActionII("set_int", (VoidIntInt) setInt);
|
||||||
addConsoleActionII("set_short", (VoidIntInt) setShort);
|
addConsoleActionII("set_short", (VoidIntInt) setShort);
|
||||||
|
addConsoleActionSSS("set_bit", setBit);
|
||||||
addConsoleActionI("get_float", getFloat);
|
addConsoleActionI("get_float", getFloat);
|
||||||
addConsoleActionI("get_int", getInt);
|
addConsoleActionI("get_int", getInt);
|
||||||
addConsoleActionI("get_short", getShort);
|
addConsoleActionI("get_short", getShort);
|
||||||
|
addConsoleActionII("get_bit", getBit);
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo: move this logic somewhere else?
|
// todo: move this logic somewhere else?
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
package com.rusefi.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* todo: make this file completely auto-generated
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class Fields {
|
||||||
|
public static final Field SENSOR_SNIFFER_FREQUENCY = new Field(@@analogChartFrequency@@, FieldType.INT);
|
||||||
|
public static final Field SENSOR_SNIFFER_MODE = new Field(@@analogChartMode@@, FieldType.ANALOG_CHART_E);
|
||||||
|
public static final Field GLOBAL_FUEL_CORRECTION = new Field(@@globalFuelCorrection@@, FieldType.FLOAT);
|
||||||
|
public static final Field ENGINE_SNIFFER_SIZE = new Field(@@digitalChartSize@@, FieldType.INT);
|
||||||
|
public static final Field isDigitalChartEnabled = new Field(@@isDigitalChartEnabled@@, FieldType.BIT, 5);
|
||||||
|
}
|
|
@ -290,5 +290,5 @@ int getRusEfiVersion(void) {
|
||||||
return 123; // this is here to make the compiler happy about the unused array
|
return 123; // this is here to make the compiler happy about the unused array
|
||||||
if (UNUSED_CCM_SIZE[0] * 0 != 0)
|
if (UNUSED_CCM_SIZE[0] * 0 != 0)
|
||||||
return 3211; // this is here to make the compiler happy about the unused array
|
return 3211; // this is here to make the compiler happy about the unused array
|
||||||
return 20150418;
|
return 20150421;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
package com.rusefi.config;
|
package com.rusefi.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* todo: make this file completely auto-generated
|
||||||
|
*/
|
||||||
|
|
||||||
public class Fields {
|
public class Fields {
|
||||||
public static final Field ANALOGCHARTFREQUENCY = new Field(768, FieldType.INT);
|
public static final Field SENSOR_SNIFFER_FREQUENCY = new Field(512, FieldType.INT);
|
||||||
public static final Field ANALOGCHARTMODE = new Field(1648, FieldType.ANALOG_CHART_E);
|
public static final Field SENSOR_SNIFFER_MODE = new Field(1400, FieldType.ANALOG_CHART_E);
|
||||||
public static final Field globalFuelCorrection = new Field(808, FieldType.FLOAT);
|
public static final Field GLOBAL_FUEL_CORRECTION = new Field(552, FieldType.FLOAT);
|
||||||
public static final Field digitalChartSize = new Field(4892, FieldType.INT);
|
public static final Field ENGINE_SNIFFER_SIZE = new Field(1504, FieldType.INT);
|
||||||
}
|
}
|
|
@ -106,10 +106,10 @@ public class AnalogChartPanel {
|
||||||
lowerPanel.setBorder(BorderFactory.createLineBorder(Color.white));
|
lowerPanel.setBorder(BorderFactory.createLineBorder(Color.white));
|
||||||
content.add(lowerPanel, BorderLayout.SOUTH);
|
content.add(lowerPanel, BorderLayout.SOUTH);
|
||||||
|
|
||||||
lowerPanel.add(new ConfigField(Fields.ANALOGCHARTMODE, "Sensor chart mode").getContent());
|
lowerPanel.add(new ConfigField(Fields.SENSOR_SNIFFER_MODE, "Sensor chart mode").getContent());
|
||||||
lowerPanel.add(new ConfigField(Fields.ANALOGCHARTFREQUENCY, "Every XXX engine cycles").getContent());
|
lowerPanel.add(new ConfigField(Fields.SENSOR_SNIFFER_FREQUENCY, "Every XXX engine cycles").getContent());
|
||||||
lowerPanel.add(new ConfigField(Fields.globalFuelCorrection, "Global Fuel Correction").getContent());
|
lowerPanel.add(new ConfigField(Fields.GLOBAL_FUEL_CORRECTION, "Global Fuel Correction").getContent());
|
||||||
lowerPanel.add(new ConfigField(Fields.digitalChartSize, "Engine Sniffer size").getContent());
|
lowerPanel.add(new ConfigField(Fields.ENGINE_SNIFFER_SIZE, "Engine Sniffer size").getContent());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void clear() {
|
private void clear() {
|
||||||
|
|
Loading…
Reference in New Issue