Code for autonomous ground vehicle, Data Bus, 3rd place winner in 2012 Sparkfun AVC.
Dependencies: Watchdog mbed Schedule SimpleFilter LSM303DLM PinDetect DebounceIn Servo
UI/Menu/Menu.cpp
- Committer:
- shimniok
- Date:
- 2012-06-20
- Revision:
- 0:826c6171fc1b
File content as of revision 0:826c6171fc1b:
#include "mbed.h" #include "Menu.h" #include <string.h> Menu::Menu(): _item(0), _itemCount(0) { } void Menu::add(char *name, FunctionPtr f) { if (_itemCount < _ITEM_MAX) { _exec[_itemCount] = f; strncpy(_name[_itemCount], name, NAMESIZ-1); _itemCount++; } return; } void Menu::next() { _item++; if (_item >= _itemCount) _item = 0; return; } void Menu::prev() { if (_item == 0) _item = _itemCount; _item--; return; } void Menu::select() { (_exec[_item])(); } char *Menu::getItemName(int i) { return _name[i]; } char *Menu::getItemName() { return _name[_item]; } void Menu::printAll() { fprintf(stdout, "Menus:\n"); for (int i=0; i < _itemCount; i++) { fprintf(stdout, "%s\n", _name[i]); } fprintf(stdout, "\n"); return; }