main/automation.c

branch
idf 5.1
changeset 129
31f9d3e4a85f
parent 126
e133a292ad21
child 136
89fc3c57282e
equal deleted inserted replaced
128:64886971967b 129:31f9d3e4a85f
9 int RampPower = 100; ///< Boil ramp power 0..100% 9 int RampPower = 100; ///< Boil ramp power 0..100%
10 int LastMashStep = 0; ///< Last valid mash step 10 int LastMashStep = 0; ///< Last valid mash step
11 char temp_buf[64]; ///< Temporary buffer 11 char temp_buf[64]; ///< Temporary buffer
12 char logline[128]; ///< Log line buffer 12 char logline[128]; ///< Log line buffer
13 char strftime_buf[64]; ///< Time buffer 13 char strftime_buf[64]; ///< Time buffer
14 bool loop; ///< Loop flag 14 bool a_loop; ///< Loop flag
15 bool CoolBeep = false; ///< Did beep during cooling 15 bool CoolBeep = false; ///< Did beep during cooling
16 bool Resume = false; ///< Resume brew flag 16 bool Resume = false; ///< Resume brew flag
17 bool pumpRest = false; ///< Pump is resting 17 bool pumpRest = false; ///< Pump is resting
18 bool updateRuntime = false; ///< Update runtime record 18 bool updateRuntime = false; ///< Update runtime record
19 bool NewMinute = false; ///< We have a new minute 19 bool NewMinute = false; ///< We have a new minute
38 uint16_t Steady = 0; ///< Temperature is steady 38 uint16_t Steady = 0; ///< Temperature is steady
39 bool _NewMinute = false; ///< New minute slave flag 39 bool _NewMinute = false; ///< New minute slave flag
40 bool _UseHLT = false; ///< Use HLT slave flag 40 bool _UseHLT = false; ///< Use HLT slave flag
41 bool _Prompt = false; ///< Prompt display flag 41 bool _Prompt = false; ///< Prompt display flag
42 42
43 extern my_config_t config;
44 extern my_runtime_t runtime;
45 extern my_equipment_t equipment;
46 extern my_recipe_t recipe;
47
43 extern bool System_TimeOk; ///< System time is valid 48 extern bool System_TimeOk; ///< System time is valid
44 extern sButton Buttons[MAXBUTTONS]; ///< Buttons definitions 49 extern sButton Buttons[MAXBUTTONS]; ///< Buttons definitions
45 extern int Main_Screen; ///< Current screen 50 extern int Main_Screen; ///< Current screen
46 extern int Sub_Screen; ///< Sub screen during mash 51 extern int Sub_Screen; ///< Sub screen during mash
47 extern DS18B20_State *ds18b20_state; ///< DS18B20 state 52 extern DS18B20_State *ds18b20_state; ///< DS18B20 state
131 TopMessage((char *)"Brouwen hervatten?"); 136 TopMessage((char *)"Brouwen hervatten?");
132 Buttons_Add( 40, 100, 80, 40, (char *)"Ja", 0); 137 Buttons_Add( 40, 100, 80, 40, (char *)"Ja", 0);
133 Buttons_Add(200, 100, 80, 40, (char *)"Nee", 1); 138 Buttons_Add(200, 100, 80, 40, (char *)"Nee", 1);
134 Buttons_Show(); 139 Buttons_Show();
135 SoundPlay(SOUND_Prompt); 140 SoundPlay(SOUND_Prompt);
136 loop = true; 141 a_loop = true;
137 while (loop) { 142 while (a_loop) {
138 switch (Buttons_Scan()) { 143 switch (Buttons_Scan()) {
139 case 0: loop = false; 144 case 0: a_loop = false;
140 Resume = true; 145 Resume = true;
141 Main_Screen = runtime.StageResume; 146 Main_Screen = runtime.StageResume;
142 TimeLeft = runtime.StageTimeLeft; 147 TimeLeft = runtime.StageTimeLeft;
143 TimeBrewing = runtime.TimeBrewing; 148 TimeBrewing = runtime.TimeBrewing;
144 _UseHLT = runtime.UseHLT; 149 _UseHLT = runtime.UseHLT;
158 update_json(); 163 update_json();
159 log_annotation(ANNOTATION_SYSTEM, (char *)"Resume"); 164 log_annotation(ANNOTATION_SYSTEM, (char *)"Resume");
160 return true; 165 return true;
161 break; 166 break;
162 167
163 case 1: loop = false; 168 case 1: a_loop = false;
164 Resume = false; 169 Resume = false;
165 break; 170 break;
166 171
167 default: 172 default:
168 break; 173 break;
429 } 434 }
430 435
431 436
432 437
433 /* 438 /*
434 * Automation loop screens. Mostly non-blocking. 439 * Automation a_loop screens. Mostly non-blocking.
435 */ 440 */
436 bool Automation_Loop(void) 441 bool Automation_Loop(void)
437 { 442 {
438 static bool beeped = false; 443 static bool beeped = false;
439 char tmp[32], msg[256]; 444 char tmp[32], msg[256];
522 } 527 }
523 Buttons_Add( 0, 210, 70, 30, (char *)"Stop" , 0); 528 Buttons_Add( 0, 210, 70, 30, (char *)"Stop" , 0);
524 Buttons_Add(250, 210, 70, 30, (char *)"Start" , 1); 529 Buttons_Add(250, 210, 70, 30, (char *)"Start" , 1);
525 Buttons[0].dark = true; 530 Buttons[0].dark = true;
526 Buttons_Show(); 531 Buttons_Show();
527 loop = true; 532 a_loop = true;
528 while (loop) { 533 while (a_loop) {
529 switch (Buttons_Scan()) { 534 switch (Buttons_Scan()) {
530 case 0: loop = false; 535 case 0: a_loop = false;
531 Main_Screen = MAIN_AUTO_ABORT; 536 Main_Screen = MAIN_AUTO_ABORT;
532 break; 537 break;
533 538
534 case 1: loop = false; 539 case 1: a_loop = false;
535 Main_Screen = MAIN_AUTO_INIT2; 540 Main_Screen = MAIN_AUTO_INIT2;
536 log_msg(TAG, "Brew `%s' on `%s'", recipe.Name, equipment.Name); 541 log_msg(TAG, "Brew `%s' on `%s'", recipe.Name, equipment.Name);
537 break; 542 break;
538 543
539 default: break; 544 default: break;
551 Buttons_Clear(); 556 Buttons_Clear();
552 Buttons_Add( 40, 100, 80, 40, (char *)"Ja", 0); 557 Buttons_Add( 40, 100, 80, 40, (char *)"Ja", 0);
553 Buttons_Add(200, 100, 80, 40, (char *)"Nee", 1); 558 Buttons_Add(200, 100, 80, 40, (char *)"Nee", 1);
554 Buttons_Show(); 559 Buttons_Show();
555 SoundPlay(SOUND_Prompt); 560 SoundPlay(SOUND_Prompt);
556 loop = true; 561 a_loop = true;
557 while (loop) { 562 while (a_loop) {
558 switch (Buttons_Scan()) { 563 switch (Buttons_Scan()) {
559 case 0: loop = false; 564 case 0: a_loop = false;
560 break; 565 break;
561 566
562 case 1: loop = false; 567 case 1: a_loop = false;
563 Main_Screen = MAIN_AUTO_ABORT; 568 Main_Screen = MAIN_AUTO_ABORT;
564 break; 569 break;
565 570
566 default: break; 571 default: break;
567 } 572 }
571 break; 576 break;
572 577
573 if ((equipment.SSR2 == SSR2_HLT_SHARE) || (equipment.SSR2 == SSR2_HLT_IND)) { 578 if ((equipment.SSR2 == SSR2_HLT_SHARE) || (equipment.SSR2 == SSR2_HLT_IND)) {
574 TopMessage((char *)"Spoelwater aanwezig?"); 579 TopMessage((char *)"Spoelwater aanwezig?");
575 SoundPlay(SOUND_Prompt); 580 SoundPlay(SOUND_Prompt);
576 loop = true; 581 a_loop = true;
577 while (loop) { 582 while (a_loop) {
578 switch (Buttons_Scan()) { 583 switch (Buttons_Scan()) {
579 case 0: loop = false; 584 case 0: a_loop = false;
580 _UseHLT = true; 585 _UseHLT = true;
581 break; 586 break;
582 587
583 case 1: loop = false; 588 case 1: a_loop = false;
584 break; 589 break;
585 590
586 default: break; 591 default: break;
587 } 592 }
588 vTaskDelay(20 / portTICK_PERIOD_MS); 593 vTaskDelay(20 / portTICK_PERIOD_MS);

mercurial