Thanks for the help. I changed the last_declaration to the thread from the
top of the parent class and it is working good.
I used the Log.d and put it inside the catch beside the last_ = 0 . The log
is printing a cluster of 4 of the tag every second whether or not anything
is plugged in and the numbers continue to remain on the screen after
disconnect. I have attached my current code. Is there another place I need
to place the last_=0 ?
class PulseInputThread extends Thread {
private final PulseInput input_;
private final Timer timer_;
public float last_;
public PulseInputThread(PulseInput input,Timer timer) {
input_ = input;
timer_ = timer;
}
private synchronized void read() throws ConnectionLostException {
TimerTask task = new TimerTask() {public void run() {
interrupt();
}};
timer_.schedule(task, 1000);
try {
last_ = 1/input_.getDuration();
task.cancel();
} catch (InterruptedException e) {
last_ = 0;
Log.d("BACON", "BACON");
}
}
public void run() {
try {
while (true) {
read();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} catch (ConnectionLostException e) {
e.printStackTrace();
}
}
public synchronized float getLastReading() {
return last_;
}
}
class Looper extends BaseIOIOLooper {
PulseInputThread thread1_;
PulseInputThread thread2_;
PulseInputThread thread3_;
PulseInputThread thread4_;
PulseInputThread thread5_;
PulseInputThread thread6_;
PulseInputThread thread7_;
PulseInputThread thread8_;
@Override
protected void setup() throws ConnectionLostException {
PulseInput input1_ = ioio_.openPulseInput(new
DigitalInput.Spec(1,Mode.PULL_DOWN), ClockRate.RATE_62KHz, PulseMode.FREQ,
false);
PulseInput input2_ = ioio_.openPulseInput( new
DigitalInput.Spec(2,Mode.PULL_DOWN ), ClockRate.RATE_62KHz,
PulseMode.FREQ, false);
PulseInput input3_ = ioio_.openPulseInput(new
DigitalInput.Spec(3,Mode.PULL_DOWN), ClockRate.RATE_62KHz, PulseMode.FREQ,
false);
PulseInput input4_ = ioio_.openPulseInput( new
DigitalInput.Spec(4,Mode.PULL_DOWN ), ClockRate.RATE_62KHz,
PulseMode.FREQ, false);
PulseInput input5_ = ioio_.openPulseInput(new
DigitalInput.Spec(6,Mode.PULL_DOWN), ClockRate.RATE_62KHz, PulseMode.FREQ,
false);
PulseInput input6_ = ioio_.openPulseInput( new
DigitalInput.Spec(7,Mode.PULL_DOWN ), ClockRate.RATE_62KHz,
PulseMode.FREQ, false);
PulseInput input7_ = ioio_.openPulseInput(new
DigitalInput.Spec(10,Mode.PULL_DOWN), ClockRate.RATE_62KHz,
PulseMode.FREQ, false);
PulseInput input8_ = ioio_.openPulseInput( new
DigitalInput.Spec(12,Mode.PULL_DOWN ), ClockRate.RATE_62KHz,
PulseMode.FREQ, false);
Timer t = new Timer();
thread1_ = new PulseInputThread(input1_, t);
thread2_ = new PulseInputThread(input2_, t);
thread3_ = new PulseInputThread(input3_, t);
thread4_ = new PulseInputThread(input4_, t);
thread5_ = new PulseInputThread(input5_, t);
thread6_ = new PulseInputThread(input6_, t);
thread7_ = new PulseInputThread(input7_, t);
thread8_ = new PulseInputThread(input8_, t);
thread1_.start();
thread2_.start();
thread3_.start();
thread4_.start();
thread5_.start();
thread6_.start();
thread7_.start();
thread8_.start();
}
@Override
public void loop() throws ConnectionLostException {
setText1(thread1_.getLastReading());
setText2(thread2_.getLastReading());
setText3(thread3_.getLastReading());
setText4(thread4_.getLastReading());
setText5(thread5_.getLastReading());
setText6(thread6_.getLastReading());
setText7(thread7_.getLastReading());
setText8(thread8_.getLastReading());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
public void disconnected() {
try {
thread1_.join();
thread2_.join();
thread3_.join();
thread4_.join();
thread5_.join();
thread6_.join();
thread7_.join();
thread8_.join();
} catch (InterruptedException e) {
}
}
}
@Override
protected IOIOLooper createIOIOLooper() {
return new Looper();
}
>
--
You received this message because you are subscribed to the Google Groups
"ioio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/ioio-users.
For more options, visit https://groups.google.com/d/optout.