View Single Post
  #2   Spotlight this post!  
Unread 11-11-2004, 23:14
eugenebrooks eugenebrooks is offline
Team Role: Engineer
AKA: Dr. Brooks
no team (WRRF)
 
Join Date: Jan 2004
Rookie Year: 2001
Location: Livermore, CA
Posts: 601
eugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond repute
Quote:
Originally Posted by incognito_NICK
how do i create a working print statement to see if my banner senors are working? i really have no idea.
(email me if you want to see the code: metalcalibur@gmail.com)
First, check that it is working from the indicator lights on the sensor.

After you have done that, and have it wired to a digital input, you have to write code that remembers the prior value and runs the printf() call when it sees the value change. Replace Process_Data_From_Master_uP with the one below, and the two variable declarations:


int old_rc_dig_in10, new_rc_dig_in10;

void Process_Data_From_Master_uP(void) {
Getdata(&rxdata);
if((new_rc_dig_in10 = ((int)rc_dig_in10)) != old_rc_dig_in10) {
printf("rc_dig_in10 = %d\", new_rc_dig_in10);
old_rc_dig_in10 = new_rc_dig_in10;
}
Putdata(&txdata);
}


In the case above, the sensor is wired to digital input 10.
You can generalize this to all of the digital input, RC and OI,
and produce a debugging program for your switches. A
similar thing can be done with analog sensors, but you will
want to add a "sensitivity window" to keep "noise changes"
from causing printf()s galore.

If you want to print the sensor value directly, you must cast
it to an int. printf("%d\n", (int)rc_dig_in10)

Eugene

Last edited by eugenebrooks : 11-11-2004 at 23:21.