/home/fwph/code/wurde/modules/ptu/opcodes.h

Go to the documentation of this file.
00001 /*****************************************************************
00002  *****           PAN-TILT ENCODED COMMAND CODE               *****
00003  *****                 C include file                        *****
00004  *****                                                       *****
00005  *****     (C) 1994, 1999, Directed Perception, Inc.         *****
00006  *****               All rights reserved.                    *****
00007  *****************************************************************/
00008 
00009 #define OPCODE_VERSION          "1.07.07"
00010 
00011 
00012 /********* REVISION HISTORY *********/
00013 /*
00014 
00015 1.07.07: 11/10/99: Added ASYNCHRONOUS_EVENT test for asynchronous return codes.
00016 1.07.06:  9/16/98: Added signed speed special opcodes. Added them at
00017                    end of opcodes to maintain compatibility with prior
00018                    firmware versions.
00019 1.07.05d: 2/19/95: reorganized the opcodes. Working on networking.
00020 1.07.04d: 1/26/95: added DEFINEs for reset enable disable opcodes.
00021                    But unique opcodes not assigned.
00022 10/06/94:       Added and reorganized opcodes
00023 9/18/94:        Initial version
00024 
00025 */
00026 
00027 
00028 
00029 /******************************************************/
00030 /**********  ASYNCHRONOUS EVENT RETURN CODES **********/
00031 /******************************************************/
00032 
00033 #define ASYNCHRONOUS_EVENT(char_val) ( (char_val >= 220) )
00034 #define PAN_LIMIT_HIT                       220 /*   !P   */
00035 #define TILT_LIMIT_HIT                      221 /*   !T   */
00036 #define CABLE_DISCONNECT_DETECTED       222     /*   !D   */
00037 #define PAN_POSITION_TRIGGER_HIT        223     /*   #P   */
00038 #define TILT_POSITION_TRIGGER_HIT       224     /*   #T   */
00039 #define PAN_SPEED_TRIGGER_HIT           225     /*   $P   */
00040 #define TILT_SPEED_TRIGGER_HIT          226     /*   $T   */
00041 
00042 
00043 
00044 /*****************************************/
00045 /**********  RETURN STATE CODES **********/
00046 /*****************************************/
00047 
00048 /* power modes */
00049 #define PTU_HI_POWER    1
00050 #define PTU_REG_POWER   2
00051 #define PTU_LOW_POWER   3
00052 #define PTU_OFF_POWER   4
00053 
00054 /* speed control modes */
00055 #define PTU_INDEPENDENT_SPEED_CONTROL_MODE      1
00056 #define PTU_PURE_VELOCITY_SPEED_CONTROL_MODE    2
00057 
00058 /* return status codes */
00059 #define PTU_OK                                              0
00060 #define PTU_ILLEGAL_COMMAND                     2
00061 #define PTU_ILLEGAL_POSITION_ARGUMENT   3
00062 #define PTU_ILLEGAL_SPEED_ARGUMENT      4
00063 #define PTU_ACCEL_TABLE_EXCEEDED            5
00064 #define PTU_DEFAULTS_EEPROM_FAULT               6
00065 #define PTU_SAVED_DEFAULTS_CORRUPTED    7
00066 #define PTU_LIMIT_HIT                           8
00067 #define PTU_CABLE_DISCONNECTED                  9
00068 #define PTU_ILLEGAL_UNIT_ID             10
00069 #define PTU_ILLEGAL_POWER_MODE          11
00070 #define PTU_RESET_FAILED                12
00071 
00072 
00073 /*******************************************/
00074 /********** INTERNAL RETURN CODES **********/
00075 /*******************************************/
00076 
00077 #define INTERACTIVE_MAIN_MENU                   1
00078 #define DISPLAY_PAN_MOTOR_COMMANDS              2
00079 #define DISPLAY_TILT_MOTOR_COMMANDS             3
00080 #define DISPLAY_MENU_OPTIONS                    4
00081 #define ILLEGAL_COMMAND_WITH_DELIMITER          5
00082 #define ASCII_COMMAND_WITH_NO_BINARY_EQUIV      6
00083 #define ILLEGAL_OPCODE                          7
00084 #define ILLEGAL_ARGUMENT                        8
00085 
00086 /**********************************/
00087 /********** PTU OP CODES **********/
00088 /**********************************/
00089 
00090 #define OPCODE_BASE     129
00091 #define MAX_OPCODE      205
00092 #define NUM_OPCODES     (MAX_OPCODE - OPCODE_BASE + 1)
00093 
00094 /*****/                                                           /*****/
00095 /*****  OPCODES with a 2 byte int ARGUMENT (returns a status byte) *****/
00096 /*****/                                                           /*****/
00097 
00098 #define PAN_SET_ABS_POS               129
00099 #define TILT_SET_ABS_POS              130
00100 #define PAN_SET_REL_POS               131
00101 #define TILT_SET_REL_POS              132
00102 
00103 #define PAN_SET_REL_SPEED             133
00104 #define TILT_SET_REL_SPEED            134
00105 #define PAN_SET_ABS_SPEED             135 /* unsigned in independent speed control */
00106 #define TILT_SET_ABS_SPEED            136 /* mode; signed in pure velocity SCM */
00107                                           /* change made 9/22/98 */
00108 
00109 #define LAST_SIGNED_2BYTE_INT_OPCODE  136
00110 
00111 /* unsigned 2 byte int argument */
00112 
00113 #define PAN_SET_BASE_SPEED                137
00114 #define TILT_SET_BASE_SPEED               138
00115 
00116 #define PAN_SET_UPPER_SPEED_LIMIT     139
00117 #define TILT_SET_UPPER_SPEED_LIMIT    140
00118 #define PAN_SET_LOWER_SPEED_LIMIT     141
00119 #define TILT_SET_LOWER_SPEED_LIMIT    142
00120 
00121 #define SET_UNIT_ID                           143       
00122 #define SELECT_UNIT_ID                    144
00123 #define LAST_2BYTE_INT_OPCODE         144
00124 
00125 /*****/                        /*****/
00126 /***** OPCODES with 0 ARGUMENTS *****/
00127 /*****/                        /*****/
00128 
00129 /*** returns 2 byte signed int ***/
00130 
00131 #define PAN_CURRENT_POS_QUERY        145
00132 #define TILT_CURRENT_POS_QUERY       146
00133 #define PAN_DESIRED_POS_QUERY        147
00134 #define TILT_DESIRED_POS_QUERY       148
00135 
00136 #define PAN_MIN_POSITION_QUERY       149
00137 #define TILT_MIN_POSITION_QUERY      150
00138 #define PAN_MAX_POSITION_QUERY       151
00139 #define TILT_MAX_POSITION_QUERY      152
00140 
00141 /*** returns 2 byte unsigned int ***/
00142 
00143 #define PAN_CURRENT_SPEED_QUERY      153
00144 #define TILT_CURRENT_SPEED_QUERY     154
00145 #define PAN_DESIRED_SPEED_QUERY      155
00146 #define TILT_DESIRED_SPEED_QUERY     156
00147 
00148 #define PAN_BASE_SPEED_QUERY         157
00149 #define TILT_BASE_SPEED_QUERY        158
00150 
00151 #define PAN_UPPER_SPEED_LIMIT_QUERY  159
00152 #define TILT_UPPER_SPEED_LIMIT_QUERY 160
00153 #define PAN_LOWER_SPEED_LIMIT_QUERY  161
00154 #define TILT_LOWER_SPEED_LIMIT_QUERY 162
00155 
00156 /*** returns 4 byte unsigned int ***/
00157 
00158 #define PAN_ACCEL_QUERY                 163
00159 #define TILT_ACCEL_QUERY                164
00160 
00161 /* value is 60x arc secs */
00162 #define PAN_RESOLUTION_QUERY            165
00163 #define TILT_RESOLUTION_QUERY           166
00164 
00165 /*** returns signed char (a status byte unless otherwise noted) ***/
00166 
00167 #define AWAIT_COMMAND_COMPLETION        167
00168 
00169 #define HALT                            168
00170 #define HALT_PAN                        169
00171 #define HALT_TILT                       170
00172 
00173 /* 1 if position limits enabled, 0 otherwise */
00174 #define POSITION_LIMITS_QUERY           171
00175 #define ENABLE_POSITION_LIMITS          172
00176 #define DISABLE_POSITION_LIMITS         173
00177 
00178 #define SET_IMMEDIATE_COMMAND_MODE      174
00179 
00180 #define SET_SLAVED_COMMAND_MODE         175
00181 
00182 #define UNIT_RESET                      176
00183 #define UNIT_RESET_ON_POWERUP           177     /***** NOT YET SUPPORTED *****/
00184 #define UNIT_RESET_ON_POWERUP_DISABLED  178     /***** NOT YET SUPPORTED *****/
00185 
00186 /* returns an unsigned char with the unit_id */
00187 #define UNIT_ID_QUERY                   179     /***** NOT YET SUPPORTED *****/
00188 
00189 /* 1 if echo, 0 otherwise */
00190 #define ECHO_QUERY                      180
00191 #define ENABLE_ECHO                     181
00192 #define DISABLE_ECHO                    182
00193 
00194 #define SAVE_DEFAULTS                   183
00195 #define RESTORE_SAVED_DEFAULTS          184
00196 #define RESTORE_FACTORY_DEFAULTS        185
00197 
00198 /* returns power mode byte */
00199 #define PAN_HOLD_POWER_QUERY            186
00200 #define TILT_HOLD_POWER_QUERY           187
00201 #define PAN_MOVE_POWER_QUERY            188
00202 #define TILT_MOVE_POWER_QUERY           189
00203 
00204 /* 1 if verbose, 0 otherwise */
00205 #define VERBOSE_QUERY                   190
00206 #define SET_VERBOSE_ASCII_ON            191
00207 #define SET_VERBOSE_ASCII_OFF           192
00208 
00209 /* 1 if joystick enabled, 0 otherwise */
00210 #define JOYSTICK_QUERY                  193             /***** NOT YET SUPPORTED *****/
00211 #define ENABLE_JOYSTICK                 194             /***** NOT YET SUPPORTED *****/
00212 #define DISABLE_JOYSTICK                195             /***** NOT YET SUPPORTED *****/
00213 
00214 /*** other return opcodes ***/
00215 
00216 /* returns string ending with '\n' */
00217 #define FIRMWARE_VERSION_QUERY          196
00218 
00219 #define LAST_0ARG_OPCODE                196
00220 
00221 /*****/                              /*****/
00222 /***** OPCODES with a 1 byte ARGUMENT *****/
00223 /*****/                              /*****/
00224 
00225 /*** returns signed char (a status byte) ***/
00226 
00227 /* ARG1: power mode byte */
00228 #define PAN_SET_HOLD_POWER              197
00229 #define TILT_SET_HOLD_POWER             198
00230 #define PAN_SET_MOVE_POWER              199
00231 #define TILT_SET_MOVE_POWER             200
00232 
00233 #define LAST_1BYTE_ARG_OPCODE           200
00234 
00235 /*****/                                  /*****/
00236 /***** OPCODES with a 4 byte int ARGUMENT *****/
00237 /*****/                                  /*****/
00238 
00239 /*** returns signed char (a status byte) ***/
00240 
00241 /* a 4 byte unsigned integer argument */
00242 #define PAN_SET_ACCEL                   201
00243 #define TILT_SET_ACCEL                  202
00244 
00245 #define LAST_4BYTE_ARG_OPCODE           202
00246 
00247 
00248 /*****/                                     /*****/
00249 /***** SPECIAL OPCODES with custom ARGUMENTS *****/
00250 /*****/                                     /*****/
00251 
00252 #define SPECIAL_OPCODE                  203
00253 
00254 
00255 /*** (Added 9/16/98 at end to maintain backward compatibility.) ***/
00256 /*** 0 byte argument, returns signed char                       ***/
00257 #define QUERY_SPEED_CONTROL_MODE        203
00258 #define SET_INDEPENDENT_CONTROL_MODE    204
00259 #define SET_PURE_VELOCITY_CONTROL_MODE  205
00260 
00261 

Generated on Thu Feb 1 15:31:52 2007 for WURDE by  doxygen 1.5.1