#include <nml_mod.hh>
Collaboration diagram for NML_MODULE:

|
||||||||||||
|
Definition at line 197 of file node/nml_mod.cc. 00198 {
00199 zero_common_vars ();
00200 #if 0
00201 ini = new NML_MODULE_INI_INFO (inifile, section);
00202 #endif
00203 }
|
|
|
Definition at line 41 of file cms/nml_mod.cc. 00042 {
00043 commandIn = 0;
00044 commandInData = 0;
00045 statusOut = 0;
00046 statusOutData = 0;
00047 commandOut = 0;
00048 commandOutData = 0;
00049 statusIn = 0;
00050 statusInData = 0;
00051 commandLastNum = 0;
00052 commandOutstanding = 0;
00053 timer = 0;
00054 numSubordinates = 0;
00055 errorLog = 0;
00056 done = 0;
00057 }
|
|
|
Definition at line 59 of file cms/nml_mod.cc. 00060 {
00061 int t;
00062
00063 if (commandIn != 0)
00064 delete commandIn;
00065 commandIn = 0;
00066
00067 if (statusOut != 0)
00068 delete statusOut;
00069 statusOut = 0;
00070
00071 if (errorLog != 0)
00072 delete (errorLog);
00073 errorLog = 0;
00074
00075 if (commandOut != 0)
00076 {
00077 for (t = 0; t < numSubordinates; t++)
00078 {
00079 if (commandOut[t] != 0)
00080 delete commandOut[t];
00081 }
00082
00083 free (commandOut);
00084 commandOut = 0;
00085 }
00086
00087 if (commandInData != 0)
00088 {
00089 free (commandOutData);
00090 commandOutData = 0;
00091 }
00092
00093 if (statusIn != 0)
00094 {
00095 for (t = 0; t < numSubordinates; t++)
00096 {
00097 if (statusIn[t] != 0)
00098 delete statusIn[t];
00099 }
00100
00101 free (statusIn);
00102 statusIn = 0;
00103 }
00104
00105 if (statusInData != 0)
00106 {
00107 free (statusInData);
00108 statusInData = 0;
00109 }
00110
00111 if (commandOutstanding != 0)
00112 {
00113 free (commandOutstanding);
00114 commandOutstanding = 0;
00115 }
00116
00117 if (commandLastNum != 0)
00118 {
00119 free (commandLastNum);
00120 commandLastNum = 0;
00121 }
00122
00123 if (timer != 0)
00124 delete timer;
00125 timer = 0;
00126 }
|
|
|
Definition at line 1011 of file node/nml_mod.cc. 01012 {
01013
01014 check_cycle_time_start ();
01015 READ_COMM_BUFFERS ();
01016 PRE_PROCESS ();
01017
01018 /* reset state table flags */
01019 stateBegin = 1;
01020 matched = 0;
01021
01022 if (commandInData != NULL)
01023 {
01024 if (statusOutData != NULL)
01025 {
01026 if (statusOutData->command_type > 0)
01027 {
01028 DECISION_PROCESS ();
01029 }
01030 }
01031 }
01032
01033 POST_PROCESS ();
01034 WRITE_COMM_BUFFERS ();
01035 check_cycle_time_end ();
01036
01037 }
|
|
|
Definition at line 789 of file node/nml_mod.cc. Referenced by controller().
00790 {
00791
00792 }
|
|
|
Definition at line 904 of file node/nml_mod.cc. Referenced by controller().
00905 {
00906 read_command_in ();
00907 read_subordinates_status ();
00908 check_if_new_command ();
00909 }
|
|
|
Definition at line 912 of file node/nml_mod.cc. Referenced by controller().
00913 {
00914
00915 }
|
|
|
Definition at line 999 of file node/nml_mod.cc. Referenced by controller().
01000 {
01001 write_status_out ();
01002 write_commands_to_subordinates ();
01003 }
|
|
|
Definition at line 918 of file node/nml_mod.cc. Referenced by controller().
00919 {
00920
00921 }
|
|
||||||||||||||||||||
|
Definition at line 1158 of file node/nml_mod.cc. 01160 {
01161 set_file_and_line (_source_file, _source_line);
01162 return stateMatch (st, conds);
01163 }
|
|
||||||||||||
|
Definition at line 1166 of file node/nml_mod.cc. 01167 {
01168 if (matched)
01169 {
01170 return 0;
01171 }
01172
01173 // check if this is the first line in the state table
01174 if (stateBegin)
01175 {
01176 if (NULL != statusOutData)
01177 {
01178 statusOutData->line = 0;
01179 }
01180 source_line = -1;
01181 source_file = NULL;
01182 stateBegin = 0;
01183 if (state != st || !conds)
01184 {
01185 temp_line = -1;
01186 temp_file = NULL;
01187 }
01188 }
01189 else
01190 {
01191 // lines have gone before-- just increment
01192 if (NULL != statusOutData)
01193 {
01194 statusOutData->line++;
01195 }
01196 }
01197
01198 // see if we match state and conditions
01199 if (state == st && conds)
01200 {
01201 matched = 1;
01202 source_file = temp_file;
01203 source_line = temp_line;
01204 return 1;
01205 }
01206 else
01207 {
01208 // no match
01209 return 0;
01210 }
01211 }
|
|
|
Definition at line 1214 of file node/nml_mod.cc. 01215 {
01216 state = (RCS_STATE) st;
01217 }
|
|
|
Definition at line 1220 of file node/nml_mod.cc. 01221 {
01222 state = (RCS_STATE) st;
01223 }
|
|
|
Definition at line 822 of file node/nml_mod.cc. Referenced by READ_COMM_BUFFERS().
00823 {
00824 NMLTYPE type;
00825
00826 if (force_command)
00827 {
00828 force_command = 0;
00829 return;
00830 }
00831
00832 switch (type = commandIn->read ())
00833 {
00834 case -1:
00835 logError ("Can not read input command. (%d)", commandIn->error_type);
00836 if (NULL != statusOutData)
00837 {
00838 statusOutData->command_type = type;
00839 }
00840 break;
00841
00842 case 0:
00843 // no new command
00844 break;
00845
00846 default:
00847 commandInData = commandIn->get_address ();
00848 if (NULL != statusOutData)
00849 {
00850 statusOutData->command_type = type;
00851 }
00852 break;
00853 }
00854 }
|
|
|
Definition at line 857 of file node/nml_mod.cc. Referenced by READ_COMM_BUFFERS().
00858 {
00859 int t;
00860 NMLTYPE type;
00861
00862 // read NML STATUS buffer from subordinates
00863 for (t = 0; t < numSubordinates; t++)
00864 {
00865 if (NULL == subs[t])
00866 {
00867 continue;
00868 }
00869 if (NULL == subs[t]->statusIn)
00870 {
00871 continue;
00872 }
00873 switch (type = subs[t]->statusIn->peek ())
00874 {
00875 case -1:
00876 // error on NML channel
00877 logError ("Can not read status from subodinate %s (%d).\n",
00878 subs[t]->statusIn->cms->BufferName,
00879 subs[t]->statusIn->error_type);
00880 break;
00881
00882 case 0:
00883 // no new data
00884 break;
00885
00886 default:
00887 subs[t]->statusInData = subs[t]->statusIn->get_address ();
00888 if (NULL != subs[t]->statusInData
00889 && NULL != subs[t]->commandOutData)
00890 {
00891 if (subs[t]->statusInData->echo_serial_number !=
00892 subs[t]->commandOutData->serial_number)
00893 {
00894 subs[t]->statusInData->status = RCS_EXEC;
00895 }
00896 }
00897 // something new in STATUS
00898 break;
00899 }
00900 }
00901 }
|
|
|
Definition at line 924 of file node/nml_mod.cc. Referenced by WRITE_COMM_BUFFERS().
00925 {
00926 if (NULL == statusOutData)
00927 {
00928 return;
00929 }
00930 // update NML STATUS
00931 statusOutData->command_type = commandInData->type;
00932 statusOutData->state = state;
00933 statusOutData->status = status;
00934 if (status == RCS_DONE &&
00935 last_command_completed_serial_number != commandInData->serial_number)
00936 {
00937 last_command_completed_serial_number = commandInData->serial_number;
00938 commands_executed++;
00939 }
00940
00941 statusOutData->source_line = source_line;
00942 if (NULL != source_file)
00943 {
00944 strncpy (statusOutData->source_file, source_file, 64);
00945 }
00946
00947 // write STATUS
00948 if (-1 == statusOut->write (statusOutData))
00949 {
00950 logError ("bad write to status (%d)\n", statusOut->error_type);
00951 }
00952 }
|
|
|
Definition at line 955 of file node/nml_mod.cc. Referenced by WRITE_COMM_BUFFERS().
00956 {
00957 int t;
00958 // write subordinates
00959 for (t = 0; t < numSubordinates; t++)
00960 {
00961 if (subs[t]->commandOutData == NULL)
00962 {
00963 continue;
00964 }
00965 if (subs[t]->commandOutData->type == 0)
00966 {
00967 continue;
00968 }
00969 if (subs[t]->statusInData != NULL)
00970 {
00971 if (subs[t]->statusInData->echo_serial_number ==
00972 subs[t]->commandOutData->serial_number
00973 && subs[t]->statusInData->echo_serial_number > 0
00974 && subs[t]->modification_number <= 0)
00975 {
00976 subs[t]->commandOutData->type = 0;
00977 continue;
00978 }
00979 }
00980 if (-1 == subs[t]->commandOut->write (subs[t]->commandOutData))
00981 {
00982 logError ("Error writing to %s (%d).\n",
00983 subs[t]->commandOut->cms->BufferName,
00984 subs[t]->commandOut->error_type);
00985 }
00986 else
00987 {
00988 //if the subordinates command buffer is queued then
00989 // mark the command so it isn't sent out again.
00990 if (subs[t]->commandOut->cms->queuing_enabled)
00991 {
00992 subs[t]->commandOutData->type = 0;
00993 }
00994 }
00995 }
00996 }
|
|
|
Definition at line 381 of file node/nml_mod.cc. 00382 {
00383 if (NULL == cmd_channel)
00384 {
00385 rcs_print_error ("Command channel is NULL.\n");
00386 rcs_exit (-1);
00387 }
00388
00389 commandIn = cmd_channel;
00390 if (!commandIn->valid ())
00391 {
00392 rcs_print_error ("Command channel is invalid.\n");
00393 rcs_exit (-1);
00394 }
00395 else
00396 {
00397 commandInData = commandIn->get_address ();
00398 }
00399 if (NULL != commandIn->cms)
00400 {
00401 if (NULL != commandIn->cms->ProcessName)
00402 {
00403 proc_name =
00404 (char *) malloc (strlen (commandIn->cms->ProcessName) + 1);
00405 strcpy (proc_name, commandIn->cms->ProcessName);
00406 }
00407 }
00408 }
|
|
||||||||||||
|
Definition at line 411 of file node/nml_mod.cc. 00413 {
00414 if (NULL == stat_channel)
00415 {
00416 rcs_print_error ("Status channel is NULL.\n");
00417 rcs_exit (-1);
00418 }
00419
00420 statusOut = stat_channel;
00421 if (!statusOut->valid ())
00422 {
00423 rcs_print_error ("Status channel is invalid.\n");
00424 rcs_exit (-1);
00425 }
00426 if (NULL == stat_msg)
00427 {
00428 rcs_print_error ("Status out message is NULL.\n");
00429 rcs_exit (-1);
00430 }
00431 if (stat_msg->type <= 0)
00432 {
00433 rcs_print_error
00434 ("Status out message must have positive type. (type = %d)\n",
00435 stat_msg->type);
00436 rcs_exit (-1);
00437 }
00438 if (stat_msg->size < ((long) sizeof (RCS_STAT_MSG)))
00439 {
00440 rcs_print_error
00441 ("Status out message must have a size of atleast sizeof(RCS_STAT_MSG) or %d bytes,",
00442 sizeof (RCS_STAT_MSG));
00443 rcs_print_error ("but the status out message size was only %d.\n",
00444 stat_msg->size);
00445 rcs_exit (-1);
00446 }
00447 statusOutData = stat_msg;
00448 }
|
|
|
Definition at line 451 of file node/nml_mod.cc. 00452 {
00453 if (NULL == errorLog_channel)
00454 {
00455 rcs_print_error ("Error Log channel is NULL.\n");
00456 rcs_exit (-1);
00457 }
00458
00459 errorLog = errorLog_channel;
00460 if (!errorLog->valid ())
00461 {
00462 rcs_print_error ("Error Log channel is invalid.\n");
00463 rcs_exit (-1);
00464 }
00465
00466 }
|
|
||||||||||||
|
Definition at line 469 of file node/nml_mod.cc. 00471 {
00472 int sub_num = numSubordinates;
00473 setSubordinates (numSubordinates + 1);
00474 if (NULL == cmd_channel)
00475 {
00476 logError ("Command Channel for subordinate %d is NULL.\n", sub_num);
00477 rcs_exit (-1);
00478 }
00479 if (NULL == stat_channel)
00480 {
00481 logError ("Status Channel for subordinate %d is NULL.\n", sub_num);
00482 rcs_exit (-1);
00483 }
00484 subs[sub_num]->commandOut = cmd_channel;
00485 if (!subs[sub_num]->commandOut->valid ())
00486 {
00487 logError ("Command Channel for subordinate %d is invalid.\n", sub_num);
00488 rcs_exit (-1);
00489 }
00490 else
00491 {
00492 subs[sub_num]->commandOutData =
00493 subs[sub_num]->commandOut->get_address ();
00494 }
00495 commandOutData[sub_num] = subs[sub_num]->commandOutData;
00496
00497 subs[sub_num]->statusIn = stat_channel;
00498 if (!subs[sub_num]->statusIn->valid ())
00499 {
00500 logError ("Command Channel for subordinate %d is invalid.\n", sub_num);
00501 rcs_exit (-1);
00502 }
00503 else
00504 {
00505 subs[sub_num]->statusInData = subs[sub_num]->statusIn->get_address ();
00506 }
00507 statusInData[sub_num] = subs[sub_num]->statusInData;
00508 return sub_num;
00509 }
|
|
||||||||||||
|
Definition at line 1226 of file node/nml_mod.cc. 01227 {
01228 if (sub_num >= numSubordinates || sub_num < 0)
01229 {
01230 return -1;
01231 }
01232 if (cmd_msg == NULL)
01233 {
01234 return -1;
01235 }
01236 if (cmd_msg->size <= 0 || cmd_msg->type <= 0)
01237 {
01238 return -1;
01239 }
01240 if (NULL == subs[sub_num])
01241 {
01242 return -1;
01243 }
01244 if (NULL == subs[sub_num]->statusInData)
01245 {
01246 return -1;
01247 }
01248 if (NULL == subs[sub_num]->commandOutData)
01249 {
01250 return -1;
01251 }
01252 if (NULL == subs[sub_num]->commandOut)
01253 {
01254 return -1;
01255 }
01256 if (NULL == subs[sub_num]->commandOut->cms)
01257 {
01258 return -1;
01259 }
01260
01261 if (cmd_msg->size >= subs[sub_num]->commandOut->cms->size)
01262 {
01263 return -1;
01264 }
01265 memcpy (subs[sub_num]->commandOutData, cmd_msg, cmd_msg->size);
01266 subs[sub_num]->modification_number = 0;
01267 subs[sub_num]->commandOutData->serial_number =
01268 subs[sub_num]->statusInData->echo_serial_number + 1;
01269 return (0);
01270 }
|
|
||||||||||||
|
Definition at line 1273 of file node/nml_mod.cc. 01274 {
01275 if (sub_num >= numSubordinates || sub_num < 0)
01276 {
01277 return -1;
01278 }
01279 if (cmd_msg == NULL)
01280 {
01281 return -1;
01282 }
01283 if (NULL == subs[sub_num])
01284 {
01285 return -1;
01286 }
01287 if (NULL == subs[sub_num]->commandOutData)
01288 {
01289 return -1;
01290 }
01291 cmd_msg->serial_number = subs[sub_num]->commandOutData->serial_number;
01292 memcpy (subs[sub_num]->commandOutData, cmd_msg, cmd_msg->size);
01293 subs[sub_num]->modification_number++;
01294 return (0);
01295 }
|
|
|
Definition at line 796 of file node/nml_mod.cc. 00797 {
00798 if (NULL == cmd || NULL == statusOutData || NULL == commandInData
00799 || NULL == commandIn)
00800 {
00801 return;
00802 }
00803 if (NULL == commandIn->cms)
00804 {
00805 return;
00806 }
00807 if (cmd->size > commandIn->cms->size)
00808 {
00809 rcs_print_error
00810 ("NML_MODULE::setSelfCommand, Command too big! %d(0x%X) > %d(0x%X)\n",
00811 cmd->size, cmd->size, commandIn->cms->size, commandIn->cms->size);
00812 }
00813 statusOutData->echo_serial_number++;
00814 cmd->serial_number = statusOutData->echo_serial_number + 1;
00815 commandIn->write (cmd);
00816 memcpy (commandInData, cmd, cmd->size);
00817 statusOutData->command_type = cmd->type;
00818 force_command = 1;
00819 }
|
|
|
Definition at line 1065 of file node/nml_mod.cc. Referenced by READ_COMM_BUFFERS().
01066 {
01067 if (NULL == commandInData)
01068 {
01069 return;
01070 }
01071 if (NULL == statusOutData)
01072 {
01073 return;
01074 }
01075 if (statusOutData->echo_serial_number != commandInData->serial_number)
01076 {
01077 state = NEW_COMMAND;
01078 status = RCS_EXEC;
01079 commands_received++;
01080 statusOutData->echo_serial_number = commandInData->serial_number;
01081 statusOutData->command_type = commandInData->type;
01082 command_time_averaged = 0;
01083 new_command_sequence = 1;
01084 new_line_num_sequence = 1;
01085 // exec_status.line_num = 0;
01086 }
01087 }
|
|
|
Definition at line 213 of file node/nml_mod.cc. Referenced by NML_MODULE().
00214 {
00215 commandIn = 0;
00216 force_command = 0;
00217 commandInData = 0;
00218 statusOut = 0;
00219 statusOutData = 0;
00220 subs = 0;
00221 commandLastNum = 0;
00222 commandOutstanding = 0;
00223 timer = 0;
00224 numSubordinates = 0;
00225 errorLog = 0;
00226 done = 0;
00227 statusInData = 0;
00228 commandOutData = 0;
00229
00230
00231 cycle_start = 0;
00232 cycle_stop = 0;
00233 command_time_averaged = 0;
00234 new_command_sequence = 0;
00235 new_line_num_sequence = 0;
00236 new_sup_request = 0;
00237
00238 delta_clock = 0;
00239 command_current_time = 0;
00240
00241 pause_status = 0;
00242 command = 0;
00243 last_line = 0;
00244
00245 execute = 0;
00246 command_time = 0;
00247 state = UNINITIALIZED_STATE;
00248 status = UNINITIALIZED_STATUS;
00249
00250 sup_req_num = 0;
00251 sup_req_num_echo = 0;
00252 command_num = 0;
00253 command_num_echo = 0;
00254
00255 // state table vars
00256 matched = 0;
00257 stateBegin = 0;
00258
00259 #if 0
00260 //below 010997-hui
00261 exec_status.command_num = 0;
00262 exec_status.command = 0;
00263 exec_status.status = 0;
00264 exec_status.state = 0;
00265 exec_status.line_num = 0;
00266 exec_status.command_time = 0;
00267
00268 run_command.run_state = 0;
00269 run_command.step_num = 0;
00270
00271 run_status.step_num_echo = 0;
00272 run_status.dummy1 = 0;
00273 #endif
00274
00275 source_line = -1;
00276 source_file = NULL;
00277
00278 commands_received = 0;
00279 commands_executed = 0;
00280 last_command_completed_serial_number = -1;
00281 total_run_time = 0;
00282 cycles = 0;
00283 max_cycle_time = 0;
00284 min_cycle_time = 1e6;
00285 last_cycle_time = 0;
00286 start_run_time = 0;
00287 stop_run_time = 0;
00288 last_start_run_time = 0;
00289 subs_allocated = 0;
00290 expected_cycle_time = 0;
00291 min_run_time = 1e6;
00292 max_run_time = 0;
00293 start_cycle_time = 0;
00294 temp_file = 0;
00295 temp_line = 0;
00296 Dclock_expiration = 0;
00297 Dclock_start_time = 0;
00298 log_line = 0;
00299 log_src = 0;
00300 }
|
|
|
Definition at line 129 of file cms/nml_mod.cc. Referenced by addSubordinate().
00130 {
00131 int t;
00132
00133 if (number < 0)
00134 return -1;
00135
00136 // record number of subordinates
00137 numSubordinates = number;
00138
00139 // get out now if nothing else to do
00140 if (number == 0)
00141 return 0;
00142
00143 // allocate subordinate NML channels
00144 commandOut =
00145 (RCS_CMD_CHANNEL **) malloc (number * sizeof (RCS_CMD_CHANNEL *));
00146 commandOutData = (RCS_CMD_MSG **) malloc (number * sizeof (RCS_CMD_MSG *));
00147 statusIn =
00148 (RCS_STAT_CHANNEL **) malloc (number * sizeof (RCS_STAT_CHANNEL *));
00149 statusInData = (RCS_STAT_MSG **) malloc (number * sizeof (RCS_STAT_MSG *));
00150
00151 // allocate commandOutstanding array
00152 commandLastNum = (int *) malloc (number * sizeof (int));
00153 commandOutstanding = (int *) malloc (number * sizeof (int));
00154
00155 // initialize each NML channel in the new arrays to 0
00156 for (t = 0; t < number; t++)
00157 {
00158 commandOut[t] = 0;
00159 commandOutData[t] = 0;
00160 statusIn[t] = 0;
00161 statusInData[t] = 0;
00162
00163 commandOutstanding[t] = 0;
00164 }
00165
00166 return 0;
00167 }
|
|
||||||||||||
|
Definition at line 642 of file node/nml_mod.cc. 00643 {
00644 log_line = l;
00645 log_src = src;
00646 return (0);
00647 };
|
|
||||||||||||
|
Definition at line 175 of file cms/nml_mod.cc. Referenced by addSubordinate(), read_command_in(), read_subordinates_status(), write_commands_to_subordinates(), and write_status_out().
00176 {
00177 NML_ERROR error_msg;
00178 va_list ap;
00179
00180 // check channel for validity
00181 if (errorLog == NULL)
00182 return -1;
00183 if (!errorLog->valid ())
00184 return -1;
00185
00186 // write args to NML message
00187 va_start (ap, fmt);
00188 vsprintf (error_msg.error, fmt, ap);
00189 va_end (ap);
00190
00191 // force a NULL at the end for safety
00192 error_msg.error[NML_ERROR_LEN - 1] = 0;
00193
00194 // write it
00195 errorLog->write (error_msg);
00196
00197 return 0;
00198 }
|
|
||||||||||||
|
Definition at line 201 of file cms/nml_mod.cc. 00202 {
00203 NML_TEXT text_msg;
00204 va_list ap;
00205
00206 // check channel for validity
00207 if (errorLog == NULL)
00208 return -1;
00209 if (!errorLog->valid ())
00210 return -1;
00211
00212 // write args to NML message
00213 va_start (ap, fmt);
00214 vsprintf (text_msg.text, fmt, ap);
00215 va_end (ap);
00216
00217 // force a NULL at the end for safety
00218 text_msg.text[NML_TEXT_LEN - 1] = 0;
00219
00220 // write it
00221 errorLog->write (text_msg);
00222
00223 return 0;
00224 }
|
|
|
Definition at line 227 of file cms/nml_mod.cc. 00228 {
00229 NML_DISPLAY display_msg;
00230
00231 // check channel for validity
00232 if (errorLog == NULL)
00233 return -1;
00234 if (!errorLog->valid ())
00235 return -1;
00236
00237 // write args to NML message
00238 strcpy (display_msg.display, display);
00239
00240 // force a NULL at the end for safety
00241 display_msg.display[NML_DISPLAY_LEN - 1] = 0;
00242
00243 // write it
00244 errorLog->write (display_msg);
00245
00246 return 0;
00247 }
|
|
|
Definition at line 277 of file cms/nml_mod.cc. 00278 {
00279 if (NULL == exec_history)
00280 {
00281 return;
00282 }
00283 RCS_MODULE_C::update_line_num_history ();
00284 }
|
|
||||||||||||
|
Definition at line 1145 of file node/nml_mod.cc. Referenced by stateMatch().
01146 {
01147 temp_file = _source_file;
01148 temp_line = _source_line;
01149 }
|
|
|
Definition at line 1040 of file node/nml_mod.cc. Referenced by controller().
01041 {
01042 start_run_time = etime ();
01043 cycles++;
01044 if (cycles < 2)
01045 {
01046 start_cycle_time = start_run_time;
01047 }
01048 else
01049 {
01050 last_cycle_time = start_run_time - last_start_run_time;
01051 if (last_cycle_time > max_cycle_time)
01052 {
01053 max_cycle_time = last_cycle_time;
01054 }
01055 if (last_cycle_time < min_cycle_time)
01056 {
01057 min_cycle_time = last_cycle_time;
01058 }
01059 }
01060 last_start_run_time = start_run_time;
01061 }
|
|
|
Definition at line 1135 of file node/nml_mod.cc. Referenced by controller().
01136 {
01137 stop_run_time = etime ();
01138 total_run_time += stop_run_time - start_run_time;
01139 }
|
|
|
Definition at line 1090 of file node/nml_mod.cc. 01091 {
01092 double total_time = stop_run_time - start_cycle_time;
01093 rcs_print ("\n*************************************************\n");
01094 if (NULL != proc_name)
01095 {
01096 rcs_print ("Module Name: %s\n", proc_name);
01097 }
01098 rcs_print ("Total cycles: %d\n", cycles);
01099 rcs_print ("Total time: %f\n", total_time);
01100 if (cycles > 0)
01101 {
01102 rcs_print ("Average Cycle Time: %f\n", total_time / cycles);
01103 }
01104 else
01105 {
01106 rcs_print ("Average Cycle Time: CAN NOT BE DETERMINED\n");
01107 }
01108
01109 rcs_print ("Minimum Cycle Time: %f\n", min_cycle_time);
01110 rcs_print ("Max Cycle Time: %f\n", max_cycle_time);
01111 rcs_print ("Commands Received: %d\n", commands_received);
01112 if (total_time > 0)
01113 {
01114 rcs_print ("Commands Received per second: %f\n",
01115 commands_received / total_time);
01116 }
01117 else
01118 {
01119 rcs_print ("Commands Received per second: CAN NOT BE DETERMINED\n");
01120 }
01121
01122 if (total_time > 0)
01123 {
01124 rcs_print ("Load: %f%%\n", total_run_time * 100 / total_time);
01125 }
01126 else
01127 {
01128 rcs_print ("Load: CAN NOT BE DETERMINED\n");
01129 }
01130
01131 rcs_print ("*************************************************\n");
01132 }
|
|
|
Definition at line 1298 of file node/nml_mod.cc. 01299 {
01300 Dclock_expiration = expiration;
01301 Dclock_start_time = etime ();
01302 }
|
|
|
Definition at line 1305 of file node/nml_mod.cc. 01306 {
01307 return (fabs (etime () - Dclock_start_time) < Dclock_expiration);
01308 }
|
|
|
Definition at line 189 of file nml_mod.hh. |
|
|
Definition at line 201 of file nml_mod.hh. |
|
|
Definition at line 202 of file nml_mod.hh. |
|
|
Definition at line 204 of file nml_mod.hh. |
|
|
Definition at line 205 of file nml_mod.hh. |
|
|
Definition at line 206 of file nml_mod.hh. |
|
|
Definition at line 207 of file nml_mod.hh. |
|
|
Definition at line 209 of file nml_mod.hh. |
|
|
Definition at line 210 of file nml_mod.hh. |
|
|
Definition at line 212 of file nml_mod.hh. |
|
|
Definition at line 213 of file nml_mod.hh. |
|
|
Definition at line 214 of file nml_mod.hh. |
|
|
Definition at line 216 of file nml_mod.hh. |
|
|
Definition at line 217 of file nml_mod.hh. |
|
|
Definition at line 218 of file nml_mod.hh. |
|
|
Definition at line 219 of file nml_mod.hh. |
|
|
Definition at line 221 of file nml_mod.hh. |
|
|
Definition at line 222 of file nml_mod.hh. |
|
|
Definition at line 223 of file nml_mod.hh. |
|
|
Definition at line 224 of file nml_mod.hh. |
|
|
Definition at line 227 of file nml_mod.hh. |
|
|
Definition at line 229 of file nml_mod.hh. |
|
|
Definition at line 231 of file nml_mod.hh. |
|
|
Definition at line 232 of file nml_mod.hh. |
|
|
Definition at line 246 of file nml_mod.hh. |
|
|
Definition at line 247 of file nml_mod.hh. |
|
|
Definition at line 248 of file nml_mod.hh. |
|
|
Definition at line 250 of file nml_mod.hh. |
|
|
Definition at line 251 of file nml_mod.hh. |
|
|
Definition at line 253 of file nml_mod.hh. |
|
|
Definition at line 254 of file nml_mod.hh. |
|
|
Definition at line 257 of file nml_mod.hh. |
|
|
Definition at line 258 of file nml_mod.hh. |
|
|
Definition at line 259 of file nml_mod.hh. |
|
|
Definition at line 261 of file nml_mod.hh. |
|
|
Definition at line 263 of file nml_mod.hh. |
|
|
Definition at line 273 of file nml_mod.hh. |
|
|
Definition at line 274 of file nml_mod.hh. |
|
|
Definition at line 275 of file nml_mod.hh. |
|
|
Definition at line 276 of file nml_mod.hh. |
|
|
Definition at line 277 of file nml_mod.hh. |
|
|
Definition at line 278 of file nml_mod.hh. |
|
|
Definition at line 279 of file nml_mod.hh. |
|
|
Definition at line 280 of file nml_mod.hh. |
|
|
Definition at line 281 of file nml_mod.hh. |
|
|
Definition at line 282 of file nml_mod.hh. |
|
|
Definition at line 283 of file nml_mod.hh. |
|
|
Definition at line 284 of file nml_mod.hh. |
|
|
Definition at line 285 of file nml_mod.hh. |
|
|
Definition at line 286 of file nml_mod.hh. |
|
|
Definition at line 287 of file nml_mod.hh. |
|
|
Definition at line 288 of file nml_mod.hh. |
|
|
Definition at line 289 of file nml_mod.hh. |
|
|
Definition at line 290 of file nml_mod.hh. |
|
|
Definition at line 301 of file nml_mod.hh. |
|
|
Definition at line 302 of file nml_mod.hh. |
|
|
Definition at line 303 of file nml_mod.hh. |
|
|
Definition at line 304 of file nml_mod.hh. |
|
|
Definition at line 305 of file nml_mod.hh. |
|
|
Definition at line 306 of file nml_mod.hh. |
|
|
Definition at line 307 of file nml_mod.hh. |
|
|
Definition at line 308 of file nml_mod.hh. |
|
|
Definition at line 313 of file nml_mod.hh. |
|
|
Definition at line 512 of file node/nml_mod.cc. |
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001