EMIR - Ekvitermní mikroprocesorová regulace https://code.google.com/p/emir/ https://code.google.com/p/emir/wiki/DesignV3

Dependencies:   ConfigFile DS1307 OneWire SDFileSystem USBDeviceLite mbed-rtos mbed

Committer:
alpov
Date:
Tue May 06 19:21:27 2014 +0000
Revision:
3:ede67e9b60eb
Child:
4:9065e9ccb078
working with RTOS, changed USBDevice library to lite version without malloc()

Who changed what in which revision?

UserRevisionLine numberNew contents of line
alpov 3:ede67e9b60eb 1 #include "mbed.h"
alpov 3:ede67e9b60eb 2 #include "rtos.h"
alpov 3:ede67e9b60eb 3 #include "SDFileSystem.h"
alpov 3:ede67e9b60eb 4 #include "sensor.h"
alpov 3:ede67e9b60eb 5 #include "comm.h"
alpov 3:ede67e9b60eb 6
alpov 3:ede67e9b60eb 7 Serial pc(MBED_UARTUSB);
alpov 3:ede67e9b60eb 8
alpov 3:ede67e9b60eb 9 SDFileSystem sd(MBED_SPI0, "sd");
alpov 3:ede67e9b60eb 10
alpov 3:ede67e9b60eb 11 DigitalOut ledR(LED_RED, 1);
alpov 3:ede67e9b60eb 12 DigitalOut ledG(LED_GREEN, 1);
alpov 3:ede67e9b60eb 13 //DigitalOut ledB(LED_BLUE, 1);
alpov 3:ede67e9b60eb 14
alpov 3:ede67e9b60eb 15 DigitalOut OUT1(D2, 0);
alpov 3:ede67e9b60eb 16 DigitalOut OUT2(D3, 0);
alpov 3:ede67e9b60eb 17 DigitalOut OUT3(D4, 0);
alpov 3:ede67e9b60eb 18 DigitalOut OUT4(D5, 0);
alpov 3:ede67e9b60eb 19
alpov 3:ede67e9b60eb 20 DigitalIn IN1(D8, PullUp);
alpov 3:ede67e9b60eb 21 DigitalIn IN2(D9, PullUp);
alpov 3:ede67e9b60eb 22
alpov 3:ede67e9b60eb 23 extern "C" void HardFault_Handler()
alpov 3:ede67e9b60eb 24 {
alpov 3:ede67e9b60eb 25 mbed_die();
alpov 3:ede67e9b60eb 26 }
alpov 3:ede67e9b60eb 27
alpov 3:ede67e9b60eb 28 int main(void)
alpov 3:ede67e9b60eb 29 {
alpov 3:ede67e9b60eb 30 pc.printf("Starting threads... ");
alpov 3:ede67e9b60eb 31 Thread sensor(sensor_thread, NULL, osPriorityNormal, DEFAULT_STACK_SIZE);
alpov 3:ede67e9b60eb 32 Thread comm(comm_thread, NULL, osPriorityNormal, DEFAULT_STACK_SIZE);
alpov 3:ede67e9b60eb 33 pc.printf("done\n");
alpov 3:ede67e9b60eb 34
alpov 3:ede67e9b60eb 35 FILE *fp = fopen("/sd/sdtest2.txt", "w");
alpov 3:ede67e9b60eb 36 if (fp == NULL) {
alpov 3:ede67e9b60eb 37 pc.printf("Could not open file for write\n");
alpov 3:ede67e9b60eb 38 } else {
alpov 3:ede67e9b60eb 39 pc.printf("Writing... ");
alpov 3:ede67e9b60eb 40 fprintf(fp, "Hello fun SD Card World!\nOK!\n");
alpov 3:ede67e9b60eb 41 pc.printf("closing... ");
alpov 3:ede67e9b60eb 42 fclose(fp);
alpov 3:ede67e9b60eb 43 }
alpov 3:ede67e9b60eb 44 pc.printf("done\n");
alpov 3:ede67e9b60eb 45
alpov 3:ede67e9b60eb 46 OUT1 = 1;
alpov 3:ede67e9b60eb 47 OUT2 = 1;
alpov 3:ede67e9b60eb 48 OUT3 = 1;
alpov 3:ede67e9b60eb 49 OUT4 = 1;
alpov 3:ede67e9b60eb 50 wait(1.0);
alpov 3:ede67e9b60eb 51 OUT1 = 0;
alpov 3:ede67e9b60eb 52 OUT2 = 0;
alpov 3:ede67e9b60eb 53 OUT3 = 0;
alpov 3:ede67e9b60eb 54 OUT4 = 0;
alpov 3:ede67e9b60eb 55
alpov 3:ede67e9b60eb 56 while (1)
alpov 3:ede67e9b60eb 57 {
alpov 3:ede67e9b60eb 58 ledG = !ledG;
alpov 3:ede67e9b60eb 59 Thread::wait(200);
alpov 3:ede67e9b60eb 60 }
alpov 3:ede67e9b60eb 61
alpov 3:ede67e9b60eb 62 }
alpov 3:ede67e9b60eb 63