843 ocrc = crc32(ocrc, (const Bytef *) recipe, sizeof(a_recipe)); |
843 ocrc = crc32(ocrc, (const Bytef *) recipe, sizeof(a_recipe)); |
844 |
844 |
845 for (;;) { |
845 for (;;) { |
846 |
846 |
847 prompt(0, NULL); |
847 prompt(0, NULL); |
848 prompt(191, NULL); |
848 prompt(191, NULL); /* " Edit recipe " */ |
849 |
849 |
850 if (idx == 1) |
850 if (idx == 1) |
851 prompt(402, NULL); |
851 prompt(402, NULL); /* "--- dwn quit ok " */ |
852 else if (idx == 21) |
852 else if (idx == 24) |
853 prompt(404, NULL); |
853 prompt(404, NULL); /* " up --- quit ok " */ |
854 else |
854 else |
855 prompt(403, NULL); |
855 prompt(403, NULL); /* " up dwn quit ok " */ |
856 |
856 |
857 switch (idx) { // 12345678901234567890 |
857 switch (idx) { // 12345678901234567890 |
858 case 1: snprintf(pmpt, Config.lcd_cols + 1, "Recipe name:"); |
858 case 1: snprintf(pmpt, Config.lcd_cols + 1, "Recipe name:"); |
859 prompt(200, pmpt); |
859 prompt(200, pmpt); |
860 snprintf(pmpt, Config.lcd_cols + 1, "%s", recipe->name); |
860 snprintf(pmpt, Config.lcd_cols + 1, "%s", recipe->name); |
865 snprintf(pmpt, Config.lcd_cols + 1, "%s", recipe->code); |
865 snprintf(pmpt, Config.lcd_cols + 1, "%s", recipe->code); |
866 prompt(300, pmpt); |
866 prompt(300, pmpt); |
867 break; |
867 break; |
868 case 3: snprintf(pmpt, Config.lcd_cols + 1, "Boil time: %3d mins", recipe->boiltime); |
868 case 3: snprintf(pmpt, Config.lcd_cols + 1, "Boil time: %3d mins", recipe->boiltime); |
869 prompt(200, pmpt); |
869 prompt(200, pmpt); |
|
870 break; |
|
871 case 4: |
|
872 case 5: |
|
873 case 6: |
|
874 case 7: |
|
875 case 8: |
|
876 case 9: |
|
877 case 10: |
|
878 case 11: snprintf(pmpt, Config.lcd_cols + 1, "Mash: %s", recipe->mash[idx - 4].name); |
|
879 prompt(200, pmpt); |
|
880 if (recipe->mash[idx - 4].skip) |
|
881 snprintf(pmpt, Config.lcd_cols + 1, "Skipped"); |
|
882 else |
|
883 snprintf(pmpt, Config.lcd_cols + 1, "Sv %4.1f\001 %3d mins", recipe->mash[idx - 4].setpoint, recipe->mash[idx - 4].duration); |
|
884 prompt(300, pmpt); |
|
885 break; |
|
886 case 12: |
|
887 case 13: |
|
888 case 14: |
|
889 case 15: |
|
890 case 16: |
|
891 case 17: |
|
892 case 18: |
|
893 case 19: |
|
894 case 20: |
|
895 case 21: snprintf(pmpt, Config.lcd_cols + 1, "Hop: %s", recipe->hops[idx - 12].name); |
|
896 prompt(200, pmpt); |
|
897 if (recipe->hops[idx - 12].name) { |
|
898 if (recipe->hops[idx - 12].boiltime == -1) |
|
899 snprintf(pmpt, Config.lcd_cols + 1, "First Wort Hop"); |
|
900 else |
|
901 snprintf(pmpt, Config.lcd_cols + 1, "Add at %3d mins", recipe->hops[idx - 12].boiltime); |
|
902 prompt(300, pmpt); |
|
903 } |
|
904 break; |
|
905 case 22: |
|
906 case 23: |
|
907 case 24: snprintf(pmpt, Config.lcd_cols + 1, "Hopstand: %s", recipe->hopstand[idx - 22].name); |
|
908 prompt(200, pmpt); |
|
909 if (recipe->hopstand[idx - 22].skip) |
|
910 snprintf(pmpt, Config.lcd_cols + 1, "Skipped"); |
|
911 else if (recipe->hopstand[idx - 22].hold) |
|
912 snprintf(pmpt, Config.lcd_cols + 1, "Hold at %4.1f %3d mins", recipe->hopstand[idx - 22].setpoint, recipe->hopstand[idx - 22].duration); |
|
913 else |
|
914 snprintf(pmpt, Config.lcd_cols + 1, "Hold for %3d mins", recipe->hopstand[idx - 22].duration); |
|
915 prompt(300, pmpt); |
870 break; |
916 break; |
871 } |
917 } |
872 |
918 |
873 key = keywait(); |
919 key = keywait(); |
874 if ((key == KEY_RETURN) || my_shutdown) { |
920 if ((key == KEY_RETURN) || my_shutdown) { |