rough draft - doesn't work

Dependencies:   TextLCD mbed-rtos mbed

Committer:
jfields
Date:
Fri Oct 03 19:17:39 2014 +0000
Revision:
0:c204b3ecd227
Child:
1:38e744366b97
roughtdraft

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jfields 0:c204b3ecd227 1 #include "mbed.h"
jfields 0:c204b3ecd227 2 #include "rtos.h"
jfields 0:c204b3ecd227 3 #include "TextLCD.h"
jfields 0:c204b3ecd227 4
jfields 0:c204b3ecd227 5 TextLCD lcd(p15, p16, p17, p18, p19, p20, TextLCD::LCD16x2);
jfields 0:c204b3ecd227 6 Serial pc (USBTX, USBRX);
jfields 0:c204b3ecd227 7 DigitalOut myled(LED1);
jfields 0:c204b3ecd227 8
jfields 0:c204b3ecd227 9
jfields 0:c204b3ecd227 10 // global vars
jfields 0:c204b3ecd227 11 int mm [] = {0, 0};
jfields 0:c204b3ecd227 12 int ss [] = {0, 0};
jfields 0:c204b3ecd227 13 int MM [] = {0, 0};
jfields 0:c204b3ecd227 14
jfields 0:c204b3ecd227 15 // functions
jfields 0:c204b3ecd227 16 void update_display(void const *args);
jfields 0:c204b3ecd227 17 void update_mm(void const *args);
jfields 0:c204b3ecd227 18 void update_ss(void const *args);
jfields 0:c204b3ecd227 19 void update_MM(void const *args);
jfields 0:c204b3ecd227 20
jfields 0:c204b3ecd227 21 int main() {
jfields 0:c204b3ecd227 22
jfields 0:c204b3ecd227 23 Thread thread_display(update_display);
jfields 0:c204b3ecd227 24 //Thread thread_mm(update_mm);
jfields 0:c204b3ecd227 25 //RtosTimer thread_ss(update_ss);
jfields 0:c204b3ecd227 26 //RtosTimer thread_MM(update_MM);
jfields 0:c204b3ecd227 27
jfields 0:c204b3ecd227 28 while (true) {
jfields 0:c204b3ecd227 29
jfields 0:c204b3ecd227 30 }
jfields 0:c204b3ecd227 31 }
jfields 0:c204b3ecd227 32
jfields 0:c204b3ecd227 33 void update_display(void const *args) {
jfields 0:c204b3ecd227 34 while (1) {
jfields 0:c204b3ecd227 35 lcd.printf("%d%d:%d%d:%d%d\n\n", MM[1], MM[0],ss[1],ss[0],mm[1],mm[0]);
jfields 0:c204b3ecd227 36 Thread::wait(1000);
jfields 0:c204b3ecd227 37 }
jfields 0:c204b3ecd227 38 }
jfields 0:c204b3ecd227 39
jfields 0:c204b3ecd227 40 void update_mm(void const *args) {
jfields 0:c204b3ecd227 41 mm[0]++;
jfields 0:c204b3ecd227 42 if (mm[0] >= 10) {
jfields 0:c204b3ecd227 43 mm[0] = 0;
jfields 0:c204b3ecd227 44 mm[1]++;
jfields 0:c204b3ecd227 45 }
jfields 0:c204b3ecd227 46 if (mm[1] >= 10) {
jfields 0:c204b3ecd227 47 mm[0] = 0;
jfields 0:c204b3ecd227 48 mm[1] = 0;
jfields 0:c204b3ecd227 49 }
jfields 0:c204b3ecd227 50 wait(10);
jfields 0:c204b3ecd227 51 }
jfields 0:c204b3ecd227 52 /*
jfields 0:c204b3ecd227 53 void update_ss(void const *args) {
jfields 0:c204b3ecd227 54 ss[0]++;
jfields 0:c204b3ecd227 55 if (ss[0] >= 10) {
jfields 0:c204b3ecd227 56 ss[0] = 0;
jfields 0:c204b3ecd227 57 ss[1]++;
jfields 0:c204b3ecd227 58 }
jfields 0:c204b3ecd227 59 if (ss[1] >= 6) {
jfields 0:c204b3ecd227 60 ss[0] = 0;
jfields 0:c204b3ecd227 61 ss[1] = 0;
jfields 0:c204b3ecd227 62 }
jfields 0:c204b3ecd227 63 Thread::wait(100);
jfields 0:c204b3ecd227 64 }
jfields 0:c204b3ecd227 65
jfields 0:c204b3ecd227 66 void update_MM(void const *args) {
jfields 0:c204b3ecd227 67 MM[0]++;
jfields 0:c204b3ecd227 68 if (MM[0] >= 10) {
jfields 0:c204b3ecd227 69 MM[0] = 0;
jfields 0:c204b3ecd227 70 MM[1]++;
jfields 0:c204b3ecd227 71 }
jfields 0:c204b3ecd227 72 if (MM[1] >= 6) {
jfields 0:c204b3ecd227 73 MM[0] = 0;
jfields 0:c204b3ecd227 74 MM[1] = 0;
jfields 0:c204b3ecd227 75 }
jfields 0:c204b3ecd227 76 Thread::wait(60000);
jfields 0:c204b3ecd227 77 }
jfields 0:c204b3ecd227 78 */