Loading...
Logo
Processing Forum

Help

in Integration and Hardware  •  7 months ago  
I need help for the code on the make website here it is http://makeprojects.com/Project/A+Touchless+3D+Tracking+Interface/2233/1#.USVr7qXqmSo
when i put in the code for the 3D tracking interface i always get an error saying unexpected token:def.
this is the code. can you please help me.
    //
             
// By Kyle McDonald
// From the instructables project at:

#define resolution 8
#define mains 50 // 60: north america, japan; 50: most other places

#define refresh 2 * 1000000 / mains

void setup () {
   Serial . begin ( 115200 );

   // unused pins are fairly insignificant,
   // but pulled low to reduce unknown variables
   for ( int i = 2 ; i < 14 ; i ++ ) {
     pinMode ( i , OUTPUT );
     digitalWrite ( i , LOW );
   }

   for ( int i = 8 ; i < 11 ; i ++ )
     pinMode ( i , INPUT );

   startTimer ();
}

void loop () {
   Serial . print ( time ( 8 , B00000001 ), DEC );
   Serial . print ( " " );
   Serial . print ( time ( 9 , B00000010 ), DEC );
   Serial . print ( " " );
   Serial . println ( time ( 10 , B00000100 ), DEC );

}

long time ( int pin , byte mask ) {
   unsigned long count = 0 , total = 0 ;
   while ( checkTimer () < refresh ) {
     // pinMode is about 6 times slower than assigning
     // DDRB directly, but that pause is important
     pinMode ( pin , OUTPUT );
     PORTB = 0 ;
     pinMode ( pin , INPUT );
     while (( PINB & mask ) == 0 )
       count ++ ;
     total ++ ;
   }
   startTimer ();
   return ( count << resolution ) / total ;
}

extern volatile unsigned long timer0_overflow_count ;

void startTimer () {
   timer0_overflow_count = 0 ;
   TCNT0 = 0 ;
}

unsigned long checkTimer () {
   return (( timer0_overflow_count << 8 ) + TCNT0 ) << 2 ;
}

Replies(1)

Re: Help

7 months ago
Welcome, and please read the forum guidelines about choosing a good subject line (you can edit your message to improve it) and the location of the topic: I moved from Programming Questions because obviously this C code is for Arduino, not for Processing.
If you try to run this code in the PDE, it is normal to get this error...
You have to run this on your Arduino board, whatever the usual way it is done (I don't have one myself).