package com.yw.sdkdemo.gpio;
|
|
import android.os.Bundle;
|
import android.os.RemoteException;
|
import android.util.Log;
|
import android.view.View;
|
import android.widget.Button;
|
import android.widget.TextView;
|
import android.widget.Toast;
|
|
import androidx.annotation.Nullable;
|
import androidx.appcompat.app.AppCompatActivity;
|
|
import com.yw.gpio.Gpio;
|
import com.yw.gpio.GpioManager;
|
import com.yw.pulse.PulseManager;
|
import com.yw.sdkdemo.R;
|
|
/**
|
* Created by xushuang on 2024/5/9
|
* E-mail: mitgic92@gmail.com
|
* Description:
|
*/
|
public class GpioActivity extends AppCompatActivity implements View.OnClickListener {
|
|
private Button bt_register_acc;
|
private Button bt_get_acc;
|
private Button bt_register_power_down;
|
private Button bt_get_power_down;
|
private Button bt_get_pulse;
|
private TextView tv_pilse_count;
|
|
|
@Override
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.activity_gpio);
|
|
initView();
|
initListener();
|
}
|
|
GpioManager.GpioListener gpioListener = GpioManager.GpioListener.create(Gpio.TIo_IN_ACCON, new GpioManager.Listener() {
|
@Override
|
public void onGpio(Gpio gpio, int value) {
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
if (value == 1) {
|
Toast.makeText(GpioActivity.this, "ACC on", Toast.LENGTH_SHORT).show();
|
} else if (value == 0) {
|
Toast.makeText(GpioActivity.this, "ACC off", Toast.LENGTH_SHORT).show();
|
}
|
}
|
});
|
|
}
|
});
|
|
GpioManager.GpioListener powerDownListener = GpioManager.GpioListener.create(Gpio.TIo_IN_MAINPOW_DET,true, new GpioManager.Listener() {
|
@Override
|
public void onGpio(Gpio gpio, int value) {
|
Log.d("GpioActivity", "main power:" + value);
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
// Toast.makeText(GpioActivity.this, "主掉电:" + value, Toast.LENGTH_SHORT).show();
|
}
|
});
|
|
}
|
});
|
|
PulseManager.IListener pulseListener = new PulseManager.IListener() {
|
@Override
|
public void onPulse(long l, long l1) {
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
tv_pilse_count.setText(String.format("脉冲总数: %d", l));
|
}
|
});
|
}
|
};
|
|
|
private void initView() {
|
bt_register_acc = (Button) findViewById(R.id.bt_register_acc);
|
bt_get_acc = (Button) findViewById(R.id.bt_get_acc);
|
bt_register_power_down = (Button) findViewById(R.id.bt_register_power_down);
|
bt_get_power_down = (Button) findViewById(R.id.bt_get_power_down);
|
bt_get_pulse = (Button) findViewById(R.id.bt_get_pulse);
|
tv_pilse_count = (TextView) findViewById(R.id.tv_pilse_count);
|
|
}
|
|
String selectedGpioName;
|
|
private void initListener() {
|
bt_register_acc.setOnClickListener(this);
|
bt_get_acc.setOnClickListener(this);
|
bt_register_power_down.setOnClickListener(this);
|
bt_get_power_down.setOnClickListener(this);
|
bt_get_pulse.setOnClickListener(this);
|
|
|
}
|
|
@Override
|
public void onClick(View v) {
|
switch (v.getId()) {
|
case R.id.bt_get_acc:
|
int result = GpioManager.getInstance().getGpioValue(Gpio.TIo_IN_ACCON);
|
Toast.makeText(GpioActivity.this, " value :" + result, Toast.LENGTH_SHORT).show();
|
break;
|
case R.id.bt_register_acc:
|
GpioManager.getInstance().register(gpioListener);
|
break;
|
case R.id.bt_register_power_down:
|
GpioManager.getInstance().register(powerDownListener);
|
break;
|
case R.id.bt_get_power_down:
|
int ret = GpioManager.getInstance().getGpioValue(Gpio.TIo_IN_MAINPOW_DET);
|
Toast.makeText(GpioActivity.this, "主掉电 value :" + ret, Toast.LENGTH_SHORT).show();
|
break;
|
case R.id.bt_get_pulse:
|
PulseManager.getInstance().register(pulseListener);
|
break;
|
|
|
}
|
}
|
|
|
@Override
|
protected void onDestroy() {
|
super.onDestroy();
|
GpioManager.getInstance().unRegister(gpioListener);
|
PulseManager.getInstance().unregister(pulseListener);
|
}
|
}
|