00001 #ifndef MOTION_H
00002 #define MOTION_H 1
00003 #include "project_utilities.h"
00004
00005 BEGIN_C_DECLARATIONS
00006
00007 typedef enum
00008 {
00009 STAGEPROP_NONE = 0,
00010 STAGEPROP_HEAVY = 1
00011 } motion_stageflags;
00012
00013 typedef long int coord_t;
00014 typedef long int wait_t;
00015 typedef unsigned char portdata_t;
00016 typedef int axismapentry_t;
00017
00018 typedef struct Devicestate * devicestatep_t;
00019
00020 typedef struct Axismapping * axismappingp_t;
00021
00022 typedef struct Stagelocation * stagelocationp_t;
00023
00024 typedef struct Stagecontrol * stagecontrolp_t;
00025
00026 typedef struct Translation * translationp_t;
00027
00028 axismappingp_t newaxismapping (const unsigned int axes);
00029 void disposeaxismapping (axismappingp_t themap);
00030 void setaxismapping (axismappingp_t themap,
00031 const unsigned int logical, const axismapentry_t physical);
00032 stagelocationp_t newstagelocation (const unsigned int axes);
00033 void disposestagelocation (stagelocationp_t theloc);
00034 void setstagelocation (stagelocationp_t theloc, const unsigned int axisn, const coord_t newval);
00035 coord_t getstagelocation (const stagelocationp_t theloc, const unsigned int axisn);
00036 stagecontrolp_t newstage (const axismappingp_t themap);
00037 void disposestage (stagecontrolp_t stage);
00038 int openstage (stagecontrolp_t stage, const char *path, const int flags);
00039 int closestage (stagecontrolp_t stage);
00040 int movestage (stagecontrolp_t stage, const stagelocationp_t motn);
00041 int findstage (stagecontrolp_t stage, stagelocationp_t posn);
00042 int stageactive (stagecontrolp_t stage);
00043
00044 END_C_DECLARATIONS
00045
00046 #endif