o: ActiveSupport::Cache::Entry :@compressedF: @value"ãR"ÝR
main.c
30 30
#use fast_io(H)
31 31
#use fast_io(G)
32 32

  
33
#define  T_REVERS      2     // 2*256 ms = 0,5 s; pred prepnutim rele (zastaveni motoru a vybiti kondenzatoru)
34
#define  T_START       1     // 1*256 ms = 0,3 s; po prepnuti rele do sepnuti triaku
35
#define  T_GO          117   // 117*256 ms = 30 s; max. beh rolety
36
#define  T_GO_ZALUZIE  6     // cca 1,5 s; beh zaluzie (pouze na preklopeni lamel)
37
#define  T_RECEIVE     10    // cca 2,6 s
38
#define  ZAKMIT        2000  // pocet pruchodu hlavni smyckou pred opetovnou detekci prepnuti vypinace
33
#define  T_REVERS      2        // 2*256 ms = 0,5 s; pred prepnutim rele (zastaveni motoru a vybiti kondenzatoru)
34
#define  T_START       1        // 1*256 ms = 0,3 s; po prepnuti rele do sepnuti triaku
35
#define  T_GO          117      // 117*256 ms = 30 s; max. beh rolety
36
#define  T_GO_ZALUZIE  2500/256 // cca 2 s; beh zaluzie (pouze na preklopeni lamel)
37
#define  T_RECEIVE     10       // cca 2,6 s
38
#define  TIMEOUT_SPAJZ 255      // Timeout svetlo spajz cca minuta
39
#define  ZAKMIT        2000     // pocet pruchodu hlavni smyckou pred opetovnou detekci prepnuti vypinace
39 40

  
40
#define OR106Z PIN_A0  // t1 Roleta trucovna zapad
41
//!!! STUDENAK na triaku spolecny vyvod !!! #define O PIN_A0  // t1 
41 42
#define OR110N PIN_A1  // t2 Zaluzie koupelna dole sever
42 43
#define OR104V PIN_A2  // t3 Roleta lab vychod
43 44
#define OR104J PIN_A3  // t4 Roleta lab jih
......
48 49

  
49 50
#define OR208V PIN_F0   // t1 Roleta Zizala vychod
50 51
#define OR208J PIN_F1   // t2 Roleta Zizala jih
51
//???  #define OR107 PIN_F2   // t3 
52
//???  #define OR107 PIN_F3   // t4 
52
//???  #define OR107 PIN_F2   // t3 Roleta satna
53
#define OR106J PIN_F3   // t4 Roleta trucovna jih
53 54
#define OR201Z PIN_F4   // t5 Roleta chodba nahore
54 55
#define OR205N PIN_F5   // t6 Roleta puda
55 56
//??? #define OR105 PIN_F6   // t7 Roleta kuchyn
56
//#define O... PIN_F7   // t8
57
#define OR106Z PIN_F7   // t8 Roleta trucovna zapad
57 58

  
58 59

  
59 60
#define OS103J  PIN_B0  // t1 Svetla loznice
......
83 84

  
84 85
//#define O....  PIN_G0  // t8 
85 86
//#define O....  PIN_G1  // t7 
86
//#define O....  PIN_G2  // t6 
87
#define OS108A  PIN_G2  // t6 Svetlo spajz
87 88
#define OS208A  PIN_G3  // t5 Svetlo Zizala stred
88 89
#define OS100A  PIN_G4  // t4 Svetlo prujezd venku
89 90

  
......
103 104
#define IS204AJ   input(PIN_J4)  // E Vypinac svetlo radiomistnost u dveri na chodbu
104 105
#define IR204ZD   input(PIN_J5)  // F Vypinac roleta radiomistnost dolu
105 106
#define IR204ZU   input(PIN_J6)  // G Vypinac roleta radiomistnost nahoru
106
//#define I....   input(PIN_J7)  // H 
107
#define IS108A    input(PIN_J7)  // H Mikrospinac spajz
107 108

  
108 109
#define IS208AN   input(PIN_H0)  // A Vypinac svetlo stred Zizala u dveri na chodbu //POZOR! Jsou prohozeny rolety J a V a smery U a D
109 110
#define IR208JD   input(PIN_H1)  // B Vypinac roleta vychod Zizala nahoru u dveri
......
155 156
#define R204Z  6
156 157
#define R208V  7
157 158
#define R208J  8
159
#define R106J  9
160
#define R106Z  10
158 161

  
159 162
typedef enum {UP, DOWN, REVERS_UP, REVERS_DOWN, RUN_UP, RUN_DOWN, RUN_UP_WAITING} relay_state;
160 163
relay_state relay;   // Stavy rele 
......
164 167
int8 timer_revers;      // Prodleva na vybiti kondenzatoru pa zastaveni rolety pred prepnutim rele
165 168
int8 timer_start;       // Prodleva na prepnuti rele pred startem rolety
166 169
int8 timer;             // Casovac komunikace
170
int8 tS108;             // Casovac svetlo spajz
167 171

  
168 172
#int_TIMER0
169 173
void  TIMER0_isr(void) 
170 174
{
171 175
   if(timer>0) timer--;
176
   if(tS108>0) tS108--;
172 177
   if(timer_run>0) timer_run--;
173 178
   if(timer_revers>0) timer_revers--;
174 179
   if(timer_start>0) timer_start--;
......
196 201
   if (rol[R204Z]==RUN) ON(OR204Z);
197 202
   if (rol[R208V]==RUN) ON(OR208V);
198 203
   if (rol[R208J]==RUN) ON(OR208J);
204
   if (rol[R106J]==RUN) ON(OR106J);
205
   if (rol[R106Z]==RUN) ON(OR106Z);
199 206
}
200 207

  
201 208
void run(int8 roleta)      // Spust konkretni roletu
......
211 218
      case R204Z: ON(OR204Z); break;
212 219
      case R208V: ON(OR208V); break;
213 220
      case R208J: ON(OR208J); break;
221
      case R106J: ON(OR106J); break;
222
      case R106Z: ON(OR106Z); break;
214 223
   }
215 224
}
216 225

  
......
227 236
      case R204Z: OFF(OR204Z); break;
228 237
      case R208V: OFF(OR208V); break;
229 238
      case R208J: OFF(OR208J); break;
239
      case R106J: OFF(OR106J); break;
240
      case R106Z: OFF(OR106Z); break;
230 241
   }
231 242
}
232 243

  
......
444 455
                           if(buf[3]=='V') if((buf[4]=='U')) {up(R104V);} else {down(R104V);}
445 456
                           if(buf[3]=='J') if((buf[4]=='U')) {up(R104J);} else {down(R104J);}
446 457
                           break;
458
                        case '6':
459
                           if(buf[3]=='J') if((buf[4]=='U')) {up(R106J);} else {down(R106J);}
460
                           if(buf[3]=='Z') if((buf[4]=='U')) {up(R106Z);} else {down(R106Z);}
461
                           break;
447 462
                        case 'a':
448 463
                           if((buf[4]=='U')) 
449 464
                           {//up(R110N);                        
......
515 530
      }
516 531
      else zakmity--;
517 532
      
533
      // Spajz mikrospinac i svetlo
534
      if(IS108A) {output_high(OS108A); tS108=TIMEOUT_SPAJZ;}
535
      if((!IS108A)&&(tS108>0)) {output_low(OS108A);} else {output_high(OS108A);}
536
      
518 537
      switch (relay)
519 538
      {
520 539
         case UP:
:@created_atf1420867852.315836�:@expires_in0