CHR-6dm trial

Dependencies:   mbed PwmIn

main.cpp

Committer:
kinemax
Date:
2011-04-15
Revision:
0:e35c4c5a52d6

File content as of revision 0:e35c4c5a52d6:

// Example PwmIn class to detect PWM inputs, sford
//  - Note: uses InterruptIn, so not available on p19/p20

#include "mbed.h"
//#include "PwmIn.h"

#define BAUD 115200
#define TX_PIN p9
#define RX_PIN p10

#include "MODSERIAL.h"

 DigitalOut led1(LED1);
 DigitalOut led2(LED2);
 DigitalOut led3(LED3);
 DigitalOut led4(LED4);
 
 MODSERIAL pc(USBTX, USBRX);
 MODSERIAL uart(TX_PIN, RX_PIN);
 
 bool newpacket = false;

//PwmIn a(p21), b(p22), c(p23), d(p24), e(p25);

int  yaw=0,pitch=0,roll=0, Dyaw=0,Dpitch=0,Droll=0,chk=0;

int main() 
{   char  ileB=0,kan1=0,kan2=0;
    char zna='0', znak, pakiet[255]="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
    int licz=0;
     pc.baud(BAUD);
     uart.baud(BAUD);
    // uart.attach(&rxCallback, MODSERIAL::RxIrq);
    pc.printf("Start\n\r");
    
  while(1)
  { 
    if( uart.readable() );
    led1 = 1; // Show start of sending with LED1.
    while( (znak=uart.getc())!=115);
    {  led2 =1;
       if(uart.getc()==110)
       {
          if(uart.getc()==112)
          {
             if(uart.getc()==0xB7)
             {  led3=1;
                ileB=uart.getc();
                for(int i=0; i<ileB+2; i++) pakiet[i]=uart.getc();
                /*
                kan1=uart.getc();   kan2= uart.getc();
                yaw   =  256 * (int)uart.getc() + uart.getc(); 
                pitch =  256 * (int)uart.getc() + uart.getc();
                roll   = 256 * (int)uart.getc() + uart.getc();
                chk   =  256 * (int)uart.getc() + uart.getc();
                */
                led4=1; led1=0; led2=0; led3=0;
                newpacket=1;
                //pc.txBufferFlush();
                pc.printf("\n\r N = %2d,  NoBytes: ", ileB);
                for(int i=0; i<ileB+2; i++) 
                    pc.printf(" %3d ",pakiet[i]);
                wait(1);
              }
              else pc.printf("No PT");
           }
           else pc.printf("No P");
        }      
        else pc.printf("No N");
     } 
     
  }
    
     //pc.printf("Kanaly=  %5.3f  %5.3f  %5.3f %5.3f %5.3f\n\r", a.pulsewidth()*1000, a.pulsewidth()*1000, b.pulsewidth()*1000, c.pulsewidth()*1000, d.pulsewidth()*1000, e.pulsewidth()*1000);
    //wait(1);
  
}    


     // higher than "uart" baud rate below.