Pixy (cmucam5) Library HelloWorld Program

Dependencies:   Pixy mbed

Fork of TestPixy by FRC - Hackathon

main.cpp

Committer:
haarkon
Date:
2018-05-31
Revision:
0:ff2018f6c7cd
Child:
1:b3e8acec058f

File content as of revision 0:ff2018f6c7cd:

#include "mbed.h"
#include "Pixy.h"

Serial      pc          (PA_2, PA_3, 921600);
PIXY        Pixy        (PA_0, PA_1, 230400);

DigitalOut  led1        (PA_5);
DigitalOut  led2        (PD_2);
DigitalOut  disquette   (PA_12);

int main()
{
    int                 nbCC, nbNM, cr;
    Byte                msg, brightness = 50;
    T_pixyCCBloc        CCBuf;
    T_pixyNMBloc        NMBuf;

    pc.printf ("\r\nHelloWorld\r\n");
    led1 = 1;
    led2 = 0;
    disquette = 0;

    wait (5);
    if (Pixy.checkPixy() == -1) {
        pc.printf ("\rNo Pixy\n\r");
        while(1);
    } else {
        pc.printf ("\rLet's go\n\r");
    }
    
    do {
        Pixy.setBrightness (brightness);
        wait (0.2);
        cr = Pixy.detectedObject (&nbNM, &nbCC);
        pc.printf ("\r\nBrightness = %3d => nbCC = %2d - nbNM = %2d : cr = %2d ? ", brightness, nbCC, nbNM, cr);
        msg = pc.getc();
        pc.printf("%c\r\n", msg);
        if (msg=='a') brightness += 5;
        if (msg=='q') brightness -= 5;
        if (msg=='z') brightness += 1;
        if (msg=='s') brightness -= 1;
    } while (msg != 'X');
        
    while (1) {
        if (Pixy.checkNewImage()) {
            cr = Pixy.detectedObject (&nbNM, &nbCC);
            pc.printf ("\r\tnbCC = %2d - nbNM = %2d : cr = %2d\n", nbCC, nbNM, cr);
            while (nbCC > 0) {
                CCBuf = Pixy.getCCBloc ();
                nbCC--;
                pc.printf ("\rCC %5d : x=%5d, y=%5d - w=%5d, h=%5d, a=%5d\n", CCBuf.signature, CCBuf.x, CCBuf.y, CCBuf.width, CCBuf.height, (short)CCBuf.angle);
            }
            while (nbNM > 0) {
                NMBuf = Pixy.getNMBloc ();
                nbNM--;
                pc.printf ("\rNM %4x : x=%5d, y=%5d - w=%5d, h=%5d\n", NMBuf.signature, NMBuf.x, NMBuf.y, NMBuf.width, NMBuf.height);
            }
            led1 = !led1;
            led2 = !led2;
        }
    }
}