Skip to content

Commit

Permalink
final commit
Browse files Browse the repository at this point in the history
  • Loading branch information
envar committed Aug 8, 2015
1 parent d363971 commit f66997f
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 7 deletions.
Binary file added Humidity_Box/StepTest.ods
Binary file not shown.
22 changes: 16 additions & 6 deletions Humidity_Box/project.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -304,13 +304,19 @@ void navigate_menu(ModeOption mode, uint8_t input)
main_menu->current_item = main_menu->current_item->get_next();
print_menu();
break;
case NES_LEFT: // Left Key
case NES_LEFT: case NES_B: // Left Key
main_menu->current_item = main_menu->current_item->get_parent();
print_menu();
break;
case NES_A: // Select Key
change_current_action(main_menu->current_item->get_action());
current_action(INIT, 0);
if (main_menu->current_item->has_action()) {
change_current_action(main_menu->current_item->get_action());
current_action(INIT, 0);
}
else {
main_menu->current_item = main_menu->current_item->get_child();
print_menu();
}
break;
default:
break;
Expand Down Expand Up @@ -440,6 +446,7 @@ void change_humidity(ModeOption mode, uint8_t input)

case RET_YES:
RH_sp = RH_sp_new;
change_valve_position(RH_sp);
change_current_action(&navigate_menu);
current_action(INIT, 0);
break;
Expand Down Expand Up @@ -1217,6 +1224,7 @@ void manual_valve(ModeOption mode, uint8_t input)

}


void setup()
{
// Initialize LCD screen
Expand Down Expand Up @@ -1251,11 +1259,13 @@ void setup()
manual_mode_item->add_action(&manual_valve);
Item * calibration_item = new Item("Calibration Mode");
calibration_item->add_action(&calibration);

Item * advanced_item = new Item("Advanced ");

main_menu->add_item_down(display_item);
main_menu->add_item_down(change_humidity_item);
main_menu->add_item_down(events_item);
main_menu->add_item_down(event_wizard_item);
main_menu->add_item_down(advanced_item);
main_menu->add_item_right(change_humidity_item);
main_menu->add_item_down(events_item);
main_menu->add_item_down(remove_all_item);
main_menu->add_item_down(manual_mode_item);
main_menu->add_item_down(calibration_item);
Expand Down
10 changes: 9 additions & 1 deletion libraries/Menu/Menu.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ class Item
Item * parent_item;
Item * child_item;
typedef void (*function)(ModeOption, uint8_t);
bool hasaction;

public:
void (*item_function)(ModeOption, uint8_t);
Expand All @@ -28,6 +29,7 @@ class Item
char * get_title();
void add_action(void (*myfunction)(ModeOption, uint8_t));
function get_action();
bool has_action();
void execute(ModeOption mode, uint8_t input);
};

Expand All @@ -38,7 +40,7 @@ Item::Item(const char * item_name)
next_item = 0;
parent_item = 0;
child_item = 0;

hasaction = false;

title = new char[SCREEN_LENGTH + 1]();
for (uint8_t i = 0; i < SCREEN_LENGTH; i++)
Expand Down Expand Up @@ -114,13 +116,19 @@ char * Item::get_title()
void Item::add_action(void (*myfunction)(ModeOption, uint8_t))
{
item_function = myfunction;
hasaction = true;
}

Item::function Item::get_action()
{
return item_function;
}

bool Item::has_action()
{
return hasaction;
}

void Item::execute(ModeOption mode, uint8_t input)
{
item_function(mode, input);
Expand Down

0 comments on commit f66997f

Please sign in to comment.