test program for apps shield

Dependencies:   C12832_lcd_fork LM75B MMA7660 mbed C027

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "C027.h"
00003 
00004 #include "C12832_lcd.h"
00005 C12832_LCD lcd(D11, D13, D12, D7, D10);
00006 
00007 #include "LM75B.h"
00008 LM75B sensor(D14, D15);
00009 
00010 #include "MMA7660.h"
00011 MMA7660 MMA(D14, D15);
00012 
00013 PwmOut spkr(D6);
00014 
00015 AnalogIn pot1 (A0);
00016 AnalogIn pot2 (A1);
00017 
00018 DigitalIn up(A2);
00019 DigitalIn down(A3);
00020 DigitalIn left(A4);
00021 AnalogIn right(A5);
00022 DigitalIn center(D4);
00023 
00024 DigitalOut redled(D5);
00025 DigitalOut blueled(D8);
00026 DigitalOut greenled(D9);
00027 
00028 Serial pc(USBTX, USBRX);
00029 
00030 void clearConsole()
00031 {
00032     lcd.cls();
00033     lcd.locate(0,3);
00034     while(pc.readable()) {
00035         int c = pc.getc();
00036     }
00037 }   
00038 
00039 int main()
00040 {
00041 
00042     redled = 1;
00043     blueled =1;
00044     greenled=1;
00045     int i=0;
00046     
00047     puts("LCD Test");
00048 
00049     while (!pc.readable()) {
00050         lcd.cls();
00051         lcd.locate(0,3);
00052         lcd.printf("woot! %d!",i);
00053         i++;
00054         redled = !redled;
00055         wait(1.0);
00056     }
00057 
00058     clearConsole();
00059     puts("Joystick Test");
00060 
00061     while (!pc.readable()) {
00062         redled =  !up && ! down;
00063         blueled = !center;
00064         greenled= !left && !right;
00065     }
00066     
00067     clearConsole();
00068     puts("Pot Test");
00069 
00070     while (!pc.readable()) {
00071         redled = 1;
00072         wait(pot1.read());
00073         redled = 0;
00074         wait(pot2.read());
00075     }
00076     
00077     clearConsole();
00078     puts("Pot Test 2");
00079 
00080     while (!pc.readable()) {
00081         lcd.cls();
00082         lcd.locate(0,3);
00083         lcd.printf("%.3f  %.3f %.3f", pot1.read(),pot2.read(), right.read());
00084         wait(0.2);
00085     }
00086     
00087     clearConsole();
00088     puts("Accel / Temp Test");
00089 
00090     while (!pc.readable()) {
00091         lcd.cls();
00092         lcd.locate(0,3);
00093         lcd.printf("Temp = %.3f", (float)sensor);
00094         lcd.locate(0,14);
00095         lcd.printf("x=%.2f y=%.2f z=%.2f",MMA.x(), MMA.y(), MMA.z());
00096         blueled = !blueled;
00097         greenled = !greenled;
00098         wait(1.0);
00099         i++;
00100     }
00101     
00102     clearConsole();
00103     puts("Speaker Test");
00104     
00105     for(int j=0; j<3; j++) {
00106         for (float i=2000.0; i<4000.0; i+=100) {
00107             spkr.period(1.0/i);
00108             spkr=0.5;
00109             wait(0.1);
00110         }
00111         spkr=0.0;
00112         wait(2.0f);
00113     }
00114     
00115     puts("Test Complete");
00116 }
00117 
00118