For sake of debugging of this particular issue, would you please remove 7
out of the 8 channels and report the behavior?
On Mar 4, 2015 7:55 PM, "Paul Johnson" <[email protected]> wrote:
> 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.
>
--
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.