Homework 5.1

Dependencies:   SLCD TSI mbed

Fork of kl46z_slider_v1 by Stanley Cohen

Committer:
kennylujan42
Date:
Wed Sep 14 03:55:50 2016 +0000
Revision:
1:c17caef3dfff
Parent:
0:04499bc54bee
Homework 5.1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
scohennm 0:04499bc54bee 1 #include "mbed.h"
scohennm 0:04499bc54bee 2 #include "TSISensor.h"
scohennm 0:04499bc54bee 3 #include "SLCD.h"
scohennm 0:04499bc54bee 4 #define TSILIMIT 0.99
scohennm 0:04499bc54bee 5 #define LCDCHARLEN 10
scohennm 0:04499bc54bee 6 #define DATAINTERVAL 0.1
scohennm 0:04499bc54bee 7 #define PROGNAME "kl46z_slider_test_v1\n\r"
scohennm 0:04499bc54bee 8
scohennm 0:04499bc54bee 9 SLCD slcd; //define LCD display
scohennm 0:04499bc54bee 10 Serial pc(USBTX, USBRX);
kennylujan42 1:c17caef3dfff 11 Ticker tick;
kennylujan42 1:c17caef3dfff 12
kennylujan42 1:c17caef3dfff 13 volatile bool ticked;
scohennm 0:04499bc54bee 14
scohennm 0:04499bc54bee 15 float tsidata;
scohennm 0:04499bc54bee 16
scohennm 0:04499bc54bee 17 void LCDMess(char *lMess){
scohennm 0:04499bc54bee 18 slcd.Home();
scohennm 0:04499bc54bee 19 slcd.clear();
scohennm 0:04499bc54bee 20 slcd.printf(lMess);
scohennm 0:04499bc54bee 21 }
scohennm 0:04499bc54bee 22
kennylujan42 1:c17caef3dfff 23 void tickFunction( void ) {
kennylujan42 1:c17caef3dfff 24 ticked = true;
kennylujan42 1:c17caef3dfff 25 }
kennylujan42 1:c17caef3dfff 26
scohennm 0:04499bc54bee 27 int main(void) {
kennylujan42 1:c17caef3dfff 28 ticked = false;
kennylujan42 1:c17caef3dfff 29 tick.attach(&tickFunction, 0.10);
scohennm 0:04499bc54bee 30 char lcdData[LCDCHARLEN];
scohennm 0:04499bc54bee 31 PwmOut gled(LED_GREEN);
scohennm 0:04499bc54bee 32 PwmOut rled(LED_RED);
scohennm 0:04499bc54bee 33 pc.printf(PROGNAME);
scohennm 0:04499bc54bee 34 TSISensor tsi;
scohennm 0:04499bc54bee 35
kennylujan42 1:c17caef3dfff 36 while (1) {
scohennm 0:04499bc54bee 37 tsidata = tsi.readPercentage();
kennylujan42 1:c17caef3dfff 38 if(ticked){
kennylujan42 1:c17caef3dfff 39 if (tsidata > TSILIMIT){
kennylujan42 1:c17caef3dfff 40 gled = 0.0;
kennylujan42 1:c17caef3dfff 41 rled = 0.0;
kennylujan42 1:c17caef3dfff 42
kennylujan42 1:c17caef3dfff 43 }else {
kennylujan42 1:c17caef3dfff 44 pc.printf("\n Position %f\n\r", tsidata);
kennylujan42 1:c17caef3dfff 45 sprintf (lcdData,"%0.4f",tsidata);
kennylujan42 1:c17caef3dfff 46 LCDMess(lcdData);
kennylujan42 1:c17caef3dfff 47 gled = tsidata;
kennylujan42 1:c17caef3dfff 48 rled = 1.0 - tsidata;
kennylujan42 1:c17caef3dfff 49
kennylujan42 1:c17caef3dfff 50 }
kennylujan42 1:c17caef3dfff 51 //wait(DATAINTERVAL);
kennylujan42 1:c17caef3dfff 52 ticked = false;
scohennm 0:04499bc54bee 53 }
scohennm 0:04499bc54bee 54 }
scohennm 0:04499bc54bee 55 }