Homework 5.1

Dependencies:   SLCD TSI mbed

Fork of kl46z_slider_v1 by Stanley Cohen

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "TSISensor.h"
00003 #include "SLCD.h"
00004 #define TSILIMIT 0.99
00005 #define LCDCHARLEN 10
00006 #define DATAINTERVAL 0.1
00007 #define PROGNAME "kl46z_slider_test_v1\n\r"
00008 
00009 SLCD slcd; //define LCD display
00010 Serial pc(USBTX, USBRX);
00011 Ticker tick;
00012 
00013 volatile bool ticked;
00014 
00015 float tsidata;
00016 
00017 void LCDMess(char *lMess){
00018         slcd.Home();
00019         slcd.clear();
00020         slcd.printf(lMess);
00021 }
00022 
00023 void tickFunction( void ) {
00024     ticked = true;
00025 }
00026 
00027 int main(void) {
00028     ticked = false;
00029     tick.attach(&tickFunction, 0.10);
00030     char lcdData[LCDCHARLEN];
00031     PwmOut gled(LED_GREEN);
00032     PwmOut rled(LED_RED);
00033     pc.printf(PROGNAME);
00034     TSISensor tsi;
00035 
00036      while (1) {
00037         tsidata = tsi.readPercentage();
00038         if(ticked){
00039             if (tsidata > TSILIMIT){
00040                 gled = 0.0;
00041                 rled = 0.0;
00042             
00043             }else {
00044                 pc.printf("\n Position %f\n\r", tsidata);
00045                 sprintf (lcdData,"%0.4f",tsidata);  
00046                 LCDMess(lcdData);  
00047                 gled = tsidata;
00048                 rled = 1.0 - tsidata;
00049             
00050             }
00051             //wait(DATAINTERVAL);
00052             ticked = false;
00053         }
00054     }
00055 }