Michael Spencer / Mbed 2 deprecated LaOS

Dependencies:   mbed

Committer:
Michael J. Spencer
Date:
Sat Mar 08 17:55:59 2014 -0800
Revision:
2:609dd3a73f33
Parent:
1:f5ac63519541
Update.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Michael J. Spencer 1:f5ac63519541 1 /*
Michael J. Spencer 1:f5ac63519541 2 * global.h
Michael J. Spencer 1:f5ac63519541 3 * Laos Controller, global header file, included in all other files
Michael J. Spencer 1:f5ac63519541 4 *
Michael J. Spencer 1:f5ac63519541 5 * Copyright (c) 2011 Peter Brier
Michael J. Spencer 1:f5ac63519541 6 *
Michael J. Spencer 1:f5ac63519541 7 * This file is part of the LaOS project (see: http://wiki.protospace.nl/index.php/LaOS)
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 #ifndef _GLOBAL_H_
Michael J. Spencer 1:f5ac63519541 24 #define _GLOBAL_H_
Michael J. Spencer 1:f5ac63519541 25
Michael J. Spencer 1:f5ac63519541 26 #include "mbed.h"
Michael J. Spencer 1:f5ac63519541 27 #include "LaosDisplay.h"
Michael J. Spencer 1:f5ac63519541 28 #include "LaosMotion.h"
Michael J. Spencer 1:f5ac63519541 29
Michael J. Spencer 2:609dd3a73f33 30 typedef char IPAddress[16];
Michael J. Spencer 2:609dd3a73f33 31 void IpParse(char *a, int i[]);
Michael J. Spencer 2:609dd3a73f33 32
Michael J. Spencer 1:f5ac63519541 33 // Global configuration struct
Michael J. Spencer 1:f5ac63519541 34 class GlobalConfig
Michael J. Spencer 1:f5ac63519541 35 {
Michael J. Spencer 1:f5ac63519541 36 public:
Michael J. Spencer 2:609dd3a73f33 37 IPAddress ip, gw, nm, dns;
Michael J. Spencer 2:609dd3a73f33 38 int port, dhcp; // network settings
Michael J. Spencer 1:f5ac63519541 39 int enable; // enable state (1 or 0)
Michael J. Spencer 1:f5ac63519541 40 int autohome; // automatically home the axis at startup
Michael J. Spencer 1:f5ac63519541 41 int autozhome; // automatically home the zaxis as well
Michael J. Spencer 1:f5ac63519541 42 int nodisplay; // there is no display
Michael J. Spencer 1:f5ac63519541 43 int cleandir; // remove files from SD at startup
Michael J. Spencer 1:f5ac63519541 44 int i2cbaud; // i2cBaudrate
Michael J. Spencer 1:f5ac63519541 45 int xmax, ymax, zmax, emax; // max values
Michael J. Spencer 1:f5ac63519541 46 int xmin, ymin, zmin, emin; // min values
Michael J. Spencer 1:f5ac63519541 47 int xpol, ypol, zpol, epol; // polarity for the home switches
Michael J. Spencer 1:f5ac63519541 48 int xinv, yinv, zinv, einv; // invert signal polarity for step/dir
Michael J. Spencer 1:f5ac63519541 49 int xhome, yhome, zhome, ehome; // home position
Michael J. Spencer 1:f5ac63519541 50 int xrest, yrest, zrest, erest; // rest positon (moveto after job)
Michael J. Spencer 1:f5ac63519541 51 int xhomedir, yhomedir, zhomedir, ehomedir;
Michael J. Spencer 1:f5ac63519541 52 int homespeed, zhomespeed; // speed used for homing [usec]
Michael J. Spencer 1:f5ac63519541 53 int speed, xspeed, yspeed, zspeed, espeed; // Maximum linear speed and max speed per axis [mm/sec]
Michael J. Spencer 1:f5ac63519541 54 int accel; // defaul accelletaion [mm/sec2]
Michael J. Spencer 1:f5ac63519541 55 int xaccel, yaccel, zaccel, eaccel; // axis max acceleration [mm/sec2]
Michael J. Spencer 1:f5ac63519541 56 int tolerance; // corner tolerance [micrometer]
Michael J. Spencer 1:f5ac63519541 57 int xscale; // steps per meter
Michael J. Spencer 1:f5ac63519541 58 int yscale; // steps per meter
Michael J. Spencer 1:f5ac63519541 59 int zscale; // steps per meter
Michael J. Spencer 1:f5ac63519541 60 int escale; // steps per meter
Michael J. Spencer 1:f5ac63519541 61 int lenable, lon, pwmmin, pwmmax, pwmfreq; // laser enable, laser on and pwm min/max [%] and frequency [Hz];
Michael J. Spencer 1:f5ac63519541 62 GlobalConfig(char *filename);
Michael J. Spencer 1:f5ac63519541 63 };
Michael J. Spencer 1:f5ac63519541 64 extern GlobalConfig *cfg;
Michael J. Spencer 1:f5ac63519541 65
Michael J. Spencer 1:f5ac63519541 66 #ifndef __GIT_HASH
Michael J. Spencer 1:f5ac63519541 67 #define __GIT_HASH ""
Michael J. Spencer 1:f5ac63519541 68 #endif
Michael J. Spencer 1:f5ac63519541 69
Michael J. Spencer 1:f5ac63519541 70 #define VERSION_STRING "\033LAOS v0.3-" __GIT_HASH "\n" __DATE__ " " __TIME__
Michael J. Spencer 1:f5ac63519541 71
Michael J. Spencer 1:f5ac63519541 72 #endif