test program for apps shield

Dependencies:   C12832_lcd_fork LM75B MMA7660 mbed C027

Committer:
sam_grove
Date:
Thu Feb 06 21:06:51 2014 +0000
Revision:
2:134ff7c6ed07
Parent:
1:c409f3abab09
added flow to test entire shield with terminal

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chris 0:0325ecbd1916 1 #include "mbed.h"
sam_grove 2:134ff7c6ed07 2 #include "C027.h"
chris 0:0325ecbd1916 3
sam_grove 2:134ff7c6ed07 4 #include "C12832_lcd.h"
sam_grove 2:134ff7c6ed07 5 C12832_LCD lcd(D11, D13, D12, D7, D10);
chris 0:0325ecbd1916 6
chris 0:0325ecbd1916 7 #include "LM75B.h"
sam_grove 2:134ff7c6ed07 8 LM75B sensor(D14, D15);
sam_grove 2:134ff7c6ed07 9
chris 0:0325ecbd1916 10 #include "MMA7660.h"
sam_grove 2:134ff7c6ed07 11 MMA7660 MMA(D14, D15);
chris 0:0325ecbd1916 12
sam_grove 2:134ff7c6ed07 13 PwmOut spkr(D6);
chris 0:0325ecbd1916 14
sam_grove 2:134ff7c6ed07 15 AnalogIn pot1 (A0);
sam_grove 2:134ff7c6ed07 16 AnalogIn pot2 (A1);
chris 0:0325ecbd1916 17
sam_grove 2:134ff7c6ed07 18 DigitalIn up(A2);
sam_grove 2:134ff7c6ed07 19 DigitalIn down(A3);
sam_grove 2:134ff7c6ed07 20 DigitalIn left(A4);
sam_grove 2:134ff7c6ed07 21 AnalogIn right(A5);
sam_grove 2:134ff7c6ed07 22 DigitalIn center(D4);
chris 0:0325ecbd1916 23
sam_grove 2:134ff7c6ed07 24 DigitalOut redled(D5);
sam_grove 2:134ff7c6ed07 25 DigitalOut blueled(D8);
sam_grove 2:134ff7c6ed07 26 DigitalOut greenled(D9);
chris 0:0325ecbd1916 27
sam_grove 2:134ff7c6ed07 28 Serial pc(USBTX, USBRX);
chris 0:0325ecbd1916 29
sam_grove 2:134ff7c6ed07 30 void clearConsole()
sam_grove 2:134ff7c6ed07 31 {
sam_grove 2:134ff7c6ed07 32 lcd.cls();
sam_grove 2:134ff7c6ed07 33 lcd.locate(0,3);
sam_grove 2:134ff7c6ed07 34 while(pc.readable()) {
sam_grove 2:134ff7c6ed07 35 int c = pc.getc();
sam_grove 2:134ff7c6ed07 36 }
sam_grove 2:134ff7c6ed07 37 }
chris 0:0325ecbd1916 38
chris 0:0325ecbd1916 39 int main()
chris 0:0325ecbd1916 40 {
chris 0:0325ecbd1916 41
chris 0:0325ecbd1916 42 redled = 1;
chris 0:0325ecbd1916 43 blueled =1;
chris 0:0325ecbd1916 44 greenled=1;
chris 0:0325ecbd1916 45 int i=0;
sam_grove 2:134ff7c6ed07 46
sam_grove 2:134ff7c6ed07 47 puts("LCD Test");
chris 0:0325ecbd1916 48
sam_grove 2:134ff7c6ed07 49 while (!pc.readable()) {
sam_grove 2:134ff7c6ed07 50 lcd.cls();
sam_grove 2:134ff7c6ed07 51 lcd.locate(0,3);
sam_grove 2:134ff7c6ed07 52 lcd.printf("woot! %d!",i);
sam_grove 2:134ff7c6ed07 53 i++;
sam_grove 2:134ff7c6ed07 54 redled = !redled;
sam_grove 2:134ff7c6ed07 55 wait(1.0);
sam_grove 2:134ff7c6ed07 56 }
sam_grove 2:134ff7c6ed07 57
sam_grove 2:134ff7c6ed07 58 clearConsole();
sam_grove 2:134ff7c6ed07 59 puts("Joystick Test");
sam_grove 2:134ff7c6ed07 60
sam_grove 2:134ff7c6ed07 61 while (!pc.readable()) {
sam_grove 2:134ff7c6ed07 62 redled = !up && ! down;
sam_grove 2:134ff7c6ed07 63 blueled = !center;
sam_grove 2:134ff7c6ed07 64 greenled= !left && !right;
sam_grove 2:134ff7c6ed07 65 }
sam_grove 2:134ff7c6ed07 66
sam_grove 2:134ff7c6ed07 67 clearConsole();
sam_grove 2:134ff7c6ed07 68 puts("Pot Test");
sam_grove 2:134ff7c6ed07 69
sam_grove 2:134ff7c6ed07 70 while (!pc.readable()) {
sam_grove 2:134ff7c6ed07 71 redled = 1;
sam_grove 2:134ff7c6ed07 72 wait(pot1.read());
sam_grove 2:134ff7c6ed07 73 redled = 0;
sam_grove 2:134ff7c6ed07 74 wait(pot2.read());
sam_grove 2:134ff7c6ed07 75 }
sam_grove 2:134ff7c6ed07 76
sam_grove 2:134ff7c6ed07 77 clearConsole();
sam_grove 2:134ff7c6ed07 78 puts("Pot Test 2");
sam_grove 2:134ff7c6ed07 79
sam_grove 2:134ff7c6ed07 80 while (!pc.readable()) {
sam_grove 2:134ff7c6ed07 81 lcd.cls();
sam_grove 2:134ff7c6ed07 82 lcd.locate(0,3);
sam_grove 2:134ff7c6ed07 83 lcd.printf("%.3f %.3f %.3f", pot1.read(),pot2.read(), right.read());
sam_grove 2:134ff7c6ed07 84 wait(0.2);
sam_grove 2:134ff7c6ed07 85 }
sam_grove 2:134ff7c6ed07 86
sam_grove 2:134ff7c6ed07 87 clearConsole();
sam_grove 2:134ff7c6ed07 88 puts("Accel / Temp Test");
sam_grove 2:134ff7c6ed07 89
sam_grove 2:134ff7c6ed07 90 while (!pc.readable()) {
sam_grove 2:134ff7c6ed07 91 lcd.cls();
sam_grove 2:134ff7c6ed07 92 lcd.locate(0,3);
sam_grove 2:134ff7c6ed07 93 lcd.printf("Temp = %.3f", (float)sensor);
sam_grove 2:134ff7c6ed07 94 lcd.locate(0,14);
sam_grove 2:134ff7c6ed07 95 lcd.printf("x=%.2f y=%.2f z=%.2f",MMA.x(), MMA.y(), MMA.z());
sam_grove 2:134ff7c6ed07 96 blueled = !blueled;
sam_grove 2:134ff7c6ed07 97 greenled = !greenled;
sam_grove 2:134ff7c6ed07 98 wait(1.0);
sam_grove 2:134ff7c6ed07 99 i++;
sam_grove 2:134ff7c6ed07 100 }
sam_grove 2:134ff7c6ed07 101
sam_grove 2:134ff7c6ed07 102 clearConsole();
sam_grove 2:134ff7c6ed07 103 puts("Speaker Test");
sam_grove 2:134ff7c6ed07 104
sam_grove 2:134ff7c6ed07 105 for(int j=0; j<3; j++) {
sam_grove 2:134ff7c6ed07 106 for (float i=2000.0; i<4000.0; i+=100) {
sam_grove 2:134ff7c6ed07 107 spkr.period(1.0/i);
sam_grove 2:134ff7c6ed07 108 spkr=0.5;
sam_grove 2:134ff7c6ed07 109 wait(0.1);
sam_grove 2:134ff7c6ed07 110 }
sam_grove 2:134ff7c6ed07 111 spkr=0.0;
sam_grove 2:134ff7c6ed07 112 wait(2.0f);
sam_grove 2:134ff7c6ed07 113 }
sam_grove 2:134ff7c6ed07 114
sam_grove 2:134ff7c6ed07 115 puts("Test Complete");
chris 0:0325ecbd1916 116 }
chris 0:0325ecbd1916 117
chris 0:0325ecbd1916 118