Pages: [1]   Go Down
Author Topic: Help with change over time using millis();  (Read 1086 times)
0 Members and 1 Guest are viewing this topic.
Philadelphia, PA
Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey Everyone.

I'm pretty new to arduino, so go easy if this is a totally silly question, but I'm under the gun and totally stumped on this so I was hoping someone could shed some light on the subject/impart me with their knowledge.

Here is what I am trying to do in a nut shell:

I'm using  an adafruit wave shield to play audio.

FSR senses input and plays the first wav file in an array filled with wav files.

If the pressure on this FSR is within a certain threshold for a certain amount of time play the next file in the array. And Continue like this unless the FSR's reading goes above the threshold. In which case, play the first wav. file of a different sound array.

Here is the code, oh and ps- excuse the silly names. The FSR is going to be placed in the seat of chair! smiley

#include <AF_Wave.h>
#include <avr/pgmspace.h>
#include "util.h"
#include "wave.h"

int buttSensor= 0;  // Reading from digital pin 6  PIR sensor!

int armSensor= 1;

int sleepButton= 16;

int buttonState= 0;

long buttStamp;

long awayStamp;

long interval = 30000;


char* buttSensorArray[] = {
  "COMECL~1.WAV", "PLEASE~1.WAV", "WHATLONG.WAV"};  //If this has zero reading after its been sat on then awayState will begin

char* armSensorArray[] = {
  "BACKUP.WAV", "PLEASE~2.WAV", "MOVEBACK.WAV"};

char* sleepButtonArray[] = {
  "WHATWANT.WAV", "YOUWOKE.WAV", "DEE.WAV"};

char* awayArray[] = {
  "WHATWANT.WAV", "YOUWOKE.WAV", "DEE.WAV"};


AF_Wave card;
File f;
Wavefile wave;

int co = 0;

void setup() {


  Serial.begin(9600);
  pinMode(buttSensor, INPUT);

  // set up waveshield pins
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);

  pinMode(sleepButton, INPUT);

  // open memory card...........This part is necessary to set up and
  //read SDcard!
  if (!card.init_card()) {
    return;
  }
  if (!card.open_partition()) {
    return;
  }
  if (!card.open_filesys()) {
    return;
  }
  if (!card.open_rootdir()) {
    return;
  }


}

void loop(){

  unsigned long currentMillis = millis();

  int buttReading = analogRead(buttSensor);      //read my butt
  Serial.print("buttreading is= ");
  Serial.println(buttReading);
  Serial.print("MIIIIIIILLLLLLLLLLIIIIIIIIIIIIIISSSSSSSSSSSSSSSSSSSSSSSHO! = ");
  Serial.println(currentMillis);

  if(buttReading < 20){
    buttStamp = currentMillis;
    delay(1000);
    if(co > 2){
      co=0;
    }
    playcomplete(buttSensorArray[co]);
    co+=1;
    if(currentMillis - buttStamp > interval){
      playcomplete(buttSensorArray[co]);
      co+=1;
    }
    else if(buttReading > 1000){
      awayStamp = currentMillis;
      delay(1000);
      if(co > 2){
        co=0;
      }
      playcomplete(awayArray[co]);
      co+=1;
      if(currentMillis - awayStamp > interval){
        playcomplete(awayArray[co]);
        co+=1;
      }
    }
  }
}


void playcomplete(char *name){

  playfile(name);
  while (wave.isplaying);
  card.close_file(f);
}

void playfile(char *name) {
  // stop any file already playing
  if (wave.isplaying) {
    wave.stop();
    card.close_file(f);
  }

  f = card.open_file(name);
  if (f && wave.create(f)) {
    wave.play();
  }
}


« Last Edit: December 11, 2010, 09:12:16 pm by brigidrose » Logged

Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 176
Posts: 12286
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
totally stumped on this
On what?
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16540
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
totally stumped on this

Quote
On what?

Maybe stumped is the name of one of the songs?

Lefty
Logged

Seattle, WA USA
Offline Offline
Brattain Member
*****
Karma: 551
Posts: 46215
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
if(buttReading < 20){
   buttStamp = currentMillis;
   delay(1000);
This is good. Use millis() and time stamps, to avoid the need for delay(), but call delay anyway.

Code:
if(buttReading < 20){
   [glow]buttStamp = currentMillis;[/glow]
   delay(1000);
   if(co > 2){
     co=0;
   }
   playcomplete(buttSensorArray[co]);
   co+=1;
   if([glow]currentMillis - buttStamp > interval[/glow]){
Now, how can currentMills - buttStamp ever be greater than 0, let alone 30000?
Logged

Philadelphia, PA
Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sorry for forgetting to say what I actually needed help on AND for making such a silly error. I was definitely in one of those "I have been coding for hours and my eyes are glazing over" kind of states.

So I got rid of the error that was pointed out and I tweaked a few other things, but my code is still not doing what I want it to.

Again, here is what I want it to do:


FSR senses input and plays the first wav file in an array filled with wav files.

If the pressure on this FSR is within a certain threshold for a certain amount of time play the next file in the array. And Continue like this unless the FSR's reading goes above the threshold. In which case, play the first wav. file of a different sound array.


And for the first time, here is what it is doing:

With this updated code, it is just looping through the first array I have set up (buttSensorArray) constantly and without paying attention to the timer I tried to create. Also, no matter what the FSR is reading, it never goes into the else statement where I call awayArray.

Here is the code:

#include <AF_Wave.h>
#include <avr/pgmspace.h>
#include "util.h"
#include "wave.h"

int buttSensor= 0;  // Reading from digital pin 6  PIR sensor!

int armSensor= 1;

int sleepButton= 16;

int buttonState= 0;

long buttStamp = 0;

long awayStamp;

long interval = 30000;


char* buttSensorArray[] = {
  "COMECL~1.WAV", "PLEASE~1.WAV", "WHATLONG.WAV"};  //If this has zero reading after its been sat on then awayState will begin

char* armSensorArray[] = {
  "BACKUP.WAV", "PLEASE~2.WAV", "MOVEBACK.WAV"};

char* sleepButtonArray[] = {
  "WHATWANT.WAV", "YOUWOKE.WAV", "DEE.WAV"};

char* awayArray[] = {
  "WHATWANT.WAV", "YOUWOKE.WAV", "DEE.WAV"};


AF_Wave card;
File f;
Wavefile wave;

int co = 0;
int buttReading;
void setup() {


  Serial.begin(9600);
  pinMode(buttSensor, INPUT);

  // set up waveshield pins
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);

  pinMode(sleepButton, INPUT);

  // open memory card...........This part is necessary to set up and
  //read SDcard!
  if (!card.init_card()) {
    return;
  }
  if (!card.open_partition()) {
    return;
  }
  if (!card.open_filesys()) {
    return;
  }
  if (!card.open_rootdir()) {
    return;
  }


}

void loop(){

   millis();

  buttReading = analogRead(buttSensor);      //read my butt
  Serial.print("buttreading is= ");
  Serial.println(buttReading);
  Serial.print("MIIIIIIILLLLLLLLLLIIIIIIIIIIIIIISSSSSSSSSSSSSSSSSSSSSSSHO! = ");
  Serial.println(millis());
 
    
  if(buttReading == 0){
    buttStamp = millis();
    delay(1000);
    if(co > 2){
      co=0;
    }
     playcomplete(buttSensorArray[co]);
     co+=1;
    if(millis() - buttStamp > interval){
      playcomplete(buttSensorArray[co]);
      co+=1;
    }
    else if(buttReading > 100){
      awayStamp = millis();
      delay(1000);
      if(co > 2){
        co=0;
      }
      playcomplete(awayArray[co]);
      co+=1;
      if(millis() - awayStamp > interval){
        playcomplete(awayArray[co]);
        co+=1;
      }
    }
  }
}


void playcomplete(char *name){

  playfile(name);
  while (wave.isplaying);
  card.close_file(f);
}

void playfile(char *name) {
  // stop any file already playing
  if (wave.isplaying) {
    wave.stop();
    card.close_file(f);
  }

  f = card.open_file(name);
  if (f && wave.create(f)) {
    wave.play();
  }
}

Thank you so much for your help!
Logged

Seattle, WA USA
Offline Offline
Brattain Member
*****
Karma: 551
Posts: 46215
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Please go back an modify your post. Select all of the code, and press the # button on the top row. That puts the code in the nice gray box, where it is easier to read.

Second, modify your code to put each { on a separate line. Line the matching } up, and indent everything in between by the same amount.

Third, add some comments that describe what each block is supposed to do.

I think you'll see right off, then, what the problem is. If not, here's a clue. What happens if buttReading is not 0?
Logged

Philadelphia, PA
Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So I have made some progress, thank you for your suggestions. I believe I am almost there, but I am still hung up on getting the program to do something after a certain amount of time.

I believe my problem probably lies within one of my do while's but I'm not sure.

Any feedback would be greatly appreciated. Thanks
Code:
#include <AF_Wave.h>
#include <avr/pgmspace.h>
#include "util.h"
#include "wave.h"

int seatSensor= 0;  //analog pin 0 FSR in seat

int armSensor= 1;       //FSR on arm of chair - analog pin 1

int sleepButton= 16;    //red button on other arm of chair.  Analog pin 2 set to digital so its 16

int buttonState= 0;    // button state starts at 0 or off

long seatStamp = 0;     //time stamp for seat FSR

long awayStamp;        //time stamp for noting how long someone has been away from seat FSR

long interval = 30000;     //30 second counting interval to tell wav how long to wait before playing each new file

int offState;




char* seatSensorArray[] = {
  "COMECL~1.WAV", "PLEASE~1.WAV", "WHATLONG.WAV"};  //If this has a reading higher then 10 AFTER it has a reading of 0 (its been sat on) then awayState will begin

char* armSensorArray[] = {
  "BACKUP.WAV", "PLEASE~2.WAV", "MOVEBACK.WAV"};

char* sleepButtonArray[] = {
  "WHATWANT.WAV", "YOUWOKE.WAV", "DEE.WAV"};

char* awayArray[] = {
  "WHATWANT.WAV", "YOUWOKE.WAV", "DEE.WAV"};


AF_Wave card;
File f;
Wavefile wave;

int co = 0;        //counter used to increment through sound arrays
int seatReading;    //reads the input of seat FSR
void setup() {


  Serial.begin(9600);
  pinMode(seatSensor, INPUT);    //sets seat FSR to input

  // set up waveshield pins
  pinMode(2, OUTPUT);    //need to be programed
  pinMode(3, OUTPUT);    //this way
  pinMode(4, OUTPUT);    //for the wave sheild to
  pinMode(5, OUTPUT);    //do it's thing (all have soldered in wires - cant be changed)

  pinMode(sleepButton, INPUT);      //set pin 16 to input

  // open memory card...........This part is necessary to set up and
  //read SDcard!
  if (!card.init_card()) {
    return;
  }
  if (!card.open_partition()) {
    return;
  }
  if (!card.open_filesys()) {
    return;
  }
  if (!card.open_rootdir()) {
    return;
  }


}

void loop(){



  seatReading = analogRead(seatSensor);      //read seat FSR as an analog input and put its value in the butReading variable
  Serial.print("seatreading is= ");
  Serial.println(seatReading);
  Serial.print("MIIIIIIILLLLLLLLLLIIIIIIIIIIIIIISSSSSSSSSSSSSSSSSSSSSSSHO! = ");
  Serial.println(millis());



  do{
    fsrChecker();            //continually check seat reading and do nothing else until the seat reading returns a number lower than 10
  }
  while(seatReading > 10);

  if(seatReading <= 10){          //if seat FSR is less than or equal to 10
    seatStamp = millis();        //seat time stamp is equal to the current time of millis
    delay(1000);
    if(co > 2){                  //if array increment counter is greater than 2 - (size of array)
      co=0;                      //then reset the array incrementer to 0
    }
    playcomplete(seatSensorArray[co]);      //play the 0 slot wav file in the buttSensor Array until it is complete - nothing can interupt this audio track
    co+=1;                                  //increment the array counter up only 1

      do{
      millisCounter1();            //keep track of time
      fsrChecker();                //keep track of FSR reading

    }
    while(seatReading<=100);       //do both those things while the seat reading is less than or equal to 100
  }
  if(seatReading > 100){           //if seat reading is greater than 100
    awayStamp = millis();          // take away time stamp
    delay(1000);
    if(co > 2){
      co=0;
    }
    playcomplete(awayArray[co]);      //play first slot of away array
    co+=1;

    do{
      millisCounter2();              //do keep track of time and check seat sensor
      fsrChecker();
    }
    while(seatReading > 10);          //while the seat reading is greater then 10
  }

}

void playcomplete(char *name){

  playfile(name);
  while (wave.isplaying);
  card.close_file(f);
}

void playfile(char *name) {
  // stop any file already playing
  if (wave.isplaying) {
    wave.stop();
    card.close_file(f);
  }

  f = card.open_file(name);
  if (f && wave.create(f)) {
    wave.play();
  }
}


//////////////////////////////////////////////////////////////////

void millisCounter1(){

  if(millis() - seatStamp > interval){      // if millis minus the reading taken when seat FSR first equaled zero is greater than a half a minute
    playcomplete(seatSensorArray[co]);      //play the 1 slot of the buttSensorArray
    co+=1;                                 //increment to the next slot of the buttSensorArray
  }
}

void fsrChecker(){
  seatReading = analogRead(seatSensor);      //read seat FSR as an analog input and put its value in the butReading variable
  Serial.print("seatreading is= ");
  Serial.println(seatReading);

  if(seatReading >= 100){                  //if seat reading is greater than or equal to 100
    awayStamp = millis();                  //record away time
    Serial.print("MIIIIIIILLLLLLLLLLIIIIIIIIIIIIIISSSSSSSSSSSSSSSSSSSSSSSHO! = ");
    Serial.println(millis());
    playcomplete(awayArray[co]);            //play first file of awayArray
    co+=1;
  }
}

void millisCounter2(){

  if(millis() - awayStamp > interval){            //if the current time minus the time since the person has been out of seat is greater than 30000
    playcomplete(awayArray[co]);                  //play the next file in the away array
    co+=1;
  }
}


Logged

Seattle, WA USA
Offline Offline
Brattain Member
*****
Karma: 551
Posts: 46215
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Do some research on the difference between while() { }; and do {} while();.

The do/while statement executes the body of the loop BEFORE checking the condition.

The while statement executes the body of the loop AFTER checking the condition.

Which do you want to be doing?

// This block of comments describes what you want to do
// It explains why you think the code will produce the right results
doSomethingDumb(); // "Call the doSomethingDumb function" is a useless comment

We can see WHAT the code is doing. We can not see WHY that code should be called at all.

Get rid of the useless comments. Add some useful comments.

If the code then does not do what the comments say you want it to, we can explain why the comments are wrong, or why the code does not do what the comments say should be done.
Logged

Philadelphia, PA
Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thank you for the pointers. Based on my previous research I had already decided that the do while loop was probably the appropriate one for my code, but I could be wrong.  Hopefully with my updated comments you might be able tell me if my choice to use the do while was wrong.

Also, I know that excessive use of  print statements and delays is not optimal but I have been using them for debugging purposes. Currently, all parts of my code are being activated, just not at the right times. I am having a hard time discerning why the code is jumping to (seemingly) random spots.

If there are any more comments in my code that aren't helpful in my quest for advice, if you could please point out specific ones that don't make sense it would be greatly appreciated.
thanks so much for the help!

Code:
#include <AF_Wave.h>
#include <avr/pgmspace.h>
#include "util.h"
#include "wave.h"

int seatSensor= 0;  //analog pin 0 FSR in seat

int armSensor= 1;       //FSR on arm of chair - analog pin 1

int sleepButton= 16;    //red button on other arm of chair.  Analog pin 2 set to digital so its 16

int buttonState= 0;    // button state starts at 0 or off

long seatStamp = 0;     //time stamp for seat FSR

long awayStamp;        //time stamp for noting how long someone has been away from seat FSR

long interval = 30000;     //30 second counting interval to tell wav how long to wait before playing each new file

int offState;





char* seatSensorArray[] = {
  "OHYRHOME.WAV", "CATCONVO.WAV", "COMPA~1.WAV", "WHATDO~1.WAV"};  //If this has a reading higher then 10 AFTER it has a reading of 0 (its been sat on) then awayState will begin

char* armSensorArray[] = {
  "TICKLISH.WAV", "PLEASE~2.WAV", "MOVEBACK.WAV"};

char* sleepButtonArray[] = {
  "NOTTIRED.WAV","QUIETM~1.WAV", "COMPA~1.WAV", "EVERSO~1.WAV"};

char* awayArray[] = {
  "JUSTSA~1.WAV", "BLOODY~1.WAV","ATTENT~1.WAV", "MINDTO~1.WAV", "PLEASU~1.WAV"};



AF_Wave card;
File f;
Wavefile wave;

int co = 0;        //counter used to increment through sound arrays
int seatReading;    //reads the input of seat FSR
void setup() {


  Serial.begin(9600);
  pinMode(seatSensor, INPUT);    //sets seat FSR to input

  // set up waveshield pins
  pinMode(2, OUTPUT);    //need to be programed
  pinMode(3, OUTPUT);    //this way
  pinMode(4, OUTPUT);    //for the wave sheild to
  pinMode(5, OUTPUT);    //do it's thing (all have soldered in wires - cant be changed)

  pinMode(sleepButton, INPUT);      //set pin 16 to input

  // open memory card...........This part is necessary to set up and
  //read SDcard!
  if (!card.init_card()) {
    return;
  }
  if (!card.open_partition()) {
    return;
  }
  if (!card.open_filesys()) {
    return;
  }
  if (!card.open_rootdir()) {
    return;
  }


}

void loop(){



  seatReading = analogRead(seatSensor);      //read seat FSR as an analog input and put its value in the butReading variable
  Serial.print("seatreading is= ");
  Serial.println(seatReading);
  Serial.print("MIIIIIIILLLLLLLLLLIIIIIIIIIIIIIISSSSSSSSSSSSSSSSSSSSSSSHO! = ");
  Serial.println(millis());



  do{
    fsrChecker();            //continually check seat reading and do nothing else until the seat reading returns a number lower than 10
    Serial.print("This means first do while is still going!");
    delay(100);
    seatReading = analogRead(seatSensor);      //read seat FSR as an analog input and put its value in the butReading variable
  }
  while(seatReading > 10);    
  //if the seatSensor gives a reading lower than 10, break out of do whie and head to next if statement

  if(seatReading <= 10){          //if seat FSR is less than or equal to 10
    Serial.print("This means we've gotten out of first do while!");
    delay(100);
    seatStamp = millis();        //seat time stamp is equal to the current time of millis
    delay(1000);
    if(co > 3){                  //if array increment counter is greater than 2 - (size of array)
      co=0;                      //then reset the array incrementer to 0
    }
    playcomplete(seatSensorArray[co]);      //play the 0 slot wav file in the seatSensor Array until it is complete - nothing can interupt this audio track
    co+=1;                                  //increment the array counter up only 1 at a time

    //now that we have gone through the if statment which plays ONLY the first file of the seatSensorArray - go into the do while statemet below

      do{
      Serial.print("This means SECOND do while is still going!");
      delay(100);
      millisCounter1();            //everytime through do while this will take a new time stamp to keep track of time that the person has been on the seat. if that time exeeds 30 seconds, play the next file in the seat array
       fsrChecker();                //keep track of the seat sensor reading, so if someone gets up (reading goes above 100) this will activate the first file in the away array as well as break program out of do while

    }
    while(seatReading<=100);       //do both those things while the seat reading is less than or equal to 100
  }
  if(seatReading > 100){           //if seat reading is greater than 100
    awayStamp = millis();          // take away time stamp
    delay(1000);
    if(co > 4){
      co=0;
    }
    playcomplete(awayArray[co]);      //At this point in time we should be playing THE SECOND song in this array because the first one was activated while still in the do while loop
      co+=1;                            //this should increment array to the next slot of array but not play next file

    //after second file is played go into the next do while loop

    do{
      millisCounter2();              //do keep track of time that the sensor has been reading high and play next file every 30 seconds, looping around again to the begining of the away array if person has been gone that long
        fsrChecker();                    
    }
    while(seatReading > 10);          //keep doing this while the seat reading is greater then 10 - if it stops being greater than 10, go back to the top of the loop
  }

}

void playcomplete(char *name){

  playfile(name);
  while (wave.isplaying);
  card.close_file(f);
}

void playfile(char *name) {
  // stop any file already playing
  if (wave.isplaying) {
    wave.stop();
    card.close_file(f);
  }

  f = card.open_file(name);
  if (f && wave.create(f)) {
    wave.play();
  }
}


//////////////////////////////////////////////////////////////////

void millisCounter1(){

  Serial.print("This means millis counter 1 is working! = ");
  delay(100);

  if(millis() - seatStamp > interval){      // if millis minus the reading taken when seat FSR first equaled zero is greater than a half a minute
    playcomplete(seatSensorArray[co]);      //play the next slot (should be second sound file) of the seatSensorArray
    co+=1;                                 //increment to the next slot of the seatSensorArray
  }
}

void fsrChecker(){
  Serial.print("This means fsrChecker is working! = ");
  delay(100);
  seatReading = analogRead(seatSensor);      //read seat FSR as an analog input and put its value in the seatReading variable
  Serial.print("seatreading is= ");
  Serial.println(seatReading);

  if(seatReading >= 100){                  //if seat reading is greater than or equal to 100
    awayStamp = millis();                  //record away time so I can use it later to check and see how long it has been since reading has been greater than 100 (if 30 sec, increment awayarray)
    Serial.print("AWAY READING TIME! = ");
    Serial.println(millis());
    if(co > 4){
      co=0;
    }
    playcomplete(awayArray[co]);            //at this point, we should be looping in do while so this will play the SECOND sound file of awayArray
    co+=1;                                  
  }
  else if(seatReading <= 10){          //if seat FSR is less than or equal to 10
    seatStamp = millis();        //seat time stamp is equal to the current time of millis
    Serial.print("SEAT READING TIME! = ");
    Serial.println(millis());
    delay(1000);
    if(co > 3){                  //if array increment counter is greater than 2 - (size of array)
      co=0;                      //then reset the array incrementer to 0
    }
    playcomplete(seatSensorArray[co]);      //play the 0 slot wav file in the seatSensor Array until it is complete - nothing can interupt this audio track
    co+=1;
  }

}
void millisCounter2(){

  Serial.print("This means millis counter 2 is working! = ");
  delay(100);

  if(millis() - awayStamp > interval){            //if the current time minus the time since the person has been out of seat is greater than 30000
    playcomplete(awayArray[co]);                  //play the next file in the away array
    co+=1;
  }
}



Logged

Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 240
Posts: 24431
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
if(seatReading <= 10){          //if seat FSR is less than or equal to 10
Well, there's one that simply repeats what the code is telling us (apart from the fact that I have no idea what an "FSR" is).
That comment is simply noise - it doesn't tel us WHY we are comparing the values.
Logged

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Seattle, WA USA
Offline Offline
Brattain Member
*****
Karma: 551
Posts: 46215
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
That comment is simply noise
As are most of them, for exactly the reason AWOL mentions.

You are printing information on the console window to debug what is happening, but, in case you haven't noticed, you have failed to share that information with us.
Logged

Pages: [1]   Go Up
Jump to: