CustomDataStructures.h 2.32 KB
Newer Older
1 2 3 4 5 6
/*
  CustomDataStructures.h - Data structures helper for the brew project.
  Created by João Lino, August 11, 2015.
  Released into the public domain.
*/
#ifndef CustomDataStructures_h
João Lino's avatar
Rel.3  
João Lino committed
7
#define CustomDataStructures_h
8 9 10 11 12 13 14 15 16

enum eRotaryEncoderMode {
	eRotaryEncoderMode_Menu,
	eRotaryEncoderMode_Time,
	eRotaryEncoderMode_Generic,
	eRotaryEncoderMode_Disabled
};

// menu
João Lino's avatar
Rel.3  
João Lino committed
17 18
enum eMenuType {
	eMenuType_Main,
João Lino's avatar
João Lino committed
19
  eMenuType_StartFromStage,
João Lino's avatar
Rel.3  
João Lino committed
20 21 22 23 24
	eMenuType_BeerProfile,
	eMenuType_Stage,
	eMenuType_Malt,
	eMenuType_Settings
};
25
enum eMainMenuOptions {
João Lino's avatar
Rel.3  
João Lino committed
26
	eMainMenu_NULL,
João Lino's avatar
João Lino committed
27
  eMainMenu_GO,
João Lino's avatar
João Lino committed
28
  eMainMenu_GO_FROM_STAGE,
João Lino's avatar
Rel.3  
João Lino committed
29 30 31 32
	eMainMenu_STOP,
	eMainMenu_SKIP,
	eMainMenu_BeerProfile,
	eMainMenu_Stage,
33 34
	eMainMenu_Malt,
	eMainMenu_Hops,
João Lino's avatar
Rel.3  
João Lino committed
35 36
	eMainMenu_Clean,
	eMainMenu_Purge,
37 38 39 40
	eMainMenu_Settings,
	eMainMenu_Back
};

João Lino's avatar
Rel.3  
João Lino committed
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
enum eStageMenuOptions {
	eStageMenu_NULL,
	eStageMenu_Startpoint,
	eStageMenu_BetaGlucanase,
	eStageMenu_Debranching,
	eStageMenu_Proteolytic,
	eStageMenu_BetaAmylase,
	eStageMenu_AlphaAmylase,
	eStageMenu_Mashout,
	eStageMenu_Recirculation,
	eStageMenu_Sparge,
	eStageMenu_Boil,
	eStageMenu_Cooling,
	eStageMenu_Back
};

enum eBeerProfileMenuOptions {
João Lino's avatar
João Lino committed
58 59 60 61 62 63 64 65 66
  eBeerProfileMenu_NULL,
  eBeerProfileMenu_Basic,
  eBeerProfileMenu_Trigo,
  eBeerProfileMenu_IPA,
  eBeerProfileMenu_Belga,
  eBeerProfileMenu_Red,
  eBeerProfileMenu_APA,
  eBeerProfileMenu_Custom,
  eBeerProfileMenu_Back
67 68 69
};

enum eMaltMenuOptions {
João Lino's avatar
Rel.3  
João Lino committed
70
	eMaltMenu_NULL,
71 72 73 74 75 76
	eMaltMenu_CastleMalting_Chteau_Pilsen_2RS,
	eMaltMenu_CastleMalting_Wheat_Blanc,
	eMaltMenu_Back
};

enum eSettingsMenuOptions {
João Lino's avatar
Rel.3  
João Lino committed
77
	eSettingsMenu_NULL,
João Lino's avatar
João Lino committed
78
	eSettingsMenu_Pump,
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
	eSettingsMenu_PT100_Element,
	eSettingsMenu_PT100_Up,
	eSettingsMenu_PT100_Down,
	eSettingsMenu_Back
};

// cooking
enum eCookingStages {
	eCookingStage_Startpoint,
	eCookingStage_BetaGlucanase,
	eCookingStage_Debranching,
	eCookingStage_Proteolytic,
	eCookingStage_BetaAmylase,
	eCookingStage_AlphaAmylase,
	eCookingStage_Mashout,
	eCookingStage_Recirculation,
	eCookingStage_Sparge,
	eCookingStage_Boil,
	eCookingStage_Cooling,
João Lino's avatar
Rel.3  
João Lino committed
98 99
	eCookingStage_Clean,
	eCookingStage_Purge,
100 101 102
	eCookingStage_Done
};

João Lino's avatar
Rel.3  
João Lino committed
103 104 105 106 107 108 109 110 111 112
enum eBeerProfile {
	eBeerProfile_Basic,
	eBeerProfile_Trigo,
	eBeerProfile_IPA,
	eBeerProfile_Belga,
	eBeerProfile_Red,
	eBeerProfile_APA,
	eBeerProfile_Custom
};

João Lino's avatar
João Lino committed
113 114 115 116 117 118 119 120
typedef struct menuData_ {
  char *_title;
  int  _position;
  int  _selection;
  char **_dialog;
  bool _repaint;
} MenuData;

João Lino's avatar
João Lino committed
121
#endif