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@5:5c8e97742751, 2014-05-28 (annotated)
- Committer:
- alpov
- Date:
- Wed May 28 13:58:06 2014 +0000
- Revision:
- 5:5c8e97742751
- Parent:
- 4:9065e9ccb078
SD card access, logging, configuration files
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
alpov | 3:ede67e9b60eb | 1 | #include "mbed.h" |
alpov | 5:5c8e97742751 | 2 | #include "mbed_debug.h" |
alpov | 3:ede67e9b60eb | 3 | #include "rtos.h" |
alpov | 3:ede67e9b60eb | 4 | #include "sensor.h" |
alpov | 3:ede67e9b60eb | 5 | #include "comm.h" |
alpov | 5:5c8e97742751 | 6 | #include "sd.h" |
alpov | 3:ede67e9b60eb | 7 | |
alpov | 3:ede67e9b60eb | 8 | DigitalOut ledR(LED_RED, 1); |
alpov | 3:ede67e9b60eb | 9 | DigitalOut ledG(LED_GREEN, 1); |
alpov | 3:ede67e9b60eb | 10 | //DigitalOut ledB(LED_BLUE, 1); |
alpov | 3:ede67e9b60eb | 11 | |
alpov | 3:ede67e9b60eb | 12 | DigitalOut OUT1(D2, 0); |
alpov | 3:ede67e9b60eb | 13 | DigitalOut OUT2(D3, 0); |
alpov | 3:ede67e9b60eb | 14 | DigitalOut OUT3(D4, 0); |
alpov | 3:ede67e9b60eb | 15 | DigitalOut OUT4(D5, 0); |
alpov | 3:ede67e9b60eb | 16 | |
alpov | 3:ede67e9b60eb | 17 | DigitalIn IN1(D8, PullUp); |
alpov | 3:ede67e9b60eb | 18 | DigitalIn IN2(D9, PullUp); |
alpov | 3:ede67e9b60eb | 19 | |
alpov | 3:ede67e9b60eb | 20 | extern "C" void HardFault_Handler() |
alpov | 3:ede67e9b60eb | 21 | { |
alpov | 3:ede67e9b60eb | 22 | mbed_die(); |
alpov | 3:ede67e9b60eb | 23 | } |
alpov | 3:ede67e9b60eb | 24 | |
alpov | 3:ede67e9b60eb | 25 | int main(void) |
alpov | 3:ede67e9b60eb | 26 | { |
alpov | 5:5c8e97742751 | 27 | debug("\n\n\nEMIRv2 compiled " __DATE__ " " __TIME__ "\n"); |
alpov | 4:9065e9ccb078 | 28 | |
alpov | 5:5c8e97742751 | 29 | debug("Initializing SD... "); |
alpov | 5:5c8e97742751 | 30 | sd_init(); |
alpov | 5:5c8e97742751 | 31 | |
alpov | 5:5c8e97742751 | 32 | debug("Starting threads... "); |
alpov | 3:ede67e9b60eb | 33 | Thread sensor(sensor_thread, NULL, osPriorityNormal, DEFAULT_STACK_SIZE); |
alpov | 3:ede67e9b60eb | 34 | Thread comm(comm_thread, NULL, osPriorityNormal, DEFAULT_STACK_SIZE); |
alpov | 5:5c8e97742751 | 35 | debug("done\n"); |
alpov | 3:ede67e9b60eb | 36 | |
alpov | 3:ede67e9b60eb | 37 | OUT1 = 1; |
alpov | 3:ede67e9b60eb | 38 | OUT2 = 1; |
alpov | 3:ede67e9b60eb | 39 | OUT3 = 1; |
alpov | 3:ede67e9b60eb | 40 | OUT4 = 1; |
alpov | 5:5c8e97742751 | 41 | wait(0.5); |
alpov | 3:ede67e9b60eb | 42 | OUT1 = 0; |
alpov | 3:ede67e9b60eb | 43 | OUT2 = 0; |
alpov | 3:ede67e9b60eb | 44 | OUT3 = 0; |
alpov | 3:ede67e9b60eb | 45 | OUT4 = 0; |
alpov | 3:ede67e9b60eb | 46 | |
alpov | 5:5c8e97742751 | 47 | int i = 0; |
alpov | 3:ede67e9b60eb | 48 | while (1) |
alpov | 3:ede67e9b60eb | 49 | { |
alpov | 3:ede67e9b60eb | 50 | ledG = !ledG; |
alpov | 5:5c8e97742751 | 51 | Thread::wait(100); |
alpov | 5:5c8e97742751 | 52 | |
alpov | 5:5c8e97742751 | 53 | if (i++ >= 100) { |
alpov | 5:5c8e97742751 | 54 | write_config(); |
alpov | 5:5c8e97742751 | 55 | i = 0; |
alpov | 5:5c8e97742751 | 56 | } |
alpov | 3:ede67e9b60eb | 57 | } |
alpov | 3:ede67e9b60eb | 58 | |
alpov | 3:ede67e9b60eb | 59 | } |
alpov | 3:ede67e9b60eb | 60 |