Michael Spencer / Mbed 2 deprecated LaOS

Dependencies:   mbed

Committer:
Michael J. Spencer
Date:
Wed Mar 05 06:14:02 2014 -0800
Revision:
1:f5ac63519541
Child:
2:609dd3a73f33
Initial commit.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Michael J. Spencer 1:f5ac63519541 1 /**
Michael J. Spencer 1:f5ac63519541 2 * LaosMenu.h
Michael J. Spencer 1:f5ac63519541 3 * Simple menu system
Michael J. Spencer 1:f5ac63519541 4 *
Michael J. Spencer 1:f5ac63519541 5 * Copyright (c) 2011 Peter Brier & Jaap Vermaas
Michael J. Spencer 1:f5ac63519541 6 *
Michael J. Spencer 1:f5ac63519541 7 * This file is part of the LaOS project (see: http://wiki.laoslaser.org/)
Michael J. Spencer 1:f5ac63519541 8 *
Michael J. Spencer 1:f5ac63519541 9 * LaOS is free software: you can redistribute it and/or modify
Michael J. Spencer 1:f5ac63519541 10 * it under the terms of the GNU General Public License as published by
Michael J. Spencer 1:f5ac63519541 11 * the Free Software Foundation, either version 3 of the License, or
Michael J. Spencer 1:f5ac63519541 12 * (at your option) any later version.
Michael J. Spencer 1:f5ac63519541 13 *
Michael J. Spencer 1:f5ac63519541 14 * LaOS is distributed in the hope that it will be useful,
Michael J. Spencer 1:f5ac63519541 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Michael J. Spencer 1:f5ac63519541 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Michael J. Spencer 1:f5ac63519541 17 * GNU General Public License for more details.
Michael J. Spencer 1:f5ac63519541 18 *
Michael J. Spencer 1:f5ac63519541 19 * You should have received a copy of the GNU General Public License
Michael J. Spencer 1:f5ac63519541 20 * along with LaOS. If not, see <http://www.gnu.org/licenses/>.
Michael J. Spencer 1:f5ac63519541 21 *
Michael J. Spencer 1:f5ac63519541 22 *
Michael J. Spencer 1:f5ac63519541 23 @code
Michael J. Spencer 1:f5ac63519541 24 --code--
Michael J. Spencer 1:f5ac63519541 25 @endcode
Michael J. Spencer 1:f5ac63519541 26 */
Michael J. Spencer 1:f5ac63519541 27 #ifndef _LAOSMENU_H_
Michael J. Spencer 1:f5ac63519541 28 #define _LAOSMENU_H_
Michael J. Spencer 1:f5ac63519541 29
Michael J. Spencer 1:f5ac63519541 30 #include "global.h"
Michael J. Spencer 1:f5ac63519541 31 #include "LaosDisplay.h"
Michael J. Spencer 1:f5ac63519541 32 #include "laosfilesystem.h"
Michael J. Spencer 1:f5ac63519541 33 extern "C" void mbed_reset();
Michael J. Spencer 1:f5ac63519541 34
Michael J. Spencer 1:f5ac63519541 35 /** Menu system
Michael J. Spencer 1:f5ac63519541 36 * Create server based on config file.
Michael J. Spencer 1:f5ac63519541 37 *
Michael J. Spencer 1:f5ac63519541 38 * Example:
Michael J. Spencer 1:f5ac63519541 39 * @code
Michael J. Spencer 1:f5ac63519541 40 * LaosMenu menu();
Michael J. Spencer 1:f5ac63519541 41 * menu.Handle();
Michael J. Spencer 1:f5ac63519541 42 * @endcode
Michael J. Spencer 1:f5ac63519541 43 */
Michael J. Spencer 1:f5ac63519541 44
Michael J. Spencer 1:f5ac63519541 45 extern void plan_get_current_position_xyz(float *x, float *y, float *z);
Michael J. Spencer 1:f5ac63519541 46
Michael J. Spencer 1:f5ac63519541 47 class LaosMenu {
Michael J. Spencer 1:f5ac63519541 48 public:
Michael J. Spencer 1:f5ac63519541 49 /** Make new LaosMenu object.
Michael J. Spencer 1:f5ac63519541 50 */
Michael J. Spencer 1:f5ac63519541 51 LaosMenu(LaosDisplay *display);
Michael J. Spencer 1:f5ac63519541 52 ~LaosMenu();
Michael J. Spencer 1:f5ac63519541 53
Michael J. Spencer 1:f5ac63519541 54 /** Handle the menu system
Michael J. Spencer 1:f5ac63519541 55 * Reads inputs, displays screen
Michael J. Spencer 1:f5ac63519541 56 */
Michael J. Spencer 1:f5ac63519541 57 void Handle();
Michael J. Spencer 1:f5ac63519541 58 void SetScreen(int screen);
Michael J. Spencer 1:f5ac63519541 59 void SetScreen(char *s);
Michael J. Spencer 1:f5ac63519541 60 void SetFileName(char * name);
Michael J. Spencer 1:f5ac63519541 61
Michael J. Spencer 1:f5ac63519541 62 private:
Michael J. Spencer 1:f5ac63519541 63 // LaosDisplay *display;
Michael J. Spencer 1:f5ac63519541 64 int args[5];
Michael J. Spencer 1:f5ac63519541 65 unsigned char waitup, timeout;
Michael J. Spencer 1:f5ac63519541 66 char *sarg;
Michael J. Spencer 1:f5ac63519541 67 int speed;
Michael J. Spencer 1:f5ac63519541 68 char jobname[MAXFILESIZE];
Michael J. Spencer 1:f5ac63519541 69
Michael J. Spencer 1:f5ac63519541 70 // menu states
Michael J. Spencer 1:f5ac63519541 71 int screen, prevscreen, lastscreen;
Michael J. Spencer 1:f5ac63519541 72 unsigned char menu, ipfield, iofield;
Michael J. Spencer 1:f5ac63519541 73 unsigned char powerfield, power[4];
Michael J. Spencer 1:f5ac63519541 74 LaosDisplay *dsp;
Michael J. Spencer 1:f5ac63519541 75 int x,y,z;
Michael J. Spencer 1:f5ac63519541 76 int xoff, yoff, zoff;
Michael J. Spencer 1:f5ac63519541 77 FILE *runfile;
Michael J. Spencer 1:f5ac63519541 78
Michael J. Spencer 1:f5ac63519541 79 };
Michael J. Spencer 1:f5ac63519541 80
Michael J. Spencer 1:f5ac63519541 81
Michael J. Spencer 1:f5ac63519541 82
Michael J. Spencer 1:f5ac63519541 83 #endif