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
src/main.cpp@3:ede67e9b60eb, 2014-05-06 (annotated)
- 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?
User | Revision | Line number | New 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 |