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
main.cpp
00001 #include "mbed.h" 00002 #include "mbed_debug.h" 00003 #include "rtos.h" 00004 #include "sensor.h" 00005 #include "comm.h" 00006 #include "sd.h" 00007 00008 DigitalOut ledR(LED_RED, 1); 00009 DigitalOut ledG(LED_GREEN, 1); 00010 //DigitalOut ledB(LED_BLUE, 1); 00011 00012 DigitalOut OUT1(D2, 0); 00013 DigitalOut OUT2(D3, 0); 00014 DigitalOut OUT3(D4, 0); 00015 DigitalOut OUT4(D5, 0); 00016 00017 DigitalIn IN1(D8, PullUp); 00018 DigitalIn IN2(D9, PullUp); 00019 00020 extern "C" void HardFault_Handler() 00021 { 00022 mbed_die(); 00023 } 00024 00025 int main(void) 00026 { 00027 debug("\n\n\nEMIRv2 compiled " __DATE__ " " __TIME__ "\n"); 00028 00029 debug("Initializing SD... "); 00030 sd_init(); 00031 00032 debug("Starting threads... "); 00033 Thread sensor(sensor_thread, NULL, osPriorityNormal, DEFAULT_STACK_SIZE); 00034 Thread comm(comm_thread, NULL, osPriorityNormal, DEFAULT_STACK_SIZE); 00035 debug("done\n"); 00036 00037 OUT1 = 1; 00038 OUT2 = 1; 00039 OUT3 = 1; 00040 OUT4 = 1; 00041 wait(0.5); 00042 OUT1 = 0; 00043 OUT2 = 0; 00044 OUT3 = 0; 00045 OUT4 = 0; 00046 00047 int i = 0; 00048 while (1) 00049 { 00050 ledG = !ledG; 00051 Thread::wait(100); 00052 00053 if (i++ >= 100) { 00054 write_config(); 00055 i = 0; 00056 } 00057 } 00058 00059 } 00060
Generated on Thu Jul 14 2022 02:06:10 by 1.7.2