diff --git a/java_console/io/src/main/java/com/rusefi/native_/EngineLogic.java b/java_console/io/src/main/java/com/rusefi/native_/EngineLogic.java index c959816370..26eb23f979 100644 --- a/java_console/io/src/main/java/com/rusefi/native_/EngineLogic.java +++ b/java_console/io/src/main/java/com/rusefi/native_/EngineLogic.java @@ -19,5 +19,7 @@ public class EngineLogic { public native void invokePeriodicCallback(); + public native void invokeEtbCycle(); + public native byte[] getOutputs(); } diff --git a/java_console/io/src/test/java/com/rusefi/native_/JniUnitTest.java b/java_console/io/src/test/java/com/rusefi/native_/JniUnitTest.java index 35c662702b..fb853ea061 100644 --- a/java_console/io/src/test/java/com/rusefi/native_/JniUnitTest.java +++ b/java_console/io/src/test/java/com/rusefi/native_/JniUnitTest.java @@ -46,6 +46,13 @@ public class JniUnitTest { assertEquals(2.45, getField(engineLogic, Fields.GEARRATIO1)); } + @Test + public void testEtbStuff() { + JniSandbox.loadLibrary(); + + EngineLogic engineLogic = new EngineLogic(); + } + private double getField(EngineLogic engineLogic, Field field) { byte[] configuration = engineLogic.getConfiguration(); assertNotNull("configuration", configuration); diff --git a/unit_tests/native/com_rusefi_native__EngineLogic.h b/unit_tests/native/com_rusefi_native__EngineLogic.h index 321f9399ce..3d5a327193 100644 --- a/unit_tests/native/com_rusefi_native__EngineLogic.h +++ b/unit_tests/native/com_rusefi_native__EngineLogic.h @@ -55,6 +55,14 @@ JNIEXPORT void JNICALL Java_com_rusefi_native_1_EngineLogic_setEngineType JNIEXPORT void JNICALL Java_com_rusefi_native_1_EngineLogic_invokePeriodicCallback (JNIEnv *, jobject); +/* + * Class: com_rusefi_native__EngineLogic + * Method: invokeEtbCycle + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_com_rusefi_native_1_EngineLogic_invokeEtbCycle + (JNIEnv *, jobject); + /* * Class: com_rusefi_native__EngineLogic * Method: getOutputs diff --git a/unit_tests/native/native_impl.cpp b/unit_tests/native/native_impl.cpp index bde0343958..d5af9dce07 100644 --- a/unit_tests/native/native_impl.cpp +++ b/unit_tests/native/native_impl.cpp @@ -75,6 +75,18 @@ JNIEXPORT void JNICALL Java_com_rusefi_native_1_EngineLogic_invokePeriodicCallba eth->engine.periodicFastCallback(); } +JNIEXPORT void JNICALL Java_com_rusefi_native_1_EngineLogic_invokeEtbCycle + (JNIEnv *, jobject) { + EngineTestHelper* eth = getEth(); + Engine *engine = ð->engine; + + for (int i = 0; i < ETB_COUNT; i++) { + if (auto etb = engine->etbControllers[i]) { + etb->update(); + } + } +} + JNIEXPORT jbyteArray JNICALL Java_com_rusefi_native_1_EngineLogic_getOutputs(JNIEnv * env, jobject instance) { jbyteArray retVal = env->NewByteArray(TS_TOTAL_OUTPUT_SIZE); jbyte *buf = env->GetByteArrayElements(retVal, NULL);