SSD541_HW5.1

Dependencies:   SLCD TSI mbed

Fork of kl46z_slider_v1 by Stanley Cohen

Committer:
eseifert
Date:
Wed Sep 14 14:29:22 2016 +0000
Revision:
1:c3cfa0fd8ad7
Parent:
0:04499bc54bee
Modified slider program for SSD541. Wait removed, replaced with WaitTimer.

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
eseifert 1:c3cfa0fd8ad7 6 #define DATAINTERVAL 0.01
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);
scohennm 0:04499bc54bee 11
scohennm 0:04499bc54bee 12 float tsidata;
scohennm 0:04499bc54bee 13
eseifert 1:c3cfa0fd8ad7 14 void LCDMess(char *lMess)
eseifert 1:c3cfa0fd8ad7 15 {
eseifert 1:c3cfa0fd8ad7 16 slcd.Home();
eseifert 1:c3cfa0fd8ad7 17 slcd.clear();
eseifert 1:c3cfa0fd8ad7 18 slcd.printf(lMess);
scohennm 0:04499bc54bee 19 }
scohennm 0:04499bc54bee 20
eseifert 1:c3cfa0fd8ad7 21 Timer WaitTimer;
eseifert 1:c3cfa0fd8ad7 22
eseifert 1:c3cfa0fd8ad7 23 int main(void)
eseifert 1:c3cfa0fd8ad7 24 {
scohennm 0:04499bc54bee 25 char lcdData[LCDCHARLEN];
scohennm 0:04499bc54bee 26 PwmOut gled(LED_GREEN);
scohennm 0:04499bc54bee 27 PwmOut rled(LED_RED);
scohennm 0:04499bc54bee 28 pc.printf(PROGNAME);
scohennm 0:04499bc54bee 29 TSISensor tsi;
eseifert 1:c3cfa0fd8ad7 30 WaitTimer.start();
eseifert 1:c3cfa0fd8ad7 31 WaitTimer.reset();
scohennm 0:04499bc54bee 32
eseifert 1:c3cfa0fd8ad7 33 while (true) {
eseifert 1:c3cfa0fd8ad7 34 WaitTimer.start();
scohennm 0:04499bc54bee 35 tsidata = tsi.readPercentage();
eseifert 1:c3cfa0fd8ad7 36 if (tsidata > TSILIMIT) {
scohennm 0:04499bc54bee 37 gled = 0.0;
scohennm 0:04499bc54bee 38 rled = 0.0;
eseifert 1:c3cfa0fd8ad7 39 } else {
eseifert 1:c3cfa0fd8ad7 40 if(WaitTimer > DATAINTERVAL){
eseifert 1:c3cfa0fd8ad7 41 pc.printf("\n Position %f\n\r", tsidata);
eseifert 1:c3cfa0fd8ad7 42 sprintf (lcdData,"%0.4f",tsidata);
eseifert 1:c3cfa0fd8ad7 43 LCDMess(lcdData);
eseifert 1:c3cfa0fd8ad7 44 gled = tsidata;
eseifert 1:c3cfa0fd8ad7 45 rled = 1.0 - tsidata;
eseifert 1:c3cfa0fd8ad7 46 WaitTimer.reset();
eseifert 1:c3cfa0fd8ad7 47 }
scohennm 0:04499bc54bee 48 }
scohennm 0:04499bc54bee 49 }
scohennm 0:04499bc54bee 50 }