UT CS Bootcamp code for creating a secret knock

Dependencies:   MMA8451Q mbed tsi_sensor

Fork of UTCSBootcamp by Clare Coleman

Committer:
parnell
Date:
Fri Aug 22 19:52:08 2014 +0000
Revision:
11:0ac08d8a296f
Parent:
10:351ba1920e42
Revised with touch sensor;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
parnell 9:0ba1973c3bd3 1 #include "KnockAPI.h"
parnell 9:0ba1973c3bd3 2 #include "Includes/KnockBaseAPI.h"
parnell 9:0ba1973c3bd3 3
parnell 9:0ba1973c3bd3 4 #define MMA8451_I2C_ADDRESS (0x1d<<1)
parnell 9:0ba1973c3bd3 5
parnell 9:0ba1973c3bd3 6 Timer timer;
parnell 9:0ba1973c3bd3 7
parnell 9:0ba1973c3bd3 8 void print(const char* msg, ...){
parnell 9:0ba1973c3bd3 9 char buffer[256];
parnell 9:0ba1973c3bd3 10 va_list args;
parnell 9:0ba1973c3bd3 11 va_start (args, msg);
parnell 9:0ba1973c3bd3 12 vsprintf (buffer,msg, args);
parnell 9:0ba1973c3bd3 13 va_end (args);
parnell 9:0ba1973c3bd3 14 port.printf(buffer);
parnell 9:0ba1973c3bd3 15 }
parnell 9:0ba1973c3bd3 16
parnell 9:0ba1973c3bd3 17 /************************************************
parnell 9:0ba1973c3bd3 18 * timing functions
parnell 9:0ba1973c3bd3 19 ***********************************************/
parnell 9:0ba1973c3bd3 20
parnell 9:0ba1973c3bd3 21 int getTime(){
parnell 9:0ba1973c3bd3 22 int time = timer.read_ms();
parnell 9:0ba1973c3bd3 23 if(debug) print("getTime() = %d\r\n",time);
parnell 9:0ba1973c3bd3 24 return time;
parnell 9:0ba1973c3bd3 25 }
parnell 9:0ba1973c3bd3 26
parnell 9:0ba1973c3bd3 27 void markTime(){
parnell 9:0ba1973c3bd3 28 if(debug) print("markTime()\r\n");
parnell 9:0ba1973c3bd3 29 timer.start();
parnell 9:0ba1973c3bd3 30 }
parnell 9:0ba1973c3bd3 31
parnell 9:0ba1973c3bd3 32 void sleep(float milliseconds){
parnell 9:0ba1973c3bd3 33 if(debug) print("sleep(%f)\r\n",milliseconds);
parnell 9:0ba1973c3bd3 34 wait(milliseconds / 1000);
parnell 9:0ba1973c3bd3 35 }
parnell 9:0ba1973c3bd3 36
parnell 9:0ba1973c3bd3 37 /******************************** INPUTS AND OUTPUTS ********************************/
parnell 9:0ba1973c3bd3 38
parnell 9:0ba1973c3bd3 39 void redLED(bool on){
parnell 11:0ac08d8a296f 40 if(debug) print("blueLED(%d) \r\n", on);
parnell 11:0ac08d8a296f 41 setLED(!on, 1, 1);
parnell 9:0ba1973c3bd3 42 }
parnell 9:0ba1973c3bd3 43
parnell 9:0ba1973c3bd3 44 void greenLED(bool on){
parnell 11:0ac08d8a296f 45 if(debug) print("blueLED(%d) \r\n", on);
parnell 11:0ac08d8a296f 46 setLED(1, !on, 1);
parnell 9:0ba1973c3bd3 47 }
parnell 9:0ba1973c3bd3 48
parnell 9:0ba1973c3bd3 49 void blueLED(bool on){
parnell 11:0ac08d8a296f 50 if(debug) print("blueLED(%d) \r\n", on);
parnell 11:0ac08d8a296f 51 setLED(1, 1, !on);
parnell 10:351ba1920e42 52 }
parnell 10:351ba1920e42 53
parnell 11:0ac08d8a296f 54 void setLED(float r, float g, float b){
parnell 11:0ac08d8a296f 55 rl.write(r);
parnell 11:0ac08d8a296f 56 gl.write(g);
parnell 11:0ac08d8a296f 57 bl.write(b);
parnell 11:0ac08d8a296f 58 if(debug) print("setLED(%f,%f,%f) \r\n", r,g,b);
parnell 9:0ba1973c3bd3 59 }
parnell 9:0ba1973c3bd3 60
parnell 9:0ba1973c3bd3 61 void setDebug(bool _debug){
parnell 9:0ba1973c3bd3 62 if(debug) print("setDebug()= %d\r\n", _debug);
parnell 9:0ba1973c3bd3 63 debug = _debug;
parnell 9:0ba1973c3bd3 64 }
parnell 9:0ba1973c3bd3 65
parnell 9:0ba1973c3bd3 66
parnell 11:0ac08d8a296f 67 Accelerometer& getAccelerometer(){
parnell 9:0ba1973c3bd3 68 return accelerometer;
parnell 9:0ba1973c3bd3 69 }
parnell 9:0ba1973c3bd3 70
parnell 9:0ba1973c3bd3 71 Serial getSerialPort(){
parnell 9:0ba1973c3bd3 72 return port;
parnell 9:0ba1973c3bd3 73 }
parnell 9:0ba1973c3bd3 74
parnell 9:0ba1973c3bd3 75
parnell 9:0ba1973c3bd3 76 /************************************************
parnell 9:0ba1973c3bd3 77 * init/finish functions
parnell 9:0ba1973c3bd3 78 ***********************************************/
parnell 9:0ba1973c3bd3 79
parnell 9:0ba1973c3bd3 80
parnell 9:0ba1973c3bd3 81 void init(){
parnell 9:0ba1973c3bd3 82 _initialize();
parnell 9:0ba1973c3bd3 83 markTime();
parnell 9:0ba1973c3bd3 84 }
parnell 9:0ba1973c3bd3 85
parnell 9:0ba1973c3bd3 86 void finish(){
parnell 9:0ba1973c3bd3 87 _finish();
parnell 9:0ba1973c3bd3 88 }