#include <stdio.h>#include "canon.hh"Include dependency graph for new/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 | RS274NGC_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 | RS274NGC_ACTIVE_G_CODES 12 |
| #define | RS274NGC_ACTIVE_M_CODES 7 |
| #define | RS274NGC_ACTIVE_SETTINGS 3 |
| #define | RS274NGC_PARAMETER_FILE_NAME_DEFAULT "rs274ngc.var" |
| #define | RS274NGC_PARAMETER_FILE_BACKUP_SUFFIX ".bak" |
| #define | MAX_EMS 4 |
| #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 | RIGHT 1 |
| #define | LEFT 2 |
| #define | RS274NGC_MAX_PARAMETERS 5400 |
| #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_28 280 |
| #define | G_30 300 |
| #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_61_1 611 |
| #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_1 921 |
| #define | G_92_2 922 |
| #define | G_92_3 923 |
| #define | G_93 930 |
| #define | G_94 940 |
| #define | G_98 980 |
| #define | G_99 990 |
Typedefs | |
| typedef int | ON_OFF |
| typedef block_struct | block |
| typedef block * | block_pointer |
| typedef setup_struct | setup |
| typedef setup * | setup_pointer |
| typedef int(* | read_function_pointer )(char *, int *, block_pointer, double *) |
Enumerations | |
| enum | DISTANCE_MODE { MODE_ABSOLUTE, MODE_INCREMENTAL } |
| enum | RETRACT_MODE { R_PLANE, OLD_Z } |
Functions | |
| int | rs274ngc_close () |
| int | rs274ngc_execute (const char *command=0) |
| int | rs274ngc_exit () |
| int | rs274ngc_init () |
| int | rs274ngc_load_tool_table () |
| int | rs274ngc_open (const char *filename) |
| int | rs274ngc_read (const char *mdi=0) |
| int | rs274ngc_reset () |
| int | rs274ngc_restore_parameters (const char *filename) |
| int | rs274ngc_save_parameters (const char *filename, const double parameters[]) |
| int | rs274ngc_synch () |
| void | rs274ngc_active_g_codes (int *codes) |
| void | rs274ngc_active_m_codes (int *codes) |
| void | rs274ngc_active_settings (double *settings) |
| void | rs274ngc_error_text (int error_code, char *error_text, int max_size) |
| void | rs274ngc_file_name (char *file_name, int max_size) |
| int | rs274ngc_line_length () |
| void | rs274ngc_line_text (char *line_text, int max_size) |
| int | rs274ngc_sequence_number () |
| void | rs274ngc_stack_name (int stack_index, char *function_name, int max_size) |
| int | rs274ngc_ini_load (const char *filename) |
| load settings from INI file. More... | |
| int | rs274ngc_line () |
| const char * | rs274ngc_command () |
| const char * | rs274ngc_file () |
|
|
Definition at line 93 of file new/rs274ngc.hh. |
|
|
Definition at line 94 of file new/rs274ngc.hh. |
|
|
Definition at line 22 of file new/rs274ngc.hh. |
|
|
Definition at line 114 of file new/rs274ngc.hh. |
|
|
Definition at line 95 of file new/rs274ngc.hh. |
|
|
Definition at line 96 of file new/rs274ngc.hh. |
|
|
Definition at line 97 of file new/rs274ngc.hh. |
|
|
Definition at line 110 of file new/rs274ngc.hh. |
|
|
Definition at line 115 of file new/rs274ngc.hh. |
|
|
Definition at line 98 of file new/rs274ngc.hh. |
|
|
Definition at line 35 of file new/rs274ngc.hh. |
|
|
Definition at line 99 of file new/rs274ngc.hh. |
|
|
Definition at line 100 of file new/rs274ngc.hh. |
|
|
Definition at line 122 of file new/rs274ngc.hh. |
|
|
Definition at line 123 of file new/rs274ngc.hh. |
|
|
Definition at line 127 of file new/rs274ngc.hh. |
|
|
Definition at line 128 of file new/rs274ngc.hh. |
|
|
Definition at line 129 of file new/rs274ngc.hh. |
|
|
Definition at line 130 of file new/rs274ngc.hh. |
|
|
Definition at line 124 of file new/rs274ngc.hh. |
|
|
Definition at line 131 of file new/rs274ngc.hh. |
|
|
Definition at line 132 of file new/rs274ngc.hh. |
|
|
Definition at line 133 of file new/rs274ngc.hh. |
|
|
Definition at line 125 of file new/rs274ngc.hh. |
|
|
Definition at line 134 of file new/rs274ngc.hh. |
|
|
Definition at line 135 of file new/rs274ngc.hh. |
|
|
Definition at line 126 of file new/rs274ngc.hh. |
|
|
Definition at line 136 of file new/rs274ngc.hh. |
|
|
Definition at line 137 of file new/rs274ngc.hh. |
|
|
Definition at line 138 of file new/rs274ngc.hh. |
|
|
Definition at line 139 of file new/rs274ngc.hh. |
|
|
Definition at line 140 of file new/rs274ngc.hh. |
|
|
Definition at line 141 of file new/rs274ngc.hh. |
|
|
Definition at line 142 of file new/rs274ngc.hh. |
|
|
Definition at line 143 of file new/rs274ngc.hh. |
|
|
Definition at line 144 of file new/rs274ngc.hh. |
|
|
Definition at line 145 of file new/rs274ngc.hh. |
|
|
Definition at line 146 of file new/rs274ngc.hh. |
|
|
Definition at line 147 of file new/rs274ngc.hh. |
|
|
Definition at line 148 of file new/rs274ngc.hh. |
|
|
Definition at line 149 of file new/rs274ngc.hh. |
|
|
Definition at line 150 of file new/rs274ngc.hh. |
|
|
Definition at line 151 of file new/rs274ngc.hh. |
|
|
Definition at line 152 of file new/rs274ngc.hh. |
|
|
Definition at line 153 of file new/rs274ngc.hh. |
|
|
Definition at line 154 of file new/rs274ngc.hh. |
|
|
Definition at line 155 of file new/rs274ngc.hh. |
|
|
Definition at line 156 of file new/rs274ngc.hh. |
|
|
Definition at line 157 of file new/rs274ngc.hh. |
|
|
Definition at line 158 of file new/rs274ngc.hh. |
|
|
Definition at line 159 of file new/rs274ngc.hh. |
|
|
Definition at line 160 of file new/rs274ngc.hh. |
|
|
Definition at line 161 of file new/rs274ngc.hh. |
|
|
Definition at line 162 of file new/rs274ngc.hh. |
|
|
Definition at line 163 of file new/rs274ngc.hh. |
|
|
Definition at line 164 of file new/rs274ngc.hh. |
|
|
Definition at line 165 of file new/rs274ngc.hh. |
|
|
Definition at line 166 of file new/rs274ngc.hh. |
|
|
Definition at line 167 of file new/rs274ngc.hh. |
|
|
Definition at line 168 of file new/rs274ngc.hh. |
|
|
Definition at line 169 of file new/rs274ngc.hh. |
|
|
Definition at line 170 of file new/rs274ngc.hh. |
|
|
Definition at line 171 of file new/rs274ngc.hh. |
|
|
Definition at line 172 of file new/rs274ngc.hh. |
|
|
Definition at line 173 of file new/rs274ngc.hh. |
|
|
Definition at line 71 of file new/rs274ngc.hh. |
|
|
Definition at line 79 of file new/rs274ngc.hh. |
|
|
Definition at line 23 of file new/rs274ngc.hh. |
|
|
Definition at line 24 of file new/rs274ngc.hh. |
|
|
Definition at line 84 of file new/rs274ngc.hh. |
|
|
Definition at line 101 of file new/rs274ngc.hh. |
|
|
Definition at line 25 of file new/rs274ngc.hh. |
|
|
Definition at line 67 of file new/rs274ngc.hh. |
|
|
Definition at line 116 of file new/rs274ngc.hh. |
|
|
Definition at line 70 of file new/rs274ngc.hh. |
|
|
Definition at line 111 of file new/rs274ngc.hh. |
|
|
Definition at line 117 of file new/rs274ngc.hh. |
|
|
Definition at line 26 of file new/rs274ngc.hh. |
|
|
Definition at line 109 of file new/rs274ngc.hh. |
|
|
Definition at line 74 of file new/rs274ngc.hh. |
|
|
Definition at line 75 of file new/rs274ngc.hh. |
|
|
Definition at line 27 of file new/rs274ngc.hh. |
|
|
Definition at line 50 of file new/rs274ngc.hh. |
|
|
Definition at line 54 of file new/rs274ngc.hh. |
|
|
Definition at line 118 of file new/rs274ngc.hh. |
|
|
Definition at line 112 of file new/rs274ngc.hh. |
|
|
Definition at line 83 of file new/rs274ngc.hh. |
|
|
Definition at line 119 of file new/rs274ngc.hh. |
|
|
Definition at line 102 of file new/rs274ngc.hh. |
|
|
Definition at line 58 of file new/rs274ngc.hh. |
|
|
Definition at line 59 of file new/rs274ngc.hh. |
|
|
Definition at line 60 of file new/rs274ngc.hh. |
|
|
Definition at line 87 of file new/rs274ngc.hh. |
|
|
Definition at line 64 of file new/rs274ngc.hh. |
|
|
Definition at line 63 of file new/rs274ngc.hh. |
|
|
Definition at line 38 of file new/rs274ngc.hh. |
|
|
Definition at line 28 of file new/rs274ngc.hh. |
|
|
Definition at line 103 of file new/rs274ngc.hh. |
|
|
Definition at line 104 of file new/rs274ngc.hh. |
|
|
Definition at line 105 of file new/rs274ngc.hh. |
|
|
Definition at line 113 of file new/rs274ngc.hh. |
|
|
Definition at line 45 of file new/rs274ngc.hh. |
|
|
Definition at line 43 of file new/rs274ngc.hh. |
|
|
Definition at line 41 of file new/rs274ngc.hh. |
|
|
Definition at line 42 of file new/rs274ngc.hh. |
|
|
Definition at line 31 of file new/rs274ngc.hh. |
|
|
Definition at line 47 of file new/rs274ngc.hh. |
|
|
Definition at line 78 of file new/rs274ngc.hh. |
|
|
Definition at line 46 of file new/rs274ngc.hh. |
|
|
Definition at line 185 of file new/rs274ngc.hh. |
|
|
|
|
|
Definition at line 230 of file new/rs274ngc.hh. |
|
|
Definition at line 336 of file new/rs274ngc.hh. |
|
|
|
|
|
Definition at line 333 of file new/rs274ngc.hh. |
|
|
Definition at line 180 of file new/rs274ngc.hh. 00180 {MODE_ABSOLUTE, MODE_INCREMENTAL} DISTANCE_MODE;
|
|
|
Definition at line 183 of file new/rs274ngc.hh. 00183 {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 12020 of file rs274ngc_pre.cc. 12024 {
12025 if (((error_code >= RS274NGC_MIN_ERROR) AND
12026 (error_code <= RS274NGC_MAX_ERROR)) AND
12027 (strlen(_rs274ngc_errors[error_code]) < ((size_t) max_size) ))
12028 {
12029 strcpy(error_text, _rs274ngc_errors[error_code]);
12030 }
12031 else
12032 error_text[0] SET_TO 0;
12033 }
|
|
|
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;}
|
|
||||||||||||
|
Definition at line 12052 of file rs274ngc_pre.cc. 12053 : to copy file name into */
12054 int max_size) /* maximum number of characters to copy */
12055 {
12056 if (strlen(_setup.filename) < ((size_t) max_size) )
12057 strcpy(file_name, _setup.filename);
12058 else
12059 file_name[0] SET_TO 0;
12060 }
|
|
|
load settings from INI file.
Definition at line 8791 of file rs274ngc.cc. Referenced by emcTaskPlanInit(), and main().
08792 {
08793 INIFILE inifile;
08794 const char *inistring;
08795
08796 // open it
08797 if (-1 == inifile.open(filename))
08798 {
08799 return -1;
08800 }
08801
08802 if (NULL != (inistring = inifile.find("PARAMETER_FILE", "RS274NGC")))
08803 {
08804 // found it
08805 strcpy(RS274NGC_PARAMETER_FILE, inistring);
08806 }
08807 else
08808 {
08809 // not found, leave RS274NGC_PARAMETER_FILE alone
08810 }
08811
08812 // close it
08813 inifile.close();
08814
08815 return RS274NGC_OK;
08816 }
|
|
|
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 12074 of file rs274ngc_pre.cc. Referenced by main().
12075 {
12076 return _setup.line_length;
12077 }
|
|
||||||||||||
|
Definition at line 12095 of file rs274ngc_pre.cc. 12096 : to copy line into */
12097 int max_size) /* maximum number of characters to copy */
12098 {
12099 int n;
12100 char * the_text;
12101
12102 the_text SET_TO _setup.linetext;
12103 for (n SET_TO 0; n < (max_size - 1); n++)
12104 {
12105 if (the_text[n] ISNT 0)
12106 line_text[n] SET_TO the_text[n];
12107 else
12108 break;
12109 }
12110 line_text[n] SET_TO 0;
12111 }
|
|
|
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 11580 of file rs274ngc_pre.cc. 11582 {
11583 static char name[] SET_TO "rs274ngc_read";
11584 int status;
11585 int read_status;
11586
11587 if (_setup.probe_flag IS ON)
11588 {
11589 CHK((GET_EXTERNAL_QUEUE_EMPTY() IS 0),
11590 NCE_QUEUE_IS_NOT_EMPTY_AFTER_PROBING);
11591 set_probe_data(&_setup);
11592 _setup.probe_flag SET_TO OFF;
11593 }
11594 CHK(((command IS NULL) AND (_setup.file_pointer IS NULL)),
11595 NCE_FILE_NOT_OPEN);
11596 read_status SET_TO read_text(command, _setup.file_pointer, _setup.linetext,
11597 _setup.blocktext, &_setup.line_length);
11598 if ((read_status IS RS274NGC_EXECUTE_FINISH) OR
11599 (read_status IS RS274NGC_OK))
11600 {
11601 if (_setup.line_length ISNT 0)
11602 {
11603 CHP(parse_line(_setup.blocktext, &(_setup.block1), &_setup));
11604 }
11605 }
11606 else if (read_status IS RS274NGC_ENDFILE);
11607 else
11608 ERP(read_status);
11609 return read_status;
11610 }
|
|
|
Definition at line 11643 of file rs274ngc_pre.cc. |
|
|
Definition at line 11689 of file rs274ngc_pre.cc. 11691 {
11692 static char name[] SET_TO "rs274ngc_restore_parameters";
11693 FILE * infile;
11694 char line[256];
11695 int variable;
11696 double value;
11697 int required; // number of next required parameter
11698 int index; // index into _required_parameters
11699 double * pars; // short name for _setup.parameters
11700 int k;
11701
11702 // open original for reading
11703 infile SET_TO fopen(filename, "r");
11704 CHK((infile IS NULL), NCE_UNABLE_TO_OPEN_FILE);
11705
11706 pars SET_TO _setup.parameters;
11707 k SET_TO 0;
11708 index SET_TO 0;
11709 required SET_TO _required_parameters[index++];
11710 while (feof(infile) IS 0)
11711 {
11712 if (fgets(line, 256, infile) IS NULL)
11713 {
11714 break;
11715 }
11716
11717 // try for a variable-value match in the file
11718 if (sscanf(line, "%d %lf", &variable, &value) IS 2)
11719 {
11720 CHK(((variable <= 0) OR (variable >= RS274NGC_MAX_PARAMETERS)),
11721 NCE_PARAMETER_NUMBER_OUT_OF_RANGE);
11722 for (; k < RS274NGC_MAX_PARAMETERS; k++)
11723 {
11724 if (k > variable)
11725 ERM(NCE_PARAMETER_FILE_OUT_OF_ORDER);
11726 else if (k IS variable)
11727 {
11728 pars[k] SET_TO value;
11729 if (k IS required)
11730 required SET_TO _required_parameters[index++];
11731 k++;
11732 break;
11733 }
11734 else // if (k < variable)
11735 {
11736 if (k IS required)
11737 ERM(NCE_REQUIRED_PARAMETER_MISSING);
11738 else
11739 pars[k] SET_TO 0;
11740 }
11741 }
11742 }
11743 }
11744 fclose(infile);
11745 CHK((required ISNT RS274NGC_MAX_PARAMETERS), NCE_REQUIRED_PARAMETER_MISSING);
11746 for (; k < RS274NGC_MAX_PARAMETERS; k++)
11747 {
11748 pars[k] SET_TO 0;
11749 }
11750 return RS274NGC_OK;
11751 }
|
|
||||||||||||
|
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 12127 of file rs274ngc_pre.cc. Referenced by main(), and rs274ngc_line().
12128 {
12129 return _setup.sequence_number;
12130 }
|
|
||||||||||||||||
|
Definition at line 12156 of file rs274ngc_pre.cc. 12158 : to copy function name into */
12159 int max_size) /* maximum number of characters to copy */
12160 {
12161 int n;
12162 char * the_name;
12163
12164 if ((stack_index > -1) AND (stack_index < 20))
12165 {
12166 the_name SET_TO _setup.stack[stack_index];
12167 for (n SET_TO 0; n < (max_size - 1); n++)
12168 {
12169 if (the_name[n] ISNT 0)
12170 function_name[n] SET_TO the_name[n];
12171 else
12172 break;
12173 }
12174 function_name[n] SET_TO 0;
12175 }
12176 else
12177 function_name[0] SET_TO 0;
12178 }
|
|
|
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 }
|
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001