84 break; |
84 break; |
85 default: syslog(LOG_NOTICE, "die() on signal %d", onsig); |
85 default: syslog(LOG_NOTICE, "die() on signal %d", onsig); |
86 } |
86 } |
87 |
87 |
88 my_shutdown = TRUE; |
88 my_shutdown = TRUE; |
|
89 } |
|
90 |
|
91 |
|
92 |
|
93 void go_menu(int menu) |
|
94 { |
|
95 mb_lcdClear(lcdHandle); |
|
96 lcdPosition(lcdHandle, 0, 0); |
|
97 setupmenu = menu; |
|
98 |
|
99 switch (menu) { |
|
100 case MENU_NONE: lcd_buf_show(); |
|
101 break; |
|
102 |
|
103 case MENU_TOP_DEFAULT: mb_lcdPuts(lcdHandle, "Setup mode."); |
|
104 lcdPosition(lcdHandle, 0, 1); |
|
105 mb_lcdPuts(lcdHandle, "Up&Down = Escape"); |
|
106 break; |
|
107 |
|
108 case MENU_TOP_UNITS: mb_lcdPuts(lcdHandle, "Select units"); |
|
109 break; |
|
110 |
|
111 case MENU_UNITS: mb_lcdPuts(lcdHandle, "Choose unit:"); |
|
112 break; |
|
113 |
|
114 case MENU_MODE_OFF: mb_lcdPuts(lcdHandle, "Set unit OFF"); |
|
115 break; |
|
116 |
|
117 case MENU_MODE_NONE: mb_lcdPuts(lcdHandle, "Set unit NONE"); |
|
118 break; |
|
119 |
|
120 case MENU_NONE_HEAT: mb_lcdPuts(lcdHandle, "Switch heater"); |
|
121 break; |
|
122 |
|
123 case MENU_NONE_COOL: mb_lcdPuts(lcdHandle, "Switch cooler"); |
|
124 break; |
|
125 |
|
126 case MENU_NONE_FAN: mb_lcdPuts(lcdHandle, "Switch Fan"); |
|
127 break; |
|
128 |
|
129 case MENU_MODE_BEER: mb_lcdPuts(lcdHandle, "Set unit BEER"); |
|
130 break; |
|
131 |
|
132 case MENU_BEER_TEMP: mb_lcdPuts(lcdHandle, "Set beer temp"); |
|
133 break; |
|
134 |
|
135 case MENU_MODE_FRIDGE: mb_lcdPuts(lcdHandle, "Set unit FRIDGE"); |
|
136 break; |
|
137 |
|
138 case MENU_FRIDGE_TEMP: mb_lcdPuts(lcdHandle, "Set fridge temp"); |
|
139 break; |
|
140 |
|
141 case MENU_MODE_PROFILE: mb_lcdPuts(lcdHandle, "Set unit PROFILE"); |
|
142 break; |
|
143 |
|
144 case MENU_PROFILE_SELECT: mb_lcdPuts(lcdHandle, "Select profile"); |
|
145 break; |
|
146 |
|
147 case MENU_PROFILE_START: mb_lcdPuts(lcdHandle, "Start profile"); |
|
148 break; |
|
149 |
|
150 case MENU_PROFILE_PAUSE: mb_lcdPuts(lcdHandle, "Pause profile"); |
|
151 break; |
|
152 |
|
153 case MENU_PROFILE_ABORT: mb_lcdPuts(lcdHandle, "Abort profile"); |
|
154 break; |
|
155 |
|
156 case MENU_PROFILE_RESUME: mb_lcdPuts(lcdHandle, "Resume profile"); |
|
157 break; |
|
158 |
|
159 case MENU_PROFILE_GOOFF: mb_lcdPuts(lcdHandle, "Set profile OFF"); |
|
160 break; |
|
161 |
|
162 case MENU_TOP_SYS: mb_lcdPuts(lcdHandle, "System menu"); |
|
163 break; |
|
164 |
|
165 case MENU_SYS_HALT: mb_lcdPuts(lcdHandle, "Halt system"); |
|
166 break; |
|
167 |
|
168 case MENU_SYS_REBOOT: mb_lcdPuts(lcdHandle, "Reboot system"); |
|
169 break; |
|
170 |
|
171 case MENU_SYS_MASH: mb_lcdPuts(lcdHandle, "Start Mash program"); |
|
172 break; |
|
173 |
|
174 case MENU_SYS_THERMS: mb_lcdPuts(lcdHandle, "Start Thermometers"); |
|
175 break; |
|
176 } |
89 } |
177 } |
90 |
178 |
91 |
179 |
92 |
180 |
93 #ifdef HAVE_WIRINGPI_H |
181 #ifdef HAVE_WIRINGPI_H |
657 |
745 |
658 switch (setupmenu) { |
746 switch (setupmenu) { |
659 case MENU_NONE: |
747 case MENU_NONE: |
660 if ((key == KEY_DOWN) || (key == KEY_UP)) |
748 if ((key == KEY_DOWN) || (key == KEY_UP)) |
661 lcd_buf_step(key); |
749 lcd_buf_step(key); |
662 if ((key == KEY_CONFIRM) && (setupmenu == MENU_NONE)) { |
750 if ((key == KEY_CONFIRM) && (setupmenu == MENU_NONE)) |
663 setupmenu = MENU_TOP; |
751 go_menu(MENU_TOP_DEFAULT); |
664 mb_lcdClear(lcdHandle); |
752 break; |
665 lcdPosition(lcdHandle, 0, 0); |
753 |
666 mb_lcdPuts(lcdHandle, "Setup mode."); |
754 case MENU_TOP_DEFAULT: |
667 lcdPosition(lcdHandle, 0, 1); |
755 if (key == KEY_ESCAPE) |
668 mb_lcdPuts(lcdHandle, "Up&Down = Escape"); |
756 go_menu(MENU_NONE); |
669 } |
757 if (key == KEY_DOWN) |
670 break; |
758 go_menu(MENU_TOP_UNITS); |
671 |
759 if (key == KEY_UP) |
672 case MENU_TOP: |
760 go_menu(MENU_TOP_SYS); |
673 if (key == KEY_ESCAPE) { |
761 break; |
674 setupmenu = MENU_NONE; |
762 |
675 lcd_buf_show(); |
763 case MENU_TOP_UNITS: |
676 } |
764 if (key == KEY_ESCAPE) |
677 break; |
765 go_menu(MENU_NONE); |
|
766 if (key == KEY_DOWN) |
|
767 go_menu(MENU_TOP_SYS); |
|
768 if (key == KEY_UP) |
|
769 go_menu(MENU_TOP_DEFAULT); |
|
770 break; |
|
771 |
|
772 case MENU_TOP_SYS: |
|
773 if (key == KEY_ESCAPE) |
|
774 go_menu(MENU_NONE); |
|
775 if (key == KEY_DOWN) |
|
776 go_menu(MENU_TOP_DEFAULT); |
|
777 if (key == KEY_UP) |
|
778 go_menu(MENU_TOP_UNITS); |
|
779 if (key == KEY_ENTER) |
|
780 go_menu(MENU_SYS_HALT); |
|
781 break; |
|
782 |
|
783 case MENU_SYS_HALT: |
|
784 if (key == KEY_ESCAPE) |
|
785 go_menu(MENU_TOP_SYS); |
|
786 if (key == KEY_DOWN) |
|
787 go_menu(MENU_SYS_REBOOT); |
|
788 if (key == KEY_UP) |
|
789 go_menu(MENU_SYS_THERMS); |
|
790 break; |
|
791 |
|
792 case MENU_SYS_REBOOT: |
|
793 if (key == KEY_ESCAPE) |
|
794 go_menu(MENU_TOP_SYS); |
|
795 if (key == KEY_DOWN) |
|
796 go_menu(MENU_SYS_MASH); |
|
797 if (key == KEY_UP) |
|
798 go_menu(MENU_SYS_HALT); |
|
799 break; |
|
800 |
|
801 case MENU_SYS_MASH: |
|
802 if (key == KEY_ESCAPE) |
|
803 go_menu(MENU_TOP_SYS); |
|
804 if (key == KEY_DOWN) |
|
805 go_menu(MENU_SYS_THERMS); |
|
806 if (key == KEY_UP) |
|
807 go_menu(MENU_SYS_REBOOT); |
|
808 break; |
|
809 |
|
810 case MENU_SYS_THERMS: |
|
811 if (key == KEY_ESCAPE) |
|
812 go_menu(MENU_TOP_SYS); |
|
813 if (key == KEY_DOWN) |
|
814 go_menu(MENU_SYS_HALT); |
|
815 if (key == KEY_UP) |
|
816 go_menu(MENU_SYS_MASH); |
|
817 break; |
|
818 |
678 } |
819 } |
679 |
820 |
680 #endif |
821 #endif |
681 |
822 |
682 usleep(100000); |
823 usleep(100000); |