Kyle Chiang / Mbed 2 deprecated TestColorSensor

Dependencies:   m3pi mbed

main.cpp

Committer:
TaintedTruth
Date:
2013-11-21
Revision:
2:5c0159599726
Parent:
1:d481b2912c2a
Child:
3:b3c41c85fb1e

File content as of revision 2:5c0159599726:

#include "mbed.h"
#include "m3pi.h"

DigitalOut sensorLED(p8);
I2C colorSensor(p28, p27);
Serial bt(p13, p14); // tx, rx

const int addr = 0x74;
m3pi m3pi;

int read(char lowByteRegister) {
        char cmd[1];
        char echo[1];
        bt.printf("E:%0x ",echo[0]);

        cmd[0] = lowByteRegister;
        colorSensor.write(addr,cmd,1);
        colorSensor.read(addr,echo,1);
        int result_low = (int) echo[0];
        bt.printf("lo:%0x ",result_low);
        
        /*
        cmd[0] = lowByteRegister + 1;
        colorSensor.write(addr,cmd,1);
        colorSensor.read(addr,echo,1);
        int result_high = (int) echo[0];
        bt.printf("hi:%0x ",result_high);
        
        return (result_high << 8) | result_low;
        */
        
        return result_low;
}

int main() {

    bt.baud(115200);

    char cmd[2];
    sensorLED = 1;
    m3pi.locate(0,1);
    m3pi.printf("Start");
    wait(1);
    
    while(1) {
        cmd[0] = 0x00;
        cmd[1] = 0x01;
        colorSensor.write(addr,cmd,2);
        
        int red = read(0x06);
        // int green = read(0x42);
        // int blue = read(0x44);

        // Print for debugging
        
        bt.printf("R:%0x ",red);
        //bt.printf("G:%0x ",green);
        //bt.printf("B:%0x     ",blue);
        wait(1);
 
 /*       
        cmd[0] = 0x06;
        colorSensor.write(addr,cmd,1);
        colorSensor.read(addr,cmd,1);
        red = cmd[0];
        
        cmd[0] = 0x07;
        colorSensor.write(addr,cmd,1);
        colorSensor.read(addr,cmd,1);
        green = cmd[0];
        
        cmd[0] = 0x08;
        colorSensor.write(addr,cmd,1);
        colorSensor.read(addr,cmd,1);
        blue = cmd[0];
        
        bt.printf("Rc:%d ",red);
        bt.printf("Gc:%d ",green);
        bt.printf("Bc:%d      ",blue);
*/        
  
 /*       
        m3pi.cls();
        m3pi.locate(0,1);
        m3pi.printf("R:%d",red);
        wait(1.5);
        
        m3pi.cls();
        m3pi.locate(0,1);
        m3pi.printf("G:%d",green);
        wait(1.5);
        
        m3pi.cls();
        m3pi.locate(0,1);
        m3pi.printf("B:%d",blue);    
        wait(1.5);    
*/
    }
}