
import ioio.lib.api.PwmOutput;
import ioio.lib.api.DigitalOutput;
import ioio.lib.api.DigitalOutput.Spec.Mode;
import ioio.lib.api.exception.ConnectionLostException;
import ioio.lib.util.android.IOIOActivity;
import ioio.lib.util.AbstractIOIOActivity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.ToggleButton;
public class IOIORBG extends AbstractIOIOActivity {
private ToggleButton OnOff_1, OnOff_2, read, relax, party, normal;
private SeekBar seeking11, seeking22;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
seeking11 = (SeekBar) findViewById(R.id.seekBar11);
seeking11.setMax(100);
seeking22 = (SeekBar) findViewById(R.id.seekBar22);
seeking22.setMax(100);
OnOff_1 = (ToggleButton) findViewById(R.id.toggleButton1);
OnOff_2 = (ToggleButton) findViewById(R.id.toggleButton2);
read = (ToggleButton) findViewById(R.id.toggleButton3);
relax = (ToggleButton) findViewById(R.id.toggleButton4);
party = (ToggleButton) findViewById(R.id.toggleButton5);
normal = (ToggleButton) findViewById(R.id.toggleButton6);
enableUi(false);
}
class IOIOThread extends AbstractIOIOActivity.IOIOThread {
private PwmOutput pwmOutput1_;
private PwmOutput pwmOutput2_;
public void setup() throws ConnectionLostException {
try {
pwmOutput1_ = ioio_.openPwmOutput(new DigitalOutput.Spec(11,Mode.OPEN_DRAIN), 1000);
pwmOutput2_ = ioio_.openPwmOutput(new DigitalOutput.Spec(12,Mode.OPEN_DRAIN), 1000);
enableUi(true);
} catch (ConnectionLostException e) {
enableUi(false);
throw e;
}
}
public void loop() throws ConnectionLostException {
try {
while(true){
if (OnOff_1.isChecked()) {
pwmOutput1_.setDutyCycle(seeking11.getProgress() /100.0f);
} else {
pwmOutput1_.setDutyCycle(0);
}
if (OnOff_2.isChecked()) {
pwmOutput2_.setDutyCycle(seeking22.getProgress() /100.0f);
} else {
pwmOutput2_.setDutyCycle(0);
}
if (read.isChecked()) {
pwmOutput1_.setDutyCycle(0.8f);
pwmOutput2_.setDutyCycle(0.8f);
} else {
pwmOutput1_.setDutyCycle(0);
pwmOutput2_.setDutyCycle(0);
}
if (relax.isChecked()) {
pwmOutput1_.setDutyCycle(0.6f);
pwmOutput2_.setDutyCycle(0.6f);
} else {
pwmOutput1_.setDutyCycle(0);
pwmOutput2_.setDutyCycle(0);
}
if (party.isChecked()) {
pwmOutput1_.setDutyCycle(1);
pwmOutput2_.setDutyCycle(1);
} else {
pwmOutput1_.setDutyCycle(0);
pwmOutput2_.setDutyCycle(0);
}
if (normal.isChecked()) {
pwmOutput1_.setDutyCycle(0.5f);
pwmOutput2_.setDutyCycle(0.5f);
} else {
pwmOutput1_.setDutyCycle(0);
pwmOutput2_.setDutyCycle(0);
}
IOIOThread.sleep(10);}
} catch (InterruptedException e) {
ioio_.disconnect();
} catch (ConnectionLostException e) {
enableUi(false);
throw e;
}
}
}
@Override
protected AbstractIOIOActivity.IOIOThread createIOIOThread() {
return new IOIOThread();
}
private void enableUi(final boolean enable) {
runOnUiThread(new Runnable() {
//@Override
public void run() {
seeking11.setEnabled(enable);
seeking22.setEnabled(enable);
OnOff_1.setEnabled(enable);
OnOff_2.setEnabled(enable);
read.setEnabled(enable);
relax.setEnabled(enable);
party.setEnabled(enable);
normal.setEnabled(enable);
}
});
}
}