#include "canon.hh"Include dependency graph for rs274ngc.hh:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Data Structures | |
| struct | block_struct |
| struct | setup_struct |
Defines | |
| #define | AND && |
| #define | IS == |
| #define | ISNT != |
| #define | MAX(x, y) ((x) > (y) ? (x) : (y)) |
| #define | NOT ! |
| #define | OR || |
| #define | SET_TO = |
| #define | TRUE 1 |
| #define | FALSE 0 |
| #define | INTERP_TEXT_SIZE 256 |
| #define | TOLERANCE_INCH 0.0002 |
| #define | TOLERANCE_MM 0.002 |
| #define | TOLERANCE_CONCAVE_CORNER 0.01 |
| #define | TINY 1e-12 |
| #define | UNKNOWN 1e-20 |
| #define | TWO_PI 6.2831853071795864 |
| #define | PI 3.1415926535897932 |
| #define | PI2 1.5707963267948966 |
| #define | MAX_GEES 4 |
| #define | MAX_EMS 4 |
| #define | MAX_ACTIVES 100 |
| #define | MM_PER_INCH 25.4 |
| #define | INCH_PER_MM 0.039370078740157477 |
| #define | OFF 0 |
| #define | ON 1 |
| #define | UNITS_PER_MINUTE 0 |
| #define | INVERSE_TIME 1 |
| #define | RS274NGC_OK 0 |
| #define | RS274NGC_ERROR -1 |
| #define | RS274NGC_EXIT 1 |
| #define | RS274NGC_ENDFILE 2 |
| #define | RS274NGC_EXECUTE_FINISH 3 |
| #define | ABS 1 |
| #define | ACOS 2 |
| #define | ASIN 3 |
| #define | ATAN 4 |
| #define | COS 5 |
| #define | EXP 6 |
| #define | FIX 7 |
| #define | FUP 8 |
| #define | LN 9 |
| #define | ROUND 10 |
| #define | SIN 11 |
| #define | SQRT 12 |
| #define | TAN 13 |
| #define | NO_OPERATION 0 |
| #define | DIVIDED_BY 1 |
| #define | MODULO 2 |
| #define | POWER 3 |
| #define | TIMES 4 |
| #define | AND2 5 |
| #define | EXCLUSIVE_OR 6 |
| #define | MINUS 7 |
| #define | NON_EXCLUSIVE_OR 8 |
| #define | PLUS 9 |
| #define | RIGHT_BRACKET 10 |
| #define | G_0 0 |
| #define | G_1 10 |
| #define | G_2 20 |
| #define | G_3 30 |
| #define | G_4 40 |
| #define | G_10 100 |
| #define | G_17 170 |
| #define | G_18 180 |
| #define | G_19 190 |
| #define | G_20 200 |
| #define | G_21 210 |
| #define | G_38_2 382 |
| #define | G_40 400 |
| #define | G_41 410 |
| #define | G_42 420 |
| #define | G_43 430 |
| #define | G_49 490 |
| #define | G_53 530 |
| #define | G_54 540 |
| #define | G_55 550 |
| #define | G_56 560 |
| #define | G_57 570 |
| #define | G_58 580 |
| #define | G_59 590 |
| #define | G_59_1 591 |
| #define | G_59_2 592 |
| #define | G_59_3 593 |
| #define | G_61 610 |
| #define | G_64 640 |
| #define | G_80 800 |
| #define | G_81 810 |
| #define | G_82 820 |
| #define | G_83 830 |
| #define | G_84 840 |
| #define | G_85 850 |
| #define | G_86 860 |
| #define | G_87 870 |
| #define | G_88 880 |
| #define | G_89 890 |
| #define | G_90 900 |
| #define | G_91 910 |
| #define | G_92 920 |
| #define | G_92_2 922 |
| #define | G_93 930 |
| #define | G_94 940 |
| #define | G_98 980 |
| #define | G_99 990 |
| #define | ERROR_MACRO(text, function_name, message) |
| #define | ERR_MACRO(text, function_name, message) |
| #define | ERROR_MACRO_PASS(function_name) return RS274NGC_ERROR |
| #define | ERR_MACRO_PASS(function_name) |
| #define | BUG_MACRO(function_name, message) |
| #define | RS274NGC_MAX_PARAMETERS 5400 |
| #define | RS274NGC_COMMENT_LEN 256 |
| #define | DEFAULT_RS274NGC_PARAMETER_FILE "rs274ngc.var" |
| name of parameter file for saving/restoring interpreter variables. More... | |
| #define | RS274NGC_PARAMETER_FILE_BACKUP_SUFFIX ".bak" |
| #define | RS274NGC_ACTIVE_G_CODES 12 |
| copy active G codes into array [0]..[11]. More... | |
| #define | RS274NGC_ACTIVE_M_CODES 7 |
| copy active M codes into array [0]..[6]. More... | |
| #define | RS274NGC_ACTIVE_SETTINGS 3 |
| copy active F, S settings into array [0]..[2]. More... | |
Typedefs | |
| typedef int | ON_OFF |
| typedef setup_struct | setup |
| typedef setup * | setup_pointer |
| global in rs274ngc.cc for all settings. More... | |
| typedef block_struct | block |
| typedef block * | block_pointer |
Enumerations | |
| enum | DISTANCE_MODE { MODE_ABSOLUTE, MODE_INCREMENTAL } |
| enum | RETRACT_MODE { R_PLANE, OLD_Z } |
Functions | |
| int | rs274ngc_init () |
| int | rs274ngc_open (const char *filename) |
| int | rs274ngc_close () |
| int | rs274ngc_read () |
| int | rs274ngc_execute (const char *mdi=0) |
| int | rs274ngc_reset () |
| int | rs274ngc_synch () |
| int | rs274ngc_exit () |
| const char * | rs274ngc_file () |
| int | rs274ngc_line () |
| const char * | rs274ngc_command () |
| int | rs274ngc_load_tool_table () |
| int | rs274ngc_restore_parameters (const char *filename, double parameters[]) |
| restore interpreter variables from file. More... | |
| int | rs274ngc_save_parameters (const char *filename, const double parameters[]) |
| save interpreter variables to file. More... | |
| int | rs274ngc_ini_load (const char *filename) |
| load settings from INI file. More... | |
| int | rs274ngc_active_g_codes (int *codes) |
| int | rs274ngc_active_m_codes (int *codes) |
| int | rs274ngc_active_settings (double *settings) |
Variables | |
| setup | _interpreter_settings |
| char | RS274NGC_PARAMETER_FILE [INTERP_TEXT_SIZE] |
|
|
These are not enums because the "&" operator is used in reading the operation names and is illegal with an enum Definition at line 103 of file rs274ngc.hh. |
|
|
Definition at line 104 of file rs274ngc.hh. |
|
|
COMPILER MACROS Definition at line 33 of file rs274ngc.hh. Referenced by adjust_error_handling(), check_other_codes(), close_and_down(), close_and_downcase(), convert_arc_comp1(), convert_arc_comp2(), convert_straight_comp2(), execute_binary1(), interpret_from_file(), interpret_from_keyboard(), print_nc_line_number(), read_text(), and rs274ngc_read().
|
|
|
Definition at line 124 of file rs274ngc.hh. |
|
|
Definition at line 105 of file rs274ngc.hh. |
|
|
Definition at line 106 of file rs274ngc.hh. |
|
|
Value: if (1) \
{ \
CANON_ERROR("%s: bug %d: %s", \
function_name, \
utility_error_number(message, interp_errors, 200), \
message); \
return RS274NGC_ERROR; \
} elseDefinition at line 272 of file rs274ngc.hh. Referenced by convert_coordinate_system(), execute_binary1(), execute_binary2(), and execute_unary().
|
|
|
Definition at line 107 of file rs274ngc.hh. |
|
|
name of parameter file for saving/restoring interpreter variables.
Definition at line 415 of file rs274ngc.hh. |
|
|
Definition at line 120 of file rs274ngc.hh. |
|
|
Value: if (1) { \
CANON_ERROR("%s\n%s: error %d: %s", \
text, \
function_name, \
utility_error_number(message, interp_errors, 0), \
message); \
return RS274NGC_ERROR; \
} elseIf error handling is changed somewhat, only the macros will need changing. There are two types of error handling macro, one for handling errors in the input code (named ERROR_MACRO) and one (named BUG_MACRO) for handling situations that should never occur regardless of the input code, and will only occur if there is a bug in the program. Definition at line 213 of file rs274ngc.hh. Referenced by check_other_codes(), close_and_downcase(), convert_cycle(), execute_binary1(), execute_unary(), and read_one_item().
|
|
|
Definition at line 252 of file rs274ngc.hh. Referenced by convert_cutter_compensation(), convert_g(), convert_modal_0(), convert_motion(), and execute_block().
|
|
|
Value: if (1) { \
if (_interpreter_fp ISNT NULL) \
{fclose(_interpreter_fp); _interpreter_fp SET_TO NULL;} \
CANON_ERROR("%s\n%s: error %d: %s", \
text, \
function_name, \
utility_error_number(message, interp_errors, 0), \
message); \
return RS274NGC_ERROR; \
} elseDefinition at line 239 of file rs274ngc.hh. Referenced by rs274ngc_execute(), rs274ngc_read(), rs274ngc_restore_parameters(), and rs274ngc_save_parameters().
|
|
|
Value: if (1) { \
if (_interpreter_fp ISNT NULL) \
{fclose(_interpreter_fp); _interpreter_fp SET_TO NULL;} \
return RS274NGC_ERROR; \
} elseDefinition at line 254 of file rs274ngc.hh. Referenced by rs274ngc_read().
|
|
|
Definition at line 125 of file rs274ngc.hh. |
|
|
Definition at line 108 of file rs274ngc.hh. |
|
|
Definition at line 46 of file rs274ngc.hh. |
|
|
Definition at line 109 of file rs274ngc.hh. |
|
|
Definition at line 110 of file rs274ngc.hh. |
|
|
G Codes are symbolic to be dialect-independent in source code Definition at line 132 of file rs274ngc.hh. |
|
|
Definition at line 133 of file rs274ngc.hh. |
|
|
Definition at line 137 of file rs274ngc.hh. |
|
|
Definition at line 138 of file rs274ngc.hh. |
|
|
Definition at line 139 of file rs274ngc.hh. |
|
|
Definition at line 140 of file rs274ngc.hh. |
|
|
Definition at line 134 of file rs274ngc.hh. |
|
|
Definition at line 141 of file rs274ngc.hh. |
|
|
Definition at line 142 of file rs274ngc.hh. |
|
|
Definition at line 135 of file rs274ngc.hh. |
|
|
Definition at line 143 of file rs274ngc.hh. |
|
|
Definition at line 136 of file rs274ngc.hh. |
|
|
Definition at line 144 of file rs274ngc.hh. |
|
|
Definition at line 145 of file rs274ngc.hh. |
|
|
Definition at line 146 of file rs274ngc.hh. |
|
|
Definition at line 147 of file rs274ngc.hh. |
|
|
Definition at line 148 of file rs274ngc.hh. |
|
|
Definition at line 149 of file rs274ngc.hh. |
|
|
Definition at line 150 of file rs274ngc.hh. |
|
|
Definition at line 151 of file rs274ngc.hh. |
|
|
Definition at line 152 of file rs274ngc.hh. |
|
|
Definition at line 153 of file rs274ngc.hh. |
|
|
Definition at line 154 of file rs274ngc.hh. |
|
|
Definition at line 155 of file rs274ngc.hh. |
|
|
Definition at line 156 of file rs274ngc.hh. |
|
|
Definition at line 157 of file rs274ngc.hh. |
|
|
Definition at line 158 of file rs274ngc.hh. |
|
|
Definition at line 159 of file rs274ngc.hh. |
|
|
Definition at line 160 of file rs274ngc.hh. |
|
|
Definition at line 161 of file rs274ngc.hh. |
|
|
Definition at line 162 of file rs274ngc.hh. |
|
|
Definition at line 163 of file rs274ngc.hh. |
|
|
Definition at line 164 of file rs274ngc.hh. |
|
|
Definition at line 165 of file rs274ngc.hh. |
|
|
Definition at line 166 of file rs274ngc.hh. |
|
|
Definition at line 167 of file rs274ngc.hh. |
|
|
Definition at line 168 of file rs274ngc.hh. |
|
|
Definition at line 169 of file rs274ngc.hh. |
|
|
Definition at line 170 of file rs274ngc.hh. |
|
|
Definition at line 171 of file rs274ngc.hh. |
|
|
Definition at line 172 of file rs274ngc.hh. |
|
|
Definition at line 173 of file rs274ngc.hh. |
|
|
Definition at line 174 of file rs274ngc.hh. |
|
|
Definition at line 175 of file rs274ngc.hh. |
|
|
Definition at line 176 of file rs274ngc.hh. |
|
|
Definition at line 177 of file rs274ngc.hh. |
|
|
Definition at line 178 of file rs274ngc.hh. |
|
|
Definition at line 74 of file rs274ngc.hh. |
|
|
Definition at line 49 of file rs274ngc.hh. |
|
|
Definition at line 82 of file rs274ngc.hh. |
|
|
Definition at line 34 of file rs274ngc.hh. |
|
|
Definition at line 35 of file rs274ngc.hh. |
|
|
Definition at line 111 of file rs274ngc.hh. |
|
|
Definition at line 36 of file rs274ngc.hh. |
|
|
Definition at line 70 of file rs274ngc.hh. |
|
|
Definition at line 69 of file rs274ngc.hh. |
|
|
Definition at line 68 of file rs274ngc.hh. |
|
|
Definition at line 126 of file rs274ngc.hh. |
|
|
English - Metric conversion (long number keeps error buildup down) Definition at line 73 of file rs274ngc.hh. |
|
|
Definition at line 121 of file rs274ngc.hh. |
|
|
Definition at line 127 of file rs274ngc.hh. |
|
|
Definition at line 37 of file rs274ngc.hh. |
|
|
binary operations Definition at line 119 of file rs274ngc.hh. |
|
|
on-off switch settings Definition at line 77 of file rs274ngc.hh. |
|
|
Definition at line 78 of file rs274ngc.hh. |
|
|
Definition at line 38 of file rs274ngc.hh. Referenced by close_and_down(), close_and_downcase(), execute_unary(), find_straight_length(), main(), and print_nc_line_number().
|
|
|
Definition at line 61 of file rs274ngc.hh. |
|
|
Definition at line 65 of file rs274ngc.hh. |
|
|
Definition at line 128 of file rs274ngc.hh. |
|
|
Definition at line 122 of file rs274ngc.hh. |
|
|
Definition at line 129 of file rs274ngc.hh. |
|
|
Definition at line 112 of file rs274ngc.hh. |
|
|
copy active G codes into array [0]..[11].
Definition at line 429 of file rs274ngc.hh. |
|
|
copy active M codes into array [0]..[6].
Definition at line 433 of file rs274ngc.hh. |
|
|
copy active F, S settings into array [0]..[2].
Definition at line 437 of file rs274ngc.hh. |
|
|
Definition at line 362 of file rs274ngc.hh. |
|
|
Definition at line 89 of file rs274ngc.hh. |
|
|
Definition at line 87 of file rs274ngc.hh. |
|
|
Definition at line 90 of file rs274ngc.hh. |
|
|
Definition at line 88 of file rs274ngc.hh. |
|
|
Definition at line 307 of file rs274ngc.hh. |
|
|
error and exit status Definition at line 86 of file rs274ngc.hh. |
|
|
Definition at line 417 of file rs274ngc.hh. |
|
|
Definition at line 39 of file rs274ngc.hh. Referenced by START_SPINDLE_CLOCKWISE(), START_SPINDLE_COUNTERCLOCKWISE(), STRAIGHT_PROBE(), USE_LENGTH_UNITS(), adjust_error_handling(), close_and_down(), close_and_downcase(), convert_arc_comp1(), convert_arc_comp2(), convert_straight_comp1(), convert_straight_comp2(), convert_tool_length_offset(), execute_binary1(), execute_binary2(), execute_unary(), find_ends(), main(), read_real_number(), read_text(), and rs274ngc_synch().
|
|
|
Definition at line 113 of file rs274ngc.hh. |
|
|
Definition at line 114 of file rs274ngc.hh. |
|
|
Definition at line 115 of file rs274ngc.hh. |
|
|
Definition at line 123 of file rs274ngc.hh. |
|
|
Definition at line 56 of file rs274ngc.hh. |
|
|
Definition at line 54 of file rs274ngc.hh. |
|
|
numerical constants Definition at line 52 of file rs274ngc.hh. |
|
|
Definition at line 53 of file rs274ngc.hh. |
|
|
Definition at line 42 of file rs274ngc.hh. |
|
|
Definition at line 58 of file rs274ngc.hh. |
|
|
feed_mode Definition at line 81 of file rs274ngc.hh. |
|
|
Definition at line 57 of file rs274ngc.hh. |
|
|
The current_x, current_y, and current_z are the location of the tool in the current coordinate system. current_x and current_y differ from program_x and program_y when cutter radius compensation is on. current_z is the position of the tool tip in program coordinates when tool length compensation is on; it is the position of the spindle when tool length compensation is off. Definition at line 305 of file rs274ngc.hh. |
|
|
|
|
|
Definition at line 395 of file rs274ngc.hh. |
|
|
|
|
|
global in rs274ngc.cc for all settings.
Definition at line 360 of file rs274ngc.hh. |
|
|
distance_mode Definition at line 289 of file rs274ngc.hh. 00289 {MODE_ABSOLUTE, MODE_INCREMENTAL} DISTANCE_MODE;
|
|
|
retract_mode for cycles Definition at line 292 of file rs274ngc.hh. 00292 {R_PLANE, OLD_Z} RETRACT_MODE;
|
|
|
Definition at line 11940 of file rs274ngc_pre.cc. 11942 {
11943 int n;
11944
11945 for (n SET_TO 0; n < RS274NGC_ACTIVE_G_CODES; n++)
11946 {
11947 codes[n] SET_TO _setup.active_g_codes[n];
11948 }
11949 }
|
|
|
Definition at line 11965 of file rs274ngc_pre.cc. 11967 {
11968 int n;
11969
11970 for (n SET_TO 0; n < RS274NGC_ACTIVE_M_CODES; n++)
11971 {
11972 codes[n] SET_TO _setup.active_m_codes[n];
11973 }
11974 }
|
|
|
Definition at line 11990 of file rs274ngc_pre.cc. 11992 {
11993 int n;
11994
11995 for (n SET_TO 0; n < RS274NGC_ACTIVE_SETTINGS; n++)
11996 {
11997 settings[n] SET_TO _setup.active_settings[n];
11998 }
11999 }
|
|
|
Definition at line 11144 of file rs274ngc_pre.cc. 11145 {
11146 if (_setup.file_pointer ISNT NULL)
11147 {
11148 fclose(_setup.file_pointer);
11149 _setup.file_pointer SET_TO NULL;
11150 }
11151 rs274ngc_reset();
11152
11153 return RS274NGC_OK;
11154 }
|
|
|
Definition at line 437 of file new/rs274ngc.hh. 00437 { static char buf[100]; rs274ngc_line_text(buf,100); return buf;}
|
|
|
Definition at line 11179 of file rs274ngc_pre.cc. 11183 {
11184 static char name[] SET_TO "rs274ngc_execute";
11185 int status;
11186 int n;
11187
11188 #ifndef NOT_OLD_EMC_INTERP_COMPATIBLE
11189 if(NULL != command)
11190 {
11191 status = rs274ngc_read(command);
11192 }
11193 #endif
11194
11195 for (n SET_TO 0; n < _setup.parameter_occurrence; n++)
11196 { // copy parameter settings from parameter buffer into parameter table
11197 _setup.parameters[_setup.parameter_numbers[n]]
11198 SET_TO _setup.parameter_values[n];
11199 }
11200 if (_setup.line_length ISNT 0) /* line not blank */
11201 {
11202 status SET_TO execute_block (&(_setup.block1), &_setup);
11203 write_g_codes(&(_setup.block1), &_setup);
11204 write_m_codes(&(_setup.block1), &_setup);
11205 write_settings(&_setup);
11206 if ((status ISNT RS274NGC_OK) AND
11207 (status ISNT RS274NGC_EXECUTE_FINISH) AND
11208 (status ISNT RS274NGC_EXIT))
11209 ERP(status);
11210 }
11211 else /* blank line is OK */
11212 status SET_TO RS274NGC_OK;
11213 return status;
11214 }
|
|
|
Definition at line 11233 of file rs274ngc_pre.cc. 11234 {
11235 char file_name[RS274NGC_TEXT_SIZE];
11236
11237 GET_EXTERNAL_PARAMETER_FILE_NAME(file_name, (RS274NGC_TEXT_SIZE - 1));
11238 rs274ngc_save_parameters
11239 (((file_name[0] IS 0) ? RS274NGC_PARAMETER_FILE_NAME_DEFAULT : file_name),
11240 _setup.parameters);
11241 rs274ngc_reset();
11242
11243 return RS274NGC_OK;
11244 }
|
|
|
Definition at line 438 of file new/rs274ngc.hh. 00438 { static char buf[100]; rs274ngc_file_name(buf,100); return buf;}
|
|
|
load settings from INI file.
|
|
|
calling interface Definition at line 11273 of file rs274ngc_pre.cc. 11274 {
11275 static char name[] SET_TO "rs274ngc_init";
11276 int k; // starting index in parameters of origin offsets
11277 int status;
11278 char filename[RS274NGC_TEXT_SIZE];
11279 double * pars; // short name for _setup.parameters
11280
11281 INIT_CANON();
11282 _setup.length_units SET_TO GET_EXTERNAL_LENGTH_UNIT_TYPE();
11283 USE_LENGTH_UNITS(_setup.length_units);
11284 GET_EXTERNAL_PARAMETER_FILE_NAME(filename, RS274NGC_TEXT_SIZE);
11285 if (filename[0] IS 0)
11286 strcpy(filename, RS274NGC_PARAMETER_FILE_NAME_DEFAULT);
11287 CHP(rs274ngc_restore_parameters(filename));
11288 pars SET_TO _setup.parameters;
11289 _setup.origin_index SET_TO (int)(pars[5220] + 0.0001);
11290 CHK(((_setup.origin_index < 1) OR (_setup.origin_index > 9)),
11291 NCE_COORDINATE_SYSTEM_INDEX_PARAMETER_5220_OUT_OF_RANGE);
11292 k SET_TO (5200 + (_setup.origin_index * 20));
11293 SET_ORIGIN_OFFSETS((pars[k + 1] + pars[5211]),
11294 (pars[k + 2] + pars[5212]),
11295 (pars[k + 3] + pars[5213])
11296 #ifdef AA
11297 , (pars[k + 4] + pars[5214])
11298 #else
11299 #ifdef ALL_AXES
11300 , 0
11301 #endif
11302 #endif
11303 #ifdef BB
11304 , (pars[k + 5] + pars[5215])
11305 #else
11306 #ifdef ALL_AXES
11307 , 0
11308 #endif
11309 #endif
11310 #ifdef CC
11311 , (pars[k + 6] + pars[5216])
11312 #else
11313 #ifdef ALL_AXES
11314 , 0
11315 #endif
11316 #endif
11317 );
11318 SET_FEED_REFERENCE(CANON_XYZ);
11319 #ifdef AA
11320 _setup.AA_axis_offset SET_TO pars[5214]; /*AA*/
11321 #endif
11322 //_setup.Aa_current set in rs274ngc_synch
11323 #ifdef AA
11324 _setup.AA_origin_offset SET_TO pars[k + 4]; /*AA*/
11325 #endif
11326 //_setup.active_g_codes initialized below
11327 //_setup.active_m_codes initialized below
11328 //_setup.active_settings initialized below
11329 _setup.axis_offset_x SET_TO pars[5211];
11330 _setup.axis_offset_y SET_TO pars[5212];
11331 _setup.axis_offset_z SET_TO pars[5213];
11332 #ifdef BB
11333 _setup.BB_axis_offset SET_TO pars[5215]; /*BB*/
11334 #endif
11335 //_setup.Bb_current set in rs274ngc_synch
11336 #ifdef BB
11337 _setup.BB_origin_offset SET_TO pars[k + 5]; /*BB*/
11338 #endif
11339 //_setup.block1 does not need initialization
11340 _setup.blocktext[0] SET_TO 0;
11341 #ifdef CC
11342 _setup.CC_axis_offset SET_TO pars[5216]; /*CC*/
11343 #endif
11344 //_setup.Cc_current set in rs274ngc_synch
11345 #ifdef CC
11346 _setup.CC_origin_offset SET_TO pars[k + 6]; /*CC*/
11347 #endif
11348 //_setup.current_slot set in rs274ngc_synch
11349 //_setup.current_x set in rs274ngc_synch
11350 //_setup.current_y set in rs274ngc_synch
11351 //_setup.current_z set in rs274ngc_synch
11352 _setup.cutter_comp_side SET_TO OFF;
11353 //_setup.cycle values do not need initialization
11354 _setup.distance_mode SET_TO MODE_ABSOLUTE;
11355 _setup.feed_mode SET_TO UNITS_PER_MINUTE;
11356 _setup.feed_override SET_TO ON;
11357 //_setup.feed_rate set in rs274ngc_synch
11358 _setup.filename[0] SET_TO 0;
11359 _setup.file_pointer SET_TO NULL;
11360 //_setup.flood set in rs274ngc_synch
11361 _setup.length_offset_index SET_TO 1;
11362 //_setup.length_units set in rs274ngc_synch
11363 _setup.line_length SET_TO 0;
11364 _setup.linetext[0] SET_TO 0;
11365 //_setup.mist set in rs274ngc_synch
11366 _setup.motion_mode SET_TO G_80;
11367 //_setup.origin_index set above
11368 _setup.origin_offset_x SET_TO pars[k + 1];
11369 _setup.origin_offset_y SET_TO pars[k + 2];
11370 _setup.origin_offset_z SET_TO pars[k + 3];
11371 //_setup.parameters set above
11372 //_setup.parameter_occurrence does not need initialization
11373 //_setup.parameter_numbers does not need initialization
11374 //_setup.parameter_values does not need initialization
11375 //_setup.percent_flag does not need initialization
11376 //_setup.plane set in rs274ngc_synch
11377 _setup.probe_flag SET_TO OFF;
11378 _setup.program_x SET_TO UNKNOWN; /* for cutter comp */
11379 _setup.program_y SET_TO UNKNOWN; /* for cutter comp */
11380 //_setup.retract_mode does not need initialization
11381 //_setup.selected_tool_slot set in rs274ngc_synch
11382 _setup.sequence_number SET_TO 0; /*DOES THIS NEED TO BE AT TOP? */
11383 //_setup.speed set in rs274ngc_synch
11384 _setup.speed_feed_mode SET_TO CANON_INDEPENDENT;
11385 _setup.speed_override SET_TO ON;
11386 //_setup.spindle_turning set in rs274ngc_synch
11387 //_setup.stack does not need initialization
11388 //_setup.stack_index does not need initialization
11389 _setup.tool_length_offset SET_TO 0.0;
11390 //_setup.tool_max set in rs274ngc_synch
11391 //_setup.tool_table set in rs274ngc_synch
11392 _setup.tool_table_index SET_TO 1;
11393 //_setup.traverse_rate set in rs274ngc_synch
11394
11395 write_g_codes((block_pointer)NULL, &_setup);
11396 write_m_codes((block_pointer)NULL, &_setup);
11397 write_settings(&_setup);
11398
11399 // Synch rest of settings to external world
11400 rs274ngc_synch();
11401
11402 return RS274NGC_OK;
11403 }
|
|
|
Definition at line 436 of file new/rs274ngc.hh. 00436 {return rs274ngc_sequence_number();}
|
|
|
Definition at line 11429 of file rs274ngc_pre.cc. 11430 {
11431 static char name[] SET_TO "rs274ngc_load_tool_table";
11432 int n;
11433
11434 CHK((_setup.tool_max > CANON_TOOL_MAX), NCE_TOOL_MAX_TOO_LARGE);
11435 for (n SET_TO 0; n <= _setup.tool_max; n++)
11436 {
11437 _setup.tool_table[n] SET_TO GET_EXTERNAL_TOOL_TABLE(n);
11438 }
11439 for(; n <= CANON_TOOL_MAX; n++)
11440 {
11441 _setup.tool_table[n].id SET_TO 0;
11442 _setup.tool_table[n].length SET_TO 0;
11443 _setup.tool_table[n].diameter SET_TO 0;
11444 }
11445
11446 return RS274NGC_OK;
11447 }
|
|
|
Definition at line 11495 of file rs274ngc_pre.cc. 11496 : the name of the input NC-program file */
11497 {
11498 static char name[] SET_TO "rs274ngc_open";
11499 char * line;
11500 int index;
11501 int length;
11502
11503 CHK((_setup.file_pointer ISNT NULL), NCE_A_FILE_IS_ALREADY_OPEN);
11504 CHK((strlen(filename) > (RS274NGC_TEXT_SIZE - 1)), NCE_FILE_NAME_TOO_LONG);
11505 _setup.file_pointer SET_TO fopen(filename, "r");
11506 CHK((_setup.file_pointer IS NULL), NCE_UNABLE_TO_OPEN_FILE);
11507 line SET_TO _setup.linetext;
11508 for(index SET_TO -1; index IS -1;) /* skip blank lines */
11509 {
11510 CHK((fgets(line, RS274NGC_TEXT_SIZE, _setup.file_pointer) IS NULL),
11511 NCE_FILE_ENDED_WITH_NO_PERCENT_SIGN);
11512 length SET_TO strlen(line);
11513 if (length IS (RS274NGC_TEXT_SIZE - 1))
11514 { // line is too long. need to finish reading the line to recover
11515 for(;fgetc(_setup.file_pointer) ISNT '\n';); // could look for EOF
11516 ERM(NCE_COMMAND_TOO_LONG);
11517 }
11518 for(index SET_TO (length -1); // index set on last char
11519 (index >= 0) AND (isspace(line[index]));
11520 index--);
11521 }
11522 if(line[index] IS '%')
11523 {
11524 for(index--; (index >= 0) AND (isspace(line[index])); index--);
11525 if (index IS -1)
11526 {
11527 _setup.percent_flag SET_TO ON;
11528 _setup.sequence_number=1; // We have already read the first line
11529 // and we are not going back to it.
11530 }
11531 else
11532 {
11533 fseek(_setup.file_pointer, 0, SEEK_SET);
11534 _setup.percent_flag SET_TO OFF;
11535 _setup.sequence_number=0; // Going back to line 0
11536 }
11537 }
11538 else
11539 {
11540 fseek(_setup.file_pointer, 0, SEEK_SET);
11541 _setup.percent_flag SET_TO OFF;
11542 _setup.sequence_number=0; // Going back to line 0
11543 }
11544 strcpy(_setup.filename, filename);
11545 rs274ngc_reset();
11546 return RS274NGC_OK;
11547 }
|
|
|
|
|
|
Definition at line 11643 of file rs274ngc_pre.cc. |
|
||||||||||||
|
restore interpreter variables from file.
|
|
||||||||||||
|
save interpreter variables to file.
Definition at line 11787 of file rs274ngc_pre.cc. 11790 {
11791 static char name[] SET_TO "rs274ngc_save_parameters";
11792 FILE * infile;
11793 FILE * outfile;
11794 char line[256];
11795 int variable;
11796 double value;
11797 int required; // number of next required parameter
11798 int index; // index into _required_parameters
11799 int k;
11800
11801 // rename as .bak
11802 strcpy(line, filename);
11803 strcat(line, RS274NGC_PARAMETER_FILE_BACKUP_SUFFIX);
11804 CHK((rename(filename, line) ISNT 0), NCE_CANNOT_CREATE_BACKUP_FILE);
11805
11806 // open backup for reading
11807 infile SET_TO fopen(line, "r");
11808 CHK((infile IS NULL), NCE_CANNOT_OPEN_BACKUP_FILE);
11809
11810 // open original for writing
11811 outfile SET_TO fopen(filename, "w");
11812 CHK((outfile IS NULL), NCE_CANNOT_OPEN_VARIABLE_FILE);
11813
11814 k SET_TO 0;
11815 index SET_TO 0;
11816 required SET_TO _required_parameters[index++];
11817 while (feof(infile) IS 0)
11818 {
11819 if (fgets(line, 256, infile) IS NULL)
11820 {
11821 break;
11822 }
11823 // try for a variable-value match
11824 if (sscanf(line, "%d %lf", &variable, &value) IS 2)
11825 {
11826 CHK(((variable <= 0) OR (variable >= RS274NGC_MAX_PARAMETERS)),
11827 NCE_PARAMETER_NUMBER_OUT_OF_RANGE);
11828 for (; k < RS274NGC_MAX_PARAMETERS; k++)
11829 {
11830 if (k > variable)
11831 ERM(NCE_PARAMETER_FILE_OUT_OF_ORDER);
11832 else if (k IS variable)
11833 {
11834 sprintf(line, "%d\t%f\n", k, parameters[k]);
11835 fputs(line, outfile);
11836 if (k IS required)
11837 required SET_TO _required_parameters[index++];
11838 k++;
11839 break;
11840 }
11841 else if (k IS required) // know (k < variable)
11842 {
11843 sprintf(line, "%d\t%f\n", k, parameters[k]);
11844 fputs(line, outfile);
11845 required SET_TO _required_parameters[index++];
11846 }
11847 }
11848 }
11849 }
11850 fclose(infile);
11851 for (; k < RS274NGC_MAX_PARAMETERS; k++)
11852 {
11853 if (k IS required)
11854 {
11855 sprintf(line, "%d\t%f\n", k, parameters[k]);
11856 fputs(line, outfile);
11857 required SET_TO _required_parameters[index++];
11858 }
11859 }
11860 fclose(outfile);
11861
11862 return RS274NGC_OK;
11863 }
|
|
|
Definition at line 11884 of file rs274ngc_pre.cc. 11885 {
11886 _setup.control_mode SET_TO GET_EXTERNAL_MOTION_CONTROL_MODE();
11887 #ifdef AA
11888 _setup.AA_current SET_TO GET_EXTERNAL_POSITION_A(); /*AA*/
11889 #endif
11890 #ifdef BB
11891 _setup.BB_current SET_TO GET_EXTERNAL_POSITION_B(); /*BB*/
11892 #endif
11893 #ifdef CC
11894 _setup.CC_current SET_TO GET_EXTERNAL_POSITION_C(); /*CC*/
11895 #endif
11896 _setup.current_slot SET_TO GET_EXTERNAL_TOOL_SLOT();
11897 _setup.current_x SET_TO GET_EXTERNAL_POSITION_X();
11898 _setup.current_y SET_TO GET_EXTERNAL_POSITION_Y();
11899 _setup.current_z SET_TO GET_EXTERNAL_POSITION_Z();
11900 _setup.feed_rate SET_TO GET_EXTERNAL_FEED_RATE();
11901 _setup.flood SET_TO (GET_EXTERNAL_FLOOD() ISNT 0) ? ON : OFF;
11902 _setup.length_units SET_TO GET_EXTERNAL_LENGTH_UNIT_TYPE();
11903 _setup.mist SET_TO (GET_EXTERNAL_MIST() ISNT 0) ? ON : OFF;
11904 _setup.plane SET_TO GET_EXTERNAL_PLANE();
11905 _setup.selected_tool_slot SET_TO GET_EXTERNAL_TOOL_SLOT();
11906 _setup.speed SET_TO GET_EXTERNAL_SPEED();
11907 _setup.spindle_turning SET_TO GET_EXTERNAL_SPINDLE();
11908 _setup.tool_max SET_TO GET_EXTERNAL_TOOL_MAX();
11909 _setup.traverse_rate SET_TO GET_EXTERNAL_TRAVERSE_RATE();
11910
11911 rs274ngc_load_tool_table(); /* must set _setup.tool_max first */
11912
11913 return RS274NGC_OK;
11914 }
|
|
|
Definition at line 416 of file rs274ngc.hh. |
|
|
Definition at line 358 of file rs274ngc.hh. |
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001