auto-sync
This commit is contained in:
parent
03f00a9fe6
commit
ed22f680cd
|
@ -19,6 +19,8 @@ EXTERN_ENGINE;
|
|||
void setBmwE34(DECLARE_ENGINE_PARAMETER_F) {
|
||||
board_configuration_s * boardConfiguration = &engineConfiguration->bc;
|
||||
|
||||
engineConfiguration->algorithm = LM_SPEED_DENSITY;
|
||||
|
||||
boardConfiguration->tunerStudioThreadPeriod = 50;
|
||||
engineConfiguration->rpmHardLimit = 6000;
|
||||
setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR);
|
||||
|
|
|
@ -53,6 +53,8 @@ void setMazda626EngineConfiguration(DECLARE_ENGINE_PARAMETER_F) {
|
|||
// todo: 8.2 or 10k?
|
||||
engineConfiguration->vbattDividerCoeff = ((float) (10 + 33)) / 10 * 2;
|
||||
|
||||
engineConfiguration->map.sensor.type = MT_SUBY_DENSO;
|
||||
|
||||
|
||||
// todo engineConfiguration->afr.hwChannel = EFI_ADC_3;
|
||||
initEgoSensor(&engineConfiguration->afr, ES_Innovate_MTX_L);
|
||||
|
|
|
@ -588,6 +588,8 @@ case MT_HONDA3BAR:
|
|||
return "MT_HONDA3BAR";
|
||||
case MT_MPX4250:
|
||||
return "MT_MPX4250";
|
||||
case MT_SUBY_DENSO:
|
||||
return "MT_SUBY_DENSO";
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -180,7 +180,7 @@ typedef enum {
|
|||
*/
|
||||
LM_MAP = 2,
|
||||
/**
|
||||
* Speed Density algorithm - Engile Load is a function of MAP and ... TODO
|
||||
* Speed Density algorithm - Engile Load is a function of MAP, VE and target AFR
|
||||
* http://articles.sae.org/8539/
|
||||
*/
|
||||
LM_SPEED_DENSITY = 3,
|
||||
|
@ -519,6 +519,7 @@ typedef enum {
|
|||
MT_MPX4250 = 2,
|
||||
MT_HONDA3BAR = 3,
|
||||
MT_DODGE_NEON_2003 = 4,
|
||||
MT_SUBY_DENSO = 5,
|
||||
|
||||
Force_4b_cranking_map_type = ENUM_32_BITS,
|
||||
} air_pressure_sensor_type_e;
|
||||
|
|
|
@ -29,6 +29,8 @@ static FastInterpolation denso183(0, -6.64, 5, 182.78);
|
|||
*/
|
||||
static FastInterpolation honda3bar(0.5, 91.422, 3.0, 0);
|
||||
|
||||
static FastInterpolation subyDenso(0, 0, 5, 200);
|
||||
|
||||
static FastInterpolation mpx4250(0, 8, 5, 260);
|
||||
|
||||
static FastInterpolation dodgeNeon2003(0.5, 0, 4.5, 100);
|
||||
|
@ -52,6 +54,8 @@ float decodePressure(float voltage, air_pressure_sensor_config_s * config) {
|
|||
return honda3bar.getValue(voltage);
|
||||
case MT_DODGE_NEON_2003:
|
||||
return dodgeNeon2003.getValue(voltage);
|
||||
case MT_SUBY_DENSO:
|
||||
return subyDenso.getValue(voltage);
|
||||
default:
|
||||
firmwareError("Unknown MAP type: %d", config->type);
|
||||
return NAN;
|
||||
|
|
|
@ -56,7 +56,7 @@ custom brain_input_pin_e 4 bits, U32, @OFFSET@, [0:6], "INVALID", "INVALID"
|
|||
custom brain_pin_e 4 bits, U32, @OFFSET@, [0:6], "GPIOA_0", "GPIOA_1", "GPIOA_2", "GPIOA_3", "GPIOA_4", "GPIOA_5", "GPIOA_6", "GPIOA_7", "GPIOA_8", "GPIOA_9", "GPIOA_10", "GPIOA_11", "GPIOA_12", "GPIOA_13", "GPIOA_14", "GPIOA_15", "GPIOB_0", "GPIOB_1", "GPIOB_2", "GPIOB_3", "GPIOB_4", "GPIOB_5", "GPIOB_6", "GPIOB_7", "GPIOB_8", "GPIOB_9", "GPIOB_10", "GPIOB_11", "GPIOB_12", "GPIOB_13", "GPIOB_14", "GPIOB_15", "GPIOC_0", "GPIOC_1", "GPIOC_2", "GPIOC_3", "GPIOC_4", "GPIOC_5", "GPIOC_6", "GPIOC_7", "GPIOC_8", "GPIOC_9", "GPIOC_10", "GPIOC_11", "GPIOC_12", "GPIOC_13", "GPIOC_14", "GPIOC_15", "GPIOD_0", "GPIOD_1", "GPIOD_2", "GPIOD_3", "GPIOD_4", "GPIOD_5", "GPIOD_6", "GPIOD_7", "GPIOD_8", "GPIOD_9", "GPIOD_10", "GPIOD_11", "GPIOD_12", "GPIOD_13", "GPIOD_14", "GPIOD_15", "GPIOE_0", "GPIOE_1", "GPIOE_2", "GPIOE_3", "GPIOE_4", "GPIOE_5", "GPIOE_6", "GPIOE_7", "GPIOE_8", "GPIOE_9", "GPIOE_10", "GPIOE_11", "GPIOE_12", "GPIOE_13", "GPIOE_14", "GPIOE_15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
|
||||
custom pin_output_mode_e 4 bits, U32, @OFFSET@, [0:1], "default", "default inverted", "open", "open inverted"
|
||||
|
||||
custom air_pressure_sensor_type_e 4 bits, U32, @OFFSET@, [0:1] "Custom", "DENSO183", "MPX4250", "INVALID"
|
||||
custom air_pressure_sensor_type_e 4 bits, U32, @OFFSET@, [0:2] "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "INVALID", "INVALID"
|
||||
custom adc_channel_e 4 bits, U32, @OFFSET@, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5"
|
||||
|
||||
struct air_pressure_sensor_config_s
|
||||
|
|
|
@ -163,7 +163,13 @@ public class IoUtil {
|
|||
|
||||
static void realHardwareConnect(String port) {
|
||||
LinkManager.start(port);
|
||||
LinkManager.open();
|
||||
LinkManager.open(new LinkManager.LinkStateListener() {
|
||||
@Override
|
||||
public void onConnectionFailed() {
|
||||
System.out.println("CONNECTION FAILED, did you specify the right port name?");
|
||||
System.exit(-1);
|
||||
}
|
||||
});
|
||||
LinkManager.engineState.registerStringValueAction(EngineState.RUS_EFI_VERSION_TAG, (EngineState.ValueCallback<String>) EngineState.ValueCallback.VOID);
|
||||
LinkManager.engineState.registerStringValueAction(EngineState.OUTPIN_TAG, (EngineState.ValueCallback<String>) EngineState.ValueCallback.VOID);
|
||||
LinkManager.engineState.registerStringValueAction(AverageAnglesUtil.KEY, (EngineState.ValueCallback<String>) EngineState.ValueCallback.VOID);
|
||||
|
|
|
@ -5,7 +5,7 @@ package com.rusefi.io;
|
|||
* 3/3/14
|
||||
*/
|
||||
public interface LinkConnector {
|
||||
void connect();
|
||||
void connect(LinkManager.LinkStateListener listener);
|
||||
|
||||
void send(String command) throws InterruptedException;
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ public class LinkManager {
|
|||
public static final String LOG_VIEWER = "log viewer";
|
||||
private static final LinkConnector VOID = new LinkConnector() {
|
||||
@Override
|
||||
public void connect() {
|
||||
public void connect(LinkStateListener listener) {
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -80,10 +80,14 @@ public class LinkManager {
|
|||
/**
|
||||
* todo: should this be merged into {@link #start(String)} ?
|
||||
*/
|
||||
public static void open() {
|
||||
public static void open(LinkStateListener listener) {
|
||||
if (connector == null)
|
||||
throw new NullPointerException("connector");
|
||||
connector.connect();
|
||||
connector.connect(listener);
|
||||
}
|
||||
|
||||
public static void open() {
|
||||
open(LinkStateListener.VOID);
|
||||
}
|
||||
|
||||
public static void send(String command) throws InterruptedException {
|
||||
|
@ -103,4 +107,14 @@ public class LinkManager {
|
|||
public static boolean hasError() {
|
||||
return connector.hasError();
|
||||
}
|
||||
|
||||
public static interface LinkStateListener {
|
||||
public static final LinkStateListener VOID = new LinkStateListener() {
|
||||
@Override
|
||||
public void onConnectionFailed() {
|
||||
}
|
||||
};
|
||||
|
||||
void onConnectionFailed();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.rusefi.io.serial;
|
|||
import com.rusefi.FileLog;
|
||||
import com.rusefi.core.EngineState;
|
||||
import com.rusefi.io.DataListener;
|
||||
import com.rusefi.io.LinkManager;
|
||||
import jssc.SerialPort;
|
||||
import jssc.SerialPortException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
@ -31,11 +32,14 @@ public class PortHolder {
|
|||
@Nullable
|
||||
private SerialPort serialPort;
|
||||
|
||||
void openPort(String port, DataListener dataListener) {
|
||||
listener.onPortHolderMessage(SerialManager.class, "Opening port: " + port);
|
||||
boolean openPort(String port, DataListener dataListener, LinkManager.LinkStateListener listener) {
|
||||
this.listener.onPortHolderMessage(SerialManager.class, "Opening port: " + port);
|
||||
if (port == null)
|
||||
return;
|
||||
open(port, dataListener);
|
||||
return false;
|
||||
boolean result = open(port, dataListener);
|
||||
if (!result)
|
||||
listener.onConnectionFailed();
|
||||
return result;
|
||||
}
|
||||
|
||||
public boolean open(String port, DataListener listener) {
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.rusefi.io.serial;
|
|||
|
||||
import com.rusefi.FileLog;
|
||||
import com.rusefi.io.LinkConnector;
|
||||
import com.rusefi.io.LinkManager;
|
||||
|
||||
/**
|
||||
* @author Andrey Belomutskiy
|
||||
|
@ -13,9 +14,9 @@ public class SerialConnector implements LinkConnector {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void connect() {
|
||||
public void connect(LinkManager.LinkStateListener listener) {
|
||||
FileLog.MAIN.logLine("SerialConnector: connecting");
|
||||
SerialManager.scheduleOpening();
|
||||
SerialManager.scheduleOpening(listener);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -14,20 +14,22 @@ class SerialManager {
|
|||
|
||||
private static boolean closed;
|
||||
|
||||
static DataListener listener = new DataListener() {
|
||||
static DataListener dataListener = new DataListener() {
|
||||
public void onStringArrived(String string) {
|
||||
// jTextAreaIn.append(string);
|
||||
LinkManager.engineState.processNewData(string);
|
||||
}
|
||||
};
|
||||
private static LinkManager.LinkStateListener listener;
|
||||
|
||||
public static void scheduleOpening() {
|
||||
public static void scheduleOpening(LinkManager.LinkStateListener listener) {
|
||||
SerialManager.listener = listener;
|
||||
FileLog.rlog("scheduleOpening");
|
||||
LinkManager.IO_EXECUTOR.execute(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
FileLog.rlog("scheduleOpening>openPort");
|
||||
PortHolder.getInstance().openPort(port, listener);
|
||||
PortHolder.getInstance().openPort(port, SerialManager.dataListener, SerialManager.listener);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -40,7 +42,7 @@ class SerialManager {
|
|||
if (closed)
|
||||
return;
|
||||
PortHolder.getInstance().close();
|
||||
PortHolder.getInstance().openPort(port, listener);
|
||||
boolean result = PortHolder.getInstance().openPort(port, dataListener, SerialManager.listener);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -60,9 +60,10 @@ public class TcpConnector implements LinkConnector {
|
|||
|
||||
/**
|
||||
* this implementation is blocking
|
||||
* @param listener
|
||||
*/
|
||||
@Override
|
||||
public void connect() {
|
||||
public void connect(LinkManager.LinkStateListener listener) {
|
||||
FileLog.rlog("Connecting to " + port);
|
||||
BufferedInputStream stream;
|
||||
try {
|
||||
|
|
Loading…
Reference in New Issue