xsmcmd.h

Go to the documentation of this file.
00001 /* Gxsm - Gnome X Scanning Microscopy Project
00002  * universal STM/AFM/SARLS/SPALEED/... controlling and
00003  * data analysis software
00004  *
00005  * DSP tools for Linux
00006  *
00007  * Copyright (C) 1999,2000,2001 Percy Zahl
00008  *
00009  * Authors: Percy Zahl <zahl@users.sf.net>
00010  * WWW Home: http://gxsm.sf.net
00011  *
00012  * This program is free software; you can redistribute it and/or modify
00013  * it under the terms of the GNU General Public License as published by
00014  * the Free Software Foundation; either version 2 of the License, or
00015  * (at your option) any later version.
00016  *
00017  * This program is distributed in the hope that it will be useful,
00018  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00020  * GNU General Public License for more details.
00021  *
00022  * You should have received a copy of the GNU General Public License
00023  * along with this program; if not, write to the Free Software
00024  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
00025  */
00026 
00027 /* -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 8 c-style: "K&R" -*- */
00028 
00029 /*@
00030  *@     File:   xsmcmd.h
00031  *@     Datum:  25.10.1995
00032  *@     Author: P.Zahl
00033  *@     Zweck:  DSP Komando ID's mit Parameterübergabepositionen
00034  *@
00035  *@     History:
00036  *@     =====================================================================
00037  *@     V1.00 Basisversion
00038  *@@    24.4.96 PZ: DPRAM16/32 Implementation
00039  *@@    24.4.96 PZ: Def. von Datenübertragungsmodi
00040  *@@    14.12.97 PZ: Namensaenderung in xsmcmd.h
00041  *@@    12.11.99 PZ: Splitting: DPRAM Zuweisungen / CmdIds
00042  */
00043 
00044 #include "dpramdef.h" /* DPRAM Aufteilung */
00045 
00046 
00047 /*
00048  * DSP Komandos zur Komunikation
00049  */
00050 
00051 
00052 #define DSP_CMD_ROTPARAM                0x02    /* Rotation + Translatiosparameter */
00053 #define DSP_CMD_SET_WERTE               0x11    /* PID Reglerwerte, etc. setzten */
00054 #define DSP_CMD_SET_LOG_WERTE           0x12    /* LOG Reglerwerte, etc. setzten */
00055 #define DSP_CMD_SET_TRANSFER_FKT        0x12    /* LOG/LIN Transferkunktionsparameter setzen */
00056 #define DSP_CMD_GET_WERTE               0x13    /* PID Reglerwerte, etc. anfordern */
00057 
00058 /* VODO */
00059 #define DSP_CMD_SPRUNG_PARAM            0x14    /* Parameter fuer SprungAntwort setzen */
00060 /* VODO end */
00061 
00062 #define DSP_CMD_MOVETO_X                0x20    /* X-Position anfahren */
00063 #define DSP_CMD_MOVETO_Y                0x21    /* Y-Position anfahren */
00064 #define DSP_CMD_MOVETO_PARAM            0x22    /* Moveto Parameter / Dynamik */
00065 #define DSP_CMD_MOVETO_XY               0x23    /* Moveto Parameter / Dynamik */
00066 
00067 
00068 #define DSP_CMD_LINESCAN                0x30    /* LineScan ausfhren */
00069 #define DSP_CMD_LINESCAN_PARAM          0x31    /* LineScan Parameter / Dynamik */
00070 #define DSP_CMD_SWAPDPRAM               0x32    /* Swap Memory1,2,.. from buffer to dpram */
00071 #define DSP_CMD_MOVE_DATA2DPRAM         0x33    /* move data from buffer to dpram */
00072 #define DSP_CMD_2D_HS_AREASCAN          0x34    /* perform a complete 2D high speed area scan */
00073 
00074 #define DSP_CMD_HALT                    0x40    /* Regler stopp */
00075 #define DSP_CMD_START                   0x41    /* Regler start */
00076 #define DSP_CMD_UZ_CLR                  0x42    /* U_Z auf Null setzen */
00077 
00078 #define DSP_CMD_APPROCH                 0x50    /* Autom. Spitzen Ann„herung */
00079 #define DSP_CMD_FAPPROCH                0x51    /* Schnelle Spitzen Ann„herung */
00080 #define DSP_CMD_BACK                    0x52    /* Spitze Zurckziehen */
00081 #define DSP_CMD_APPROCH_PARAM           0x55    /* Parameter zur Spitzenann„herung */
00082 
00083 #define DSP_CMD_APPROCH_MOV_XP          0x56    /* Autom. Spitzen Annäherung via Ramp on X */
00084 
00085 /* nur Omicron STM / Quantum */
00086 #define DSP_CMD_PROBE_LI                0x60    /* Probe Positionieren: links */
00087 #define DSP_CMD_PROBE_RE                0x61    /* Probe Positionieren: rechtes */
00088 #define DSP_CMD_PROBE_VOR               0x62    /* Probe Positionieren: vor */
00089 #define DSP_CMD_PROBE_ZUR               0x63    /* Probe Positionieren: zurck */
00090 
00091 /* nur HoP/AK AFM / SICAF */
00092 #define DSP_CMD_AFM_SLIDER_PARAM        0x60    /* Parameter fuer Slider */
00093 #define DSP_CMD_AFM_MOV_XP              0x61    /* Linsenmover in X+ */
00094 #define DSP_CMD_AFM_MOV_XM              0x62    /* Linsenmover in X- */
00095 #define DSP_CMD_AFM_MOV_YP              0x63    /* Linsenmover in Y+ */
00096 #define DSP_CMD_AFM_MOV_YM              0x64    /* Linsenmover in Y- */
00097 
00098 
00099 #define DSP_CMD_CLR_PA                  0x70    /* Port PA = 0x00 setzten */
00100 #define DSP_CMD_ALL_PA                  0x71    /* Port PA = 0xff setzten */
00101 
00102 #define DSP_CMD_SETOSZI                 0x80    /* Oszi Setup */
00103 
00104 #define DSP_CMD_READY                   0xfe    /* Dummy: nur ACK Antwort */
00105 #define DSP_CMD_GETINFO                 0xfe    /* Same as Dummy, but new DSP soft 
00106                                                  * puts info some Config/Version info DPRAM 
00107                                                  */
00108 
00109 #define DSP_CMD_PROBESCAN               0x90    /* Probe Scan ausführen */ 
00110 
00111 /* PC -> PC31/DSP DPRAM Daten šbergabevereinbarungen */
00112 
00113 /* Je nach Komando wird der DPRAM-Bereich DSP_CTRL_PARAM_L
00114  * für Parameterübergaben verwendet 
00115  */
00116 
00117 #define DSP_CMD_PARAM     DSP_CTRL_PARAM
00118 
00119 /* DSP_CMD_SET_WERTE */
00120 #define DSP_UTUNNEL       0
00121 #define DSP_ITUNNEL       1
00122 #define DSP_CP            2
00123 #define DSP_CI            3
00124 #define DSP_CD            4 /* ist Setpoint !! */
00125 #define DSP_TAU           5
00126 #define DSP_FB_FRQ        6
00127 #define DSP_FIR_FG        7
00128 #define DSP_CS            8
00129 
00130 
00131 /* DSP_CMD_SET_TRANSFER_FKT */
00132 #define DSP_LOGOFF        0
00133 #define DSP_LOGSKL        1
00134 #define DSP_LIN_LOG       2
00135 
00136 
00137 /* DSP_CMD_ROTPARAM */
00138 #define DSP_ROTXX         0
00139 #define DSP_ROTXY         1
00140 #define DSP_ROTYX         2
00141 #define DSP_ROTYY         3
00142 #define DSP_ROTOFFX       4
00143 #define DSP_ROTOFFY       5
00144 
00145 /* DSP_CMD_MOVETO_PARAM */
00146 #define DSP_MOVETOX        0
00147 #define DSP_MOVETOY        0
00148 #define DSP_MOVETOXY_X     0
00149 #define DSP_MOVETOXY_Y     1
00150 
00151 #define DSP_MVSTEPSZ      0
00152 #define DSP_MVNREGEL      1
00153 
00154 /* DSP_CMD_XXXSCAN_PARAM */
00155 /* monitor current number of valid points in Buffer */
00156 #define DSP_ACTUAL_SCANPOINTS 13
00157 #define DSP_TRANSFERED_SCANPOINTS 14
00158 
00159 /* DSP_CMD_LINESCAN_PARAM */
00160 /* and DSP_CMD_LINESCAN */
00161 #define DSP_NX2SCAN       0
00162 
00163 #define DSP_LSNX          0
00164 #define DSP_LSDNX         1
00165 #define DSP_LSSTEPSZ      2
00166 #define DSP_LSNREGEL      3
00167 #define DSP_LSNAVE        4
00168 #define DSP_LSINTAVE      5
00169 #define DSP_LSNXPRE       6
00170 #define DSP_LSSRCS        7
00171 #define DSP_LSYINDEX      8
00172 
00173 /* DSP_CMD_2D_HS_AREASCAN same as above and */
00174 #define DSP_AS_NY2SCAN    9
00175 #define DSP_AS_DNY       10
00176 
00177 /* DSP_CMD_MOVE_DATA2DPRAM */
00178 #define DSP_MVD_CMD_START       0
00179 #define DSP_MVD_CMD_LEN         1
00180 
00181 /* DSP_CMD_APPROACH_PARAM */
00182 #define DSP_TIPNSTEPS     0
00183 #define DSP_TIPNWARTE     1
00184 #define DSP_TIPDUZ        2
00185 #define DSP_TIPDUZREV     3
00186 
00187 /* DSP_CMD_AFM_SLIDER_PARAM */  
00188 #define DSP_AFM_SLIDER_AMP   0
00189 #define DSP_AFM_SLIDER_SPEED 1
00190 #define DSP_AFM_SLIDER_STEPS 2
00191 
00192 /* Static Oszi Parameter Positionens im DPRAM Bereich DSP_USR_DATA_L */
00193 /* Offset in USR-Region */
00194 #define DSP_OSZI_OFF_POS  0
00195 #define DSP_OSZI_OFF_N    1
00196 #define DSP_OSZI_OFF_DATA 2
00197 
00198 /* Abs. Pos- for DSP */
00199 #define DSP_OSZI_POS      (DSP_USR_OSZI_CTRL+DSP_OSZI_OFF_POS)
00200 #define DSP_OSZI_N        (DSP_USR_OSZI_CTRL+DSP_OSZI_OFF_N)
00201 
00202 /* DSP_CMD_SETOSZI */
00203 #define DSP_OSZI_TIMEBASE 0
00204 #define DSP_OSZI_CHX      1
00205 #define DSP_OSZI_CHY      2
00206 
00207 /* Spezialpositionen für Oszi */
00208 #define DSP_OSZI_CH12      15
00209 #define DSP_OSZI_CH34      16
00210 #define DSP_OSZI_CH56      17
00211 #define DSP_OSZI_CH78      18
00212 #define DSP_OSZI_TM        19
00213 #define DSP_OSZI_DATAREADY 20
00214 #define DSP_OSZI_CNT       21
00215 
00216 
00217 /* DSP_CMD_PROBESCAN */
00218 #define DSP_PRBSRCS       0
00219 #define DSP_PRBOUTP       1
00220 #define DSP_PRBNX         2
00221 #define DSP_PRBXS         3
00222 #define DSP_PRBXE         4
00223 #define DSP_PRBACAMP      5
00224 #define DSP_PRBACFRQ      6
00225 #define DSP_PRBDELAY      7
00226 #define DSP_PRBCIVAL      8
00227 #define DSP_PRBACPHASE    9
00228 #define DSP_PRBNAVE       10
00229 #define DSP_PRBACMULT     11
00230 #define DSP_PRBGAPADJ     12
00231 #define DSP_PRBPANZ DSP_PRBGAPADJ+1
00232 
00233 
00234 /* Sub cmds for Probe */
00235 #define DSP_PRB_CMD_PROBESCAN         1
00236 #define DSP_PRB_CMD_ACMOD_START 2
00237 #define DSP_PRB_CMD_ACMOD_NEXT  3
00238 #define DSP_PRB_CMD_ACMOD_QUIT  4
00239 
00240 
00241 /****************************************/

Generated on Sat Apr 1 09:04:09 2006 for GXSM by  doxygen 1.4.6