main.cpp

Committer:
kagyroy
Date:
2011-12-10
Revision:
0:1cc4593f62e2
Child:
1:0a67babd7786

File content as of revision 0:1cc4593f62e2:

#include "include_file.h"

int main( int argc, char **argv )
{
    char key;
    float d = 0.5;
    int width,height,color;
    
    device.baud( 115200 );
    right_pwm.period_us( 10 );
    left_pwm.period_us( 10 );
    enable.write( 1 );
    
  //  device.putc('s');$$$
    
    device.printf("f:forward, b:back, r:turn_right\n"
                  "l:turn_left, a:duty+=0.01, m:duty-=0.01\n");
                  
    width = 0;
    
    
    
    
    
    
 //testing area 
wait( 5 );

//   while( 1 )
//   {
       ++width;
       device.printf("%d\n",width);
       if(width==255) width = 0;
       wait_ms( 50 );
//   }
 
 
   int frame[200][200][3];

   for(int i=0; i<200; i++)
   {
       for(int j=0; j<200; j++)
       {
           frame[i][j][0] = 100;
           frame[i][j][1] = 100;
           frame[i][j][2] = 100;
       }
   }    
 
    while(1)
    {       
       for(int i=0; i<200; i++)
       {
           for(int j=0; j<200; j++)
           {
               device.printf("%d\n",frame[i][j][0]);

               wait_ms( 50 );
           }
       }
    }

   

   
   
/*
   device.printf("s");  //start chara
   for(int i=0; i<200; i++)
   {
       for(int j=0; j<200; j++)
       {
            device.printf("%d\n",frame[i][j][0]);
       }
       device.printf("h");  //horizontal transition
   }
   device.printf("e");  //vertical end
 */  
 //testing area       

  
  while(1)
  {
        key = device.getc();
        switch( key )
        {
            case 'f':
                move_f( d );
                break;
            case 'b':
                move_b( d );
                break;
            case 'r':
                turn_r( d );
                break;
            case 'l':
                turn_l( d );
                break;
            case 's':
                stop();
                break;
            case 'a':
                d += 0.01;
                break;
            case 'm':
                d -= 0.01;
                break;
            default:
                break;
        }
       
//        device.printf("duty = %1.2f\r", d);
        
    }   
}

void move_f( float d )
{
    right_P.write( 0 );
    right_N.write( 1 );
    left_P.write( 1 );
    left_N.write( 0 );
    right_pwm.write( d );
    left_pwm.write( d );
    /*right_pwm.pulsewidth_us( d );
    left_pwm.pulsewidth_us( d );*/
}

void move_b( float d )
{
    right_P.write( 1 );
    right_N.write( 0 );
    left_P.write( 0 );
    left_N.write( 1 );
    right_pwm.write( d );
    left_pwm.write( d );
    /*right_pwm.pulsewidth_us( d );
    left_pwm.pulsewidth_us( d );*/
}

void turn_r( float d )
{
    right_P.write( 0 );
    right_N.write( 1 );
    left_P.write( 0 );
    left_N.write( 1 );
    right_pwm.write( d );
    left_pwm.write( d );
    /*right_pwm.pulsewidth_us( d );
    left_pwm.pulsewidth_us( d );*/
}

void turn_l( float d )
{
    right_P.write( 1 );
    right_N.write( 0 );
    left_P.write( 1 );
    left_N.write( 0 );
    right_pwm.write( d );
    left_pwm.write( d );
    /*right_pwm.pulsewidth_us( d );
    left_pwm.pulsewidth_us( d );*/
}

void stop( void )
{
    right_P.write( 0 );
    right_N.write( 0 );
    left_P.write( 0 );
    left_N.write( 0 );
    right_pwm.write( 0 );
    left_pwm.write( 0 );
}