Library which creates a serial test console, it supports pages and menu items. The items are added and the pages are added as necessary when the user sets it up. This is a great too for creating an easy to maintain menu system, whether for a test sytem, or anything else.

Dependencies:   Terminal

Committer:
glansberry
Date:
Fri Jul 24 22:18:19 2015 +0000
Revision:
9:b1fdd7ea6f72
Parent:
6:e992366d0684
Fixed bug is choosing the first page.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
glansberry 0:907d2d5e77f7 1 #ifndef __TESTCONSOLE_H
glansberry 0:907d2d5e77f7 2 #define __TESTCONSOLE_H
glansberry 6:e992366d0684 3 #include "Terminal.h"
glansberry 0:907d2d5e77f7 4 #include "page.h"
glansberry 0:907d2d5e77f7 5 #include "menuitem.h"
glansberry 0:907d2d5e77f7 6
glansberry 0:907d2d5e77f7 7 #define MAX_PAGES 9
glansberry 6:e992366d0684 8 #define TERMINAL_WIDTH 80
glansberry 0:907d2d5e77f7 9 class TestConsole {
glansberry 6:e992366d0684 10 private:
glansberry 6:e992366d0684 11 Page* active_page;
glansberry 0:907d2d5e77f7 12 public:
glansberry 6:e992366d0684 13 TestConsole(const char * Name_p, PinName tx, PinName rx, int baud_rate);
glansberry 6:e992366d0684 14 Terminal term;
glansberry 6:e992366d0684 15 const char * name; //reference to the name of the Program
glansberry 0:907d2d5e77f7 16 int num_pages;
glansberry 0:907d2d5e77f7 17 int current_page, previous_page;
glansberry 6:e992366d0684 18 Page * page[MAX_PAGES];
glansberry 6:e992366d0684 19 Page * add_page(const char * name_p);
glansberry 0:907d2d5e77f7 20 int process_cmd(char cmd);
glansberry 0:907d2d5e77f7 21 int tick();
glansberry 0:907d2d5e77f7 22 int page_change(int page);
glansberry 0:907d2d5e77f7 23
glansberry 0:907d2d5e77f7 24 };
glansberry 0:907d2d5e77f7 25
glansberry 0:907d2d5e77f7 26
glansberry 0:907d2d5e77f7 27 #endif //fence