A short test program for all things m3pi and BtBee.

Dependencies:   btbee m3pi_ng mbed

Fork of m3pi_btTest by Nikolas Goldin

main.cpp

Committer:
ngoldin
Date:
2013-05-13
Revision:
1:c1845f088b5d
Parent:
0:546e224d2f88
Child:
2:35d1143053d3

File content as of revision 1:c1845f088b5d:

#include "mbed.h"
#include "m3pi_ng.h"


m3pi m3pi;

DigitalOut mbed_led[] = {(LED1), (LED2),(LED3), (LED4)};
DigitalOut m3pi_led[] = {(p13), (p14), (p15), (p16), (p17), (p18), (p19), (p20)};
DigitalIn m3pi_pb(p21);
Timer t1;
//Serial btbee(p28, p27); // tx rx
//DigitalOut btbee_reset(p26);  // 0 resets the device
//Serial btbee(p27, p28); // tx rx
int main()
{
    m3pi.locate(0,1);
    //btbee_reset=1;  // else it keeps resetting
    mbed_led[0] = 1;
    mbed_led[1] = 1;
    mbed_led[2] = 1;
    mbed_led[3] = 1;
    m3pi_pb.mode(PullUp); // expected would be 1 when pb is pressed, 0 when not, opposite is the case
    //btbee.baud(38400);  // this is BtBee default for AT commands
    //btbee.baud(9600);  // this is BtBee default for regular commands
    //btbee.format();  // the default should be fine
    
    
    /*
    for (int i = 0; i <8; i++) {
        m3pi_led[i]=1;
    }
    */
    
    /*  THIS IS NOT DOCUMENTED???
    m3pi.locate(0,1);
    m3pi.printf("Num %d",123456789);
    */
    //t1.start();

    // V=volume max is 15::O5=octave5::G16=G16th note::R24=rest24th note...a rest is needed between any two note that are the same
    //char dixie[]= {'V','1','5','O','5','G','1','6','E','1','6','C','8','R','2','4','C','8','R','2','4','C','1','6','D','1','6','E','1','6','F','1','6','G','8','R','2','4','G','8','R','2','4','G','8','E','1','6'};
    //the number of characters in the array
    //int len=49;
    //m3pi.playtune(dixie,len);
    
    /*
    wait(1); // 1 second
    mbed_led[0] = 0;
    mbed_led[1] = 0;
    mbed_led[2] = 0;
    mbed_led[3] = 0;

    for (int i = 0; i <8; i++) {
        m3pi_led[i]=0;
    }
    */
    
    /*
    t1.stop();
    int t=t1.read_ms();
    t1.reset();

    m3pi.locate(0,0); //cursor on the LCD; x 0-7 y 0-1
    m3pi.printf("%d",t);
    m3pi.locate(0,1);
    */
    

    //while (true){
    //m3pi_led[0]=!m3pi_pb;
    //}
//    char c;
//    int pos = 0;
//    int res;
//    res=btbee_reset.read();
//    char res_c[30];
//    sprintf (res_c,"%d" ,res);
//    m3pi.print(res_c,1);

    int * rawsens;
    int sens1;
    while(true){
    sens1=rawsens[0];
    t1.start();
    rawsens = m3pi.raw_sensor();
    t1.stop();
    wait(0.1);
    m3pi.cls();  
    m3pi.locate(0,1);     
    m3pi.printf("%d",rawsens[0]);
    m3pi.locate(0,0);
    m3pi.printf("%d",rawsens[0]-sens1);         
    //m3pi.printf("%d",t1.read_ms());
    t1.reset();
    }
    //wait(1.0);
    
    /*
    while(m3pi_pb){
    m3pi_led[5]=!m3pi_led[5];
    wait(0.1);
    }
    
    int ii=1;
    while (true) {
        m3pi_led[0]=1;
        m3pi_led[1]=0;
        if (btbee.writeable()) {
            if (ii==6){btbee.printf("end\n");}
            else {btbee.printf("Sensor %d. : %d \n",ii,rawsens[ii-1]);}
            m3pi_led[0]=0;
            ii++;
            m3pi.locate(0,0);
            m3pi.printf("Sent %0.3d",ii);
        }

        while (btbee.readable()) {
            c = btbee.getc();
            m3pi.locate(pos,1);
            m3pi.print(&c,1);
            pos++;
            pos=pos%8;
            
        }

        wait(0.5);
    }
    */
}