From 131c68227f91f4e246e18683cabe5a12976d97b2 Mon Sep 17 00:00:00 2001 From: Matthew Date: Wed, 20 Nov 2024 23:15:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B3=E8=81=94=E7=82=B9=E5=87=BB=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/native-lib.cpp | 15 +++++----- .../xinyingpower/testcomm/MainActivity.java | 30 +++++++++++++++---- app/src/main/res/layout/activity_main.xml | 18 +++++++++++ 3 files changed, 50 insertions(+), 13 deletions(-) diff --git a/app/src/main/cpp/native-lib.cpp b/app/src/main/cpp/native-lib.cpp index ed200d8..70755e9 100644 --- a/app/src/main/cpp/native-lib.cpp +++ b/app/src/main/cpp/native-lib.cpp @@ -623,13 +623,7 @@ int serial_port_comm() return 0; } #endif -extern "C" JNIEXPORT jstring JNICALL -Java_com_xinyingpower_testcomm_MainActivity_stringFromJNI( - JNIEnv* env, - jobject /* this */) { - std::string hello = "Hello from C++"; - return env->NewStringUTF(hello.c_str()); -} + extern "C" JNIEXPORT jstring JNICALL Java_com_xinyingpower_testcomm_MainActivity_testSpi( @@ -748,6 +742,13 @@ Java_com_xinyingpower_testcomm_MainActivity_testSpi( return env->NewStringUTF(result.c_str()); } +extern "C" JNIEXPORT void JNICALL +Java_com_xinyingpower_testcomm_MainActivity_setInt( + JNIEnv* env, + jobject /*this*/, jint cmd, jint val) { + setInt(cmd, val); +} + extern "C" JNIEXPORT void JNICALL Java_com_xinyingpower_testcomm_MainActivity_turnOn( JNIEnv* env, diff --git a/app/src/main/java/com/xinyingpower/testcomm/MainActivity.java b/app/src/main/java/com/xinyingpower/testcomm/MainActivity.java index a39cecd..04a09eb 100644 --- a/app/src/main/java/com/xinyingpower/testcomm/MainActivity.java +++ b/app/src/main/java/com/xinyingpower/testcomm/MainActivity.java @@ -5,6 +5,7 @@ import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.os.Handler; import android.view.View; +import android.widget.Button; import android.widget.TextView; import com.xinyingpower.testcomm.databinding.ActivityMainBinding; @@ -23,6 +24,12 @@ public class MainActivity extends AppCompatActivity { public void onClick(View view) { int viewId = view.getId(); switch (viewId) { + case R.id.turnOn12V: + turnOn12V(view); + break; + case R.id.turnOn485: + turnOn485(view); + break; case R.id.turnOn: turnOn(); break; @@ -106,25 +113,36 @@ public class MainActivity extends AppCompatActivity { } }); + int viewIds[] = {R.id.turnOn, R.id.turnOff, R.id.turnLeft, R.id.turnRight, R.id.turnUp, R.id.turnDown, + R.id.turnOn12V, R.id.turnOn485, R.id.turnOnWipers, R.id.turnOffWipers, R.id.turnOnLight, R.id.turnOffLight, + R.id.setSpeed, R.id.setPreset, R.id.gotoPreset}; + for (int viewId : viewIds) { + Button btn = (Button)findViewById(viewId); + btn.setOnClickListener(onButtonClicked); + } + Handler handler = new Handler(); Runnable runnable = new Runnable() { @Override public void run() { - binding.btnSpi.performClick(); + // binding.btnSpi.performClick(); } }; handler.postDelayed(runnable, 1000); } + private void turnOn12V(View view) { + setInt(133, 1); + } - /** - * A native method that is implemented by the 'testcomm' native library, - * which is packaged with this application. - */ - public native String stringFromJNI(); + private void turnOn485(View view) { + setInt(131, 1); + } public native String testSpi(int port); + public native void setInt(int cmd, int val); + public native void turnLeft(); public native void turnRight(); public native void turnUp(); diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index d87417f..694d8aa 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -26,6 +26,24 @@ +