You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

167 lines
5.0 KiB
Java

package com.xinyingpower.testcomm;
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;
public class MainActivity extends AppCompatActivity {
// Used to load the 'testcomm' library on application startup.
static {
System.loadLibrary("testcomm");
}
private ActivityMainBinding binding;
View.OnClickListener onButtonClicked = new View.OnClickListener() {
@Override
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;
case R.id.turnOff:
turnOff();
break;
case R.id.turnLeft:
turnLeft();
break;
case R.id.turnRight:
turnRight();
break;
case R.id.turnUp:
turnUp();
break;
case R.id.turnDown:
turnDown();
break;
case R.id.zoomIn:
zoomIn();
break;
case R.id.zoomOut:
zoomOut();
break;
case R.id.turnOnWipers:
turnOnWipers();
break;
case R.id.turnOffWipers:
turnOffWipers();
break;
case R.id.turnOnLight:
turnOnLight();
break;
case R.id.turnOffLight:
turnOffLight();
break;
case R.id.setSpeed:
{
int speed = 0;
try {
speed = Integer.parseInt(binding.speed.getText().toString());
} catch (Exception ex) {
}
setSpeed(speed);
}
break;
case R.id.setPreset:
case R.id.gotoPreset:
{
int preset = 0xFF;
try {
preset = Integer.parseInt(binding.preset.getText().toString());
} catch (Exception ex) {
}
if (viewId == R.id.setPreset) {
setPreset(preset);
} else {
gotoPreset(preset);
}
}
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
binding.btnSpi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String s = binding.edtPort.getText().toString();
// Integer integer = Integer.valueOf(s);
String str = testSpi(0);
}
});
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, R.id.zoomIn, R.id.zoomOut};
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();
}
};
handler.postDelayed(runnable, 1000);
}
private void turnOn12V(View view) {
setInt(133, 1);
}
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();
public native void turnDown();
public native void turnOn();
public native void turnOff();
public native void zoomIn(); // 拉近
public native void zoomOut(); //
public native void setSpeed(int speed);
public native void setPreset(int preset);
public native void gotoPreset(int preset);
public native void turnOnWipers();
public native void turnOffWipers();
public native void turnOffLight();
public native void turnOnLight();
}