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

Revision:
0:3852426a5068
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LaosMotion/LaosMotion.h	Fri Jun 08 09:26:40 2012 +0000
@@ -0,0 +1,65 @@
+/**
+ * LaosMotion.cpp
+ * Motion Controll functions for Laos system
+ *
+ * Copyright (c) 2011 Peter Brier
+ *
+ *   This file is part of the LaOS project (see: http://laoslaser.org)
+ *
+ *   LaOS is free software: you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation, either version 3 of the License, or
+ *   (at your option) any later version.
+ *
+ *   LaOS is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with LaOS.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * 
+ *
+ */
+#ifndef _LAOSMOTION_H_
+#define _LAOSMOTION_H_
+#include "global.h"
+
+
+// the state of the laser OUTPUT
+#define LASEROFF 1
+#define LASERON 0
+
+    /** Motion Controll system
+      *
+      * Example:
+      * @code 
+      * @endcode
+      */
+class LaosMotion {
+public:
+    /** Make new LaosMotion object. 
+      * Installs ticker
+      */
+  LaosMotion();
+  ~LaosMotion();
+  void write(int i); // write command word to motion controller
+  int ready(); // returns true if we are ready to accept a new instruction
+  void reset(); // reset the instruction decoder and motion controller
+  void home(int xhome, int yhome, int zhome); // home the system, move to the sensors and set the specified position
+  bool isStart(); // start button is enabled
+  bool isHome; // system is homed
+  void setPosition(int x, int y, int z); // set the absolute position [micron]
+  void getPosition(int *x, int *y, int *z); // get actual absolute position [micron] (current position of the motors)
+  void setOrigin(int x, int y, int z); // set the origin to this absolute position [micron]
+  void moveTo(int x, int y, int z); // move (jog) to a specific position [microns]
+  void moveTo(int x, int y, int z, int speed); // move (jog) to a specific position [microns]
+  int queue(); // queued items
+private:
+  
+};
+
+ 
+
+#endif