This is the firmware for the LaOS - Laser Open Source project. You can use it to drive a laser cutter. For hardware and more information, look at our wiki: http://wiki.laoslaser.org

Dependencies:   EthernetNetIf mbed

Committer:
fablabtruck
Date:
Fri Jun 08 09:26:40 2012 +0000
Revision:
0:3852426a5068
svn revision 379

Who changed what in which revision?

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