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; |
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); |