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
testconsole.h@9:b1fdd7ea6f72, 2015-07-24 (annotated)
- 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?
User | Revision | Line number | New 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 |