Rev 1281 Rev 1282
Line 1... Line 1...
1 /**** IR Mrakomer 4 ****/ 1 /**** IR Mrakomer 4 ****/
2 #define VERSION "4.0" 2 #define VERSION "4.0"
3 #define ID "$Id: irmrak4.c 1281 2009-01-07 12:31:20Z kakl $" 3 #define ID "$Id: irmrak4.c 1282 2009-01-07 13:07:23Z kakl $"
4 #include "irmrak4.h" 4 #include "irmrak4.h"
5   5  
6 #define MAXHEAT 20 // Number of cycles for heating 6 #define MAXHEAT 20 // Number of cycles for heating
7 #define MAXOPEN 20 // Number of cycles for dome open 7 #define MAXOPEN 20 // Number of cycles for dome open
8 #define MEASURE_DELAY 10000 // Delay to a next measurement 8 #define MEASURE_DELAY 10000 // Delay to a next measurement
Line 94... Line 94...
94   94  
95 delay_ms(1000); 95 delay_ms(1000);
96 restart_wdt(); 96 restart_wdt();
97 printf("\n\r* Mrakomer %s (C) 2007 KAKL *\n\r",VER); // Welcome message 97 printf("\n\r* Mrakomer %s (C) 2007 KAKL *\n\r",VER); // Welcome message
98 printf("* %s *\n\r",REV); 98 printf("* %s *\n\r",REV);
99 printf("<#sequence> <ambient [1/100 °C]> <sky [1/100 °C]> "); 99 printf("<#sequence> <ambient [1/100 C]> <sky [1/100 C]> ");
100 printf("<heating [s]> <dome [s]>\n\r\n\r"); 100 printf("<heating [s]> <dome [s]>\n\r\n\r");
101 tempa=ReadTemp(SA, RAM_Tamb); // Dummy read 101 tempa=ReadTemp(SA, RAM_Tamb); // Dummy read
102 temp=ReadTemp(SA, RAM_Tobj1); 102 temp=ReadTemp(SA, RAM_Tobj1);
103   103  
104 seq=0; 104 seq=0;
Line 178... Line 178...
178   178  
179 ta=tempa*2-27315; // °K -> °C 179 ta=tempa*2-27315; // °K -> °C
180 to=temp*2-27315; 180 to=temp*2-27315;
181   181  
182 { // printf 182 { // printf
183 char output[30]; // Output buffer 183 char output[10]; // Output buffer
184 int8 j; // Counter 184 int8 j; // Counter
185   185  
-   186 delay(SEND_DELAY);
186 sprintf(output,"#%Lu %Ld %Ld %u %u\n\r\0", seq, ta, to, heat, open); 187 sprintf(output,"#%Lu ", seq);
187   -  
-   188 j=0; while(output[j]!=0) { delay(SEND_DELAY); putc(output[j++]); }
188 j=0; 189 sprintf(output,"%Ld ", ta);
189 while(output[j]!=0) 190 j=0; while(output[j]!=0) { delay(SEND_DELAY); putc(output[j++]); }
190 { 191 sprintf(output,"%Ld ", to);
191 delay(SEND_DELAY); 192 j=0; while(output[j]!=0) { delay(SEND_DELAY); putc(output[j++]); }
192 putc(output[j++]); 193 sprintf(output,"%u", heat);
-   194 j=0; while(output[j]!=0) { delay(SEND_DELAY); putc(output[j++]); }
193 } 195 sprintf(output,"%u\n\r\0", open);
-   196 j=0; while(output[j]!=0) { delay(SEND_DELAY); putc(output[j++]); }
194 } 197 }
195   198  
196 delay(MEASURE_DELAY); // Delay to a next measurement 199 delay(MEASURE_DELAY); // Delay to a next measurement
197 //---WDT 200 //---WDT
198 restart_wdt(); 201 restart_wdt();