My take on a demo for the Freescale FRDM KL25Z board showing off it's main features all at once together with USB CDC serial.
Dependencies: FRDM_MMA8451Q TSI USBDevice mbed
main.cpp
- Committer:
- shutay
- Date:
- 2013-11-21
- Revision:
- 4:85ecc94a7643
- Parent:
- 1:32eacc4f6beb
- Child:
- 5:55ef207399fb
File content as of revision 4:85ecc94a7643:
//*********************************************************** // Freescale Freedom KL25Z Demo // Jason CJ Tay (jason.tay@vagler.com) // 30 October 2013 //*********************************************************** // Key things demo'd: // 1. USB application serial, USB CDC serial, not over the debug port. // 2. Capacitive Touch // 3. Accelerometer // 4. RGB LED //*********************************************************** #include "mbed.h" #include "USBSerial.h" #include "TSISensor.h" #include "MMA8451Q.h" #define MMA8451_I2C_ADDRESS (0x1d<<1) // Freescale Freedom KL25Z board has an RGB LED on it. DigitalOut ledRed(LED_RED); DigitalOut ledGreen(LED_GREEN); DigitalOut ledBlue(LED_BLUE); // Setup the serial over USB virtual COM port. //Serial pc(USBTX,USBRX); USBSerial pc; int main() { char c; int i=0; TSISensor tsi; MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); pc.printf("\nHello World!\n"); while (true) { pc.printf("\nTell me what you want!\nPress 't' to read the capacitive touch slider...\nPress 'a' to read the accelerometer...\n"); pc.printf("Press 'r' to turn the LED red...\nPress 'g' to turn the LED green...\nPress 'b' to turn the LED blue...\n>>>\n"); c = pc.getc(); switch(c) { case 't': pc.printf("The current touch sensor reading is %f\n", tsi.readPercentage()); break; case 'a': pc.printf("X: %f\nY: %f\nZ: %f\n", acc.getAccX(), acc.getAccY(), acc.getAccZ()); break; case 'r': for(int j=0; j<4; j++) { wait(0.5); pc.printf("%d\n",i); i++; ledRed = !ledRed; } break; case 'g': for(int j=0; j<4; j++) { wait(0.5); pc.printf("%d\n",i); i++; ledGreen = !ledGreen; } break; case 'b': for(int j=0; j<4; j++) { wait(0.5); pc.printf("%d\n",i); i++; ledBlue = !ledBlue; } break; default: pc.printf("Oops. Don't have anything for you. Please try again.\n\n"); } } }