#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 } |