00001 /** 00002 * @file Processes/CMD/Debug.cpp 00003 * 00004 * Implementation of class Debug. 00005 * 00006 * @author Martin Lötzsch 00007 */ 00008 00009 #include "Debug.h" 00010 #include "Tools/RobotConfiguration.h" 00011 #include "Tools/Debugging/Debugging.h" 00012 #include "Platform/GTAssert.h" 00013 #include "Platform/SystemCall.h" 00014 00015 Debug::Debug() : 00016 INIT_EXTERNAL_DEBUGGING, 00017 //INIT_DEBUGGING, 00018 00019 INIT_DEBUG_RECEIVER(Cognition), 00020 INIT_DEBUG_RECEIVER(Motion), 00021 00022 INIT_DEBUG_SENDER(Cognition), 00023 INIT_DEBUG_SENDER(Motion), 00024 00025 mode(QueueFillRequest::immediateReadWrite), 00026 saveOrSendTime(0) 00027 { 00028 //cout << "FREE Memory " << SystemCall::getFreeMem() << "\n" ; 00029 //cout << flush; 00030 00031 00032 debugIn.setSize(400000); 00033 if (SystemCall::getRobotDesign() == RobotDesign::ERS7) 00034 debugOut.setSize(9000000); 00035 else 00036 debugOut.setSize(1000000); 00037 00038 theCognitionReceiver.setSize(200000); 00039 theCognitionSender.setSize(400000); 00040 00041 theMotionReceiver.setSize(2000); 00042 theMotionSender.setSize(200000); 00043 } 00044 00045 Debug::~Debug() 00046 { 00047 } 00048 00049 int Debug::main() 00050 { 00051 INFO( printRobotStatus, idText, text, 00052 "Free mem: " << SystemCall::getFreeMem() << " bytes" << endl << 00053 "Remaining capacity: " << SystemCall::getRemainingPower() << "%" << endl << 00054 "MAC Address: " << getRobotConfiguration().getMacAddressString() 00055 ); 00056 00057 // add the messages from the queues from the processes to the outgoing queue 00058 theCognitionReceiver.moveAllMessages(debugOut); 00059 theMotionReceiver.moveAllMessages(debugOut); 00060 00061 switch (mode) 00062 { 00063 case QueueFillRequest::overwriteOlder: 00064 debugOut.removeRepetitions(); 00065 break; 00066 case QueueFillRequest::rejectAll: 00067 debugOut.clear(); 00068 break; 00069 case QueueFillRequest::toStickNSeconds: 00070 if ((SystemCall::getCurrentSystemTime() > saveOrSendTime)&&(saveOrSendTime != 0)) 00071 { 00072 // save the outgoing queue to the memory stick 00073 if (!debugOut.isEmpty()) 00074 { 00075 OutBinaryFile fout("Logfile.log"); 00076 fout << debugOut; 00077 debugOut.clear(); 00078 } 00079 saveOrSendTime = 0; 00080 } 00081 break; 00082 case QueueFillRequest::toStickImmediately: 00083 // append the outgoing queue to the memory stick 00084 if (!debugOut.isEmpty()) 00085 { 00086 OutBinaryFile fout("Logfile.log",true); 00087 fout << debugOut; 00088 debugOut.clear(); 00089 } 00090 break; 00091 } 00092 00093 // send the queues to the processes 00094 theCognitionSender.send(); 00095 theMotionSender.send(); 00096 00097 #if defined(_WIN32) || defined(WLAN) 00098 // send the outgoing queue to RobotControl 00099 // (direct in WIN32, via TcpGateway in WLAN) 00100 if ((mode==QueueFillRequest::immediateReadWrite)|| 00101 ((mode==QueueFillRequest::collectNSeconds)&&(saveOrSendTime < SystemCall::getCurrentSystemTime()))|| 00102 (mode==QueueFillRequest::overwriteOlder)) 00103 { 00104 #ifndef _WIN32 00105 if (messageWasReceived) // Hallo Hack 00106 #endif 00107 theDebugSender.send(); 00108 } 00109 #endif 00110 00111 return 1; // Wait at least 1 millisecond, then recall main() 00112 } 00113 00114 void Debug::init() 00115 { 00116 INIT_EXTERNAL_DEBUGGING_HANDLER; 00117 00118 // read requests.dat 00119 // 00120 InBinaryFile fin("requests.dat"); 00121 if ((fin.exists())&&(! fin.eof())) 00122 fin >> debugIn; 00123 00124 debugIn.handleAllMessages(*this); 00125 debugIn.clear(); 00126 messageWasReceived = false; 00127 } 00128 00129 bool Debug::handleMessage(InMessage& message) 00130 { 00131 messageWasReceived = true; 00132 00133 switch(message.getMessageID()) 00134 { 00135 case idSensorData: 00136 case idImage: 00137 case idJPEGImage: 00138 case idLowResImage: 00139 case idPercepts: 00140 case idHeadControlMode: 00141 case idMotionRequest: 00142 case idLEDRequest: 00143 case idWorldState: 00144 case idColorTable64: 00145 case idColorTableTSL: 00146 case idCameraParameters: 00147 case idOracledWorldState: 00148 case idGlobalGameControlData: 00149 case idGameControlData: 00150 case idSoundRequest: 00151 case idSpecialPercept: 00152 // case idLinesImageProcessorParameters: 00153 case idLinesSelfLocatorParameters: 00154 case idJoystickData: 00155 case idGT2004BallLocatorData: 00156 case idTacticEntryArray: 00157 case idFreezeRequest: 00158 case idKickSelectionTable: 00159 message >> theCognitionSender; 00160 return true; 00161 case idHeadMotionRequest: 00162 case idOdometryData: 00163 case idJointDataSequence: 00164 case idFourierCoefficients: 00165 case idInvKinWalkingParameters: 00166 case idPIDData: 00167 case idGameSpeed: 00168 case idMotionControlSlowMotion: 00169 case idMotionNet: 00170 case idOdometryScale: 00171 message >> theMotionSender; 00172 return true; 00173 case idDebugKeyTable: 00174 Process::handleMessage(message); 00175 case idSolutionRequest: 00176 case idGenericDebugData: 00177 case idGT2004Parameters: 00178 case idGT2004EvolutionRequest: 00179 case idYetAnotherInvKinParams: 00180 case idYetAnotherInvKinPaws: 00181 case idBodyOffsets: 00182 case idXabsl2DebugRequest: 00183 case idXabsl2IntermediateCode: 00184 message >> theCognitionSender; 00185 message >> theMotionSender; 00186 return true; 00187 case idQueueFillRequest: 00188 { 00189 QueueFillRequest qfr; 00190 message.bin >> qfr; 00191 mode = qfr.mode; 00192 saveOrSendTime = 1000*qfr.seconds + SystemCall::getCurrentSystemTime(); 00193 return true; 00194 } 00195 default: 00196 return Process::handleMessage(message); 00197 } 00198 } 00199 00200 MAKE_PROCESS(Debug); 00201 00202 /* 00203 * Change log : 00204 * 00205 * $Log: Debug.cpp,v $ 00206 * Revision 1.12 2004/07/22 22:38:22 kerdels 00207 * added DTT used by Open Challenge, RIP and Xabsl-Options will follow 00208 * 00209 * Revision 1.11 2004/07/14 21:06:46 spranger 00210 * renamed KalmanDebugData to GT2004BallLocatorDebugData 00211 * 00212 * Revision 1.10 2004/07/10 00:13:55 spranger 00213 * renaming for coderelease and preparations for gt2005 00214 * 00215 * Revision 1.9 2004/06/20 18:16:19 dueffert 00216 * ImageSaver may work now 00217 * 00218 * Revision 1.8 2004/06/18 14:47:55 risler 00219 * large debug queue only for ers7 so that ers210 at least can still be started 00220 * 00221 * Revision 1.7 2004/06/16 21:00:27 goehring 00222 * case QueueFillRequest::toStickImmediately added 00223 * 00224 * Revision 1.6 2004/06/09 19:24:07 spranger 00225 * added MotionControl-slowmotion 00226 * 00227 * Revision 1.5 2004/05/26 09:28:41 roefer 00228 * Make the Simulator compile 00229 * 00230 * Revision 1.4 2004/05/25 10:46:54 wachter 00231 * Increased outgoing debug-queue for writing logfiles 00232 * 00233 * Revision 1.3 2004/05/22 21:52:58 juengel 00234 * bug fixed 00235 * 00236 * Revision 1.2 2004/05/22 20:46:50 juengel 00237 * Removed some MessageIDs. 00238 * 00239 * Revision 1.1.1.1 2004/05/22 17:24:57 cvsadm 00240 * created new repository GT2004_WM 00241 * 00242 * Revision 1.31 2004/05/18 14:28:21 loetzsch 00243 * now Xabsl2 intermediate code can be sent to different modules 00244 * 00245 * Revision 1.30 2004/05/17 18:38:27 loetzsch 00246 * continued support for multiple Xabsl engines in different modules 00247 * 00248 * Revision 1.29 2004/04/30 08:18:28 goehring 00249 * DebugQueue is being deleted after being written to stick 00250 * 00251 * Revision 1.28 2004/04/21 14:08:16 dueffert 00252 * Motion can load parameterset itself on request now 00253 * 00254 * Revision 1.27 2004/04/07 13:00:47 risler 00255 * ddd checkin after go04 - second part 00256 * 00257 * Revision 1.2 2004/04/07 11:44:06 risler 00258 * added sending low res images 00259 * added Image::setCameraInfo 00260 * 00261 * Revision 1.1.1.1 2004/03/29 08:28:46 Administrator 00262 * initial transfer from tamara 00263 * 00264 * Revision 1.26 2004/03/22 21:58:13 roefer 00265 * True odometry 00266 * 00267 * Revision 1.25 2004/03/17 19:53:37 juengel 00268 * Added idKickSelectionTable. 00269 * 00270 * Revision 1.24 2004/03/17 16:18:49 thomas 00271 * added preversion of motion optimisation with behaviour, selflocator, headcontrol and robotcontrol dialog 00272 * 00273 * Revision 1.23 2004/03/16 10:24:54 dueffert 00274 * UDParameters for Motion and Cognition 00275 * 00276 * Revision 1.22 2004/03/11 14:27:31 uhrig 00277 * KalmanBallLocator was added 00278 * 00279 * Revision 1.21 2004/02/27 16:44:56 dueffert 00280 * UDEvolutionRequest introduced; hack removed 00281 * 00282 * Revision 1.20 2004/02/24 13:15:41 hamerla 00283 * *** empty log message *** 00284 * 00285 * Revision 1.19 2004/02/24 12:58:25 hamerla 00286 * no message 00287 * 00288 * Revision 1.18 2004/02/18 13:02:42 kindler 00289 * - requests.dat is now only read once, and is no longer held open. (-> can be updated through ftp now!) 00290 * 00291 * Revision 1.17 2004/02/16 19:22:47 jhoffman 00292 * added debug parameters for yet another inv kin 00293 * 00294 * Revision 1.16 2004/01/21 16:02:53 goehring 00295 * Debug queue size increased by 2 MB 00296 * 00297 * Revision 1.15 2004/01/21 15:15:16 loetzsch 00298 * increased the size of the outgoing queue in Debug 00299 * 00300 * Revision 1.14 2004/01/20 13:44:13 wachter 00301 * Changed sizes of MessageQueue and memory-allocation 00302 * 00303 * Revision 1.13 2004/01/19 14:59:47 wachter 00304 * Reduced MessageQueue size again. 00305 * 00306 * Revision 1.12 2004/01/12 17:17:52 kerdels 00307 * added freeze functionality to tacticDesigner 00308 * 00309 * Revision 1.11 2004/01/07 14:56:09 kerdels 00310 * added send functionality to TacticDesigner 00311 * 00312 * Revision 1.10 2004/01/06 17:26:11 kerdels 00313 * modified some DTT-Options 00314 * 00315 * Revision 1.9 2004/01/06 14:41:30 wachter 00316 * Reduced MessageQueue size because memory was full 00317 * 00318 * Revision 1.8 2004/01/03 21:26:46 wachter 00319 * Removed some debug-stuff 00320 * 00321 * Revision 1.7 2004/01/03 19:15:17 wachter 00322 * Debug-communication without router working now 00323 * 00324 * Revision 1.6 2003/12/16 19:02:45 loetzsch 00325 * The motion net file Config/spec_act.dat can be sent through WLAN to a robot. 00326 * 00327 * Revision 1.5 2003/12/02 18:07:43 dueffert 00328 * first working not yet calibrated version of UDWalkingEngine added 00329 * 00330 * Revision 1.4 2003/11/29 07:40:19 roefer 00331 * Doxygen comments corrected 00332 * 00333 * Revision 1.3 2003/11/22 15:59:03 jhoffman 00334 * parameter sending using generic debug data to 00335 * walking engine now works if it is explicitely given 00336 * a messageID 00337 * 00338 * Revision 1.2 2003/11/17 14:56:04 urban 00339 * added SensorBehaviorControl-solution "AlLx RemotePresence" and RobotControl-dialogbar "AlLx Joystick" 00340 * 00341 * Revision 1.1 2003/10/07 10:07:01 cvsadm 00342 * Created GT2004 (M.J.) 00343 * 00344 * Revision 1.3 2003/09/11 15:20:59 dueffert 00345 * passing of InvKinParameters added 00346 * 00347 * Revision 1.2 2003/07/05 09:49:05 roefer 00348 * Generic debug message for bodyOffsets improved 00349 * 00350 * Revision 1.1.1.1 2003/07/02 09:40:25 cvsadm 00351 * created new repository for the competitions in Padova from the 00352 * tamara CVS (Tuesday 2:00 pm) 00353 * 00354 * removed unused solutions 00355 * 00356 * Revision 1.46 2003/06/20 17:53:30 dueffert 00357 * silly fix 00358 * 00359 * Revision 1.45 2003/06/17 16:57:31 loetzsch 00360 * made queue smaller 00361 * 00362 * Revision 1.44 2003/05/27 12:23:42 risler 00363 * added GT2003BehaviorConfiguration debug message 00364 * 00365 * Revision 1.43 2003/05/08 14:55:28 juengel 00366 * printRobotStatus contains mac address now 00367 * 00368 * Revision 1.42 2003/05/06 16:49:07 juengel 00369 * increased size of debugIn 00370 * decreased size of debugOut 00371 * increased siye of theCognitionSender 00372 * 00373 * Revision 1.41 2003/05/05 12:27:02 juengel 00374 * Removed idGridImageProcessor2Thresholds 00375 * 00376 * Revision 1.40 2003/05/03 16:20:43 roefer 00377 * bodyOffsets generic debug data 00378 * 00379 * Revision 1.39 2003/04/16 14:14:38 loetzsch 00380 * removed Xabsl 1 from GT2003 00381 * 00382 * Revision 1.38 2003/04/16 07:00:16 roefer 00383 * Bremen GO checkin 00384 * 00385 * Revision 1.37 2003/03/28 09:17:48 roefer 00386 * Size of Cognition increased and size of Debug reduced 00387 * 00388 * Revision 1.36 2003/03/21 23:38:00 dueffert 00389 * status output works now 00390 * 00391 * Revision 1.35 2003/03/20 20:34:21 loetzsch 00392 * Game Toolbar now can adjust the game speed 00393 * 00394 * Revision 1.34 2003/03/19 09:23:48 dueffert 00395 * status output added 00396 * 00397 * Revision 1.33 2003/03/11 09:10:02 dueffert 00398 * QueueFillRequest rejectAll added 00399 * 00400 * Revision 1.32 2003/03/05 14:07:10 roefer 00401 * LinesPerceptor2 is now LinesImageProcessor 00402 * 00403 * Revision 1.31 2003/03/05 11:10:05 loetzsch 00404 * added class GlobalGameControlData 00405 * 00406 * Revision 1.30 2003/03/04 15:05:11 juengel 00407 * Added handling for idParametersForGridImageProcessor2 00408 * 00409 * Revision 1.29 2003/02/27 12:02:30 dueffert 00410 * JoystickData added 00411 * 00412 * Revision 1.28 2003/02/21 22:20:13 roefer 00413 * LinesSelfLocator is working 00414 * 00415 * Revision 1.27 2003/02/18 21:29:17 osterhues 00416 * Changed all instances of ColorTable64 to new base class ColorTable 00417 * 00418 * Revision 1.26 2003/02/08 18:36:44 juengel 00419 * added idGridImageProcessor2Thresholds 00420 * 00421 * Revision 1.25 2003/02/05 15:51:58 juengel 00422 * reduced queue size 00423 * 00424 * Revision 1.24 2003/01/30 11:28:54 juengel 00425 * Added idGridImageProcessor2Parameters and id LinesPerceptorParameters. 00426 * 00427 * Revision 1.23 2003/01/22 18:09:23 loetzsch 00428 * continued implementation of sending of intermediate code from xabsl2 dialog 00429 * to a xabsl2 behavior control 00430 * 00431 * Revision 1.22 2003/01/21 15:35:18 loetzsch 00432 * on the robot messages now are only sent if a message was received from the PC 00433 * 00434 * Revision 1.21 2003/01/16 09:54:49 jhoffman 00435 * Added "Generic Debug Data" data type. This can be used 00436 * for quick and dirty optimization and debugging, e.g. to send 00437 * parameters to a module through WLAN to adjust it's settings. 00438 * The DebugMessageGenerator is used to for parsing and 00439 * sendig the data 00440 * 00441 * Revision 1.20 2003/01/11 22:27:14 roefer 00442 * Limited 5 sec hack to real Aibo 00443 * 00444 * Revision 1.19 2003/01/11 13:29:55 juengel 00445 * Xabsl2Dialog sends Xabsl2DebugRequest now. 00446 * 00447 * Revision 1.18 2003/01/10 15:48:20 loetzsch 00448 * added a hack that does not send any messages to the WLan or OVirtualRobotComm 00449 * in the first 5 seconds after the first execution of main() 00450 * 00451 * Revision 1.17 2003/01/09 17:27:19 loetzsch 00452 * added the hack with the 50 seconds 00453 * 00454 * Revision 1.16 2002/12/08 07:11:14 roefer 00455 * Decompress JPEG images in Cognition 00456 * 00457 * Revision 1.15 2002/12/07 16:40:45 roefer 00458 * Blocking for theDebugReceiver changed 00459 * 00460 * Revision 1.14 2002/12/05 16:14:31 dueffert 00461 * started implementing realtime sending 00462 * 00463 * Revision 1.13 2002/11/28 14:07:55 dueffert 00464 * docu improved 00465 * 00466 * Revision 1.12 2002/11/27 13:50:27 dueffert 00467 * QueueFillMode beautified 00468 * 00469 * Revision 1.11 2002/11/26 12:23:58 dueffert 00470 * Debug handles growing requests.dat in Win32 now 00471 * 00472 * Revision 1.10 2002/11/25 12:27:15 dueffert 00473 * first steps towards reading growing files 00474 * 00475 * Revision 1.9 2002/11/23 22:42:13 roefer 00476 * Debug crash fixed 00477 * 00478 * Revision 1.8 2002/11/21 16:08:39 dueffert 00479 * doxygen comments corrected 00480 * 00481 * Revision 1.7 2002/11/19 17:11:26 risler 00482 * added datatype PIDData 00483 * support for sending new pid values at runtime 00484 * 00485 * Revision 1.6 2002/11/19 12:57:54 dueffert 00486 * queuefillrequest added, debugkey toolbar extended, memorystick toolbar removed 00487 * 00488 * Revision 1.5 2002/11/18 10:35:05 juengel 00489 * Added "block debug sender" mechanism 00490 * 00491 * Revision 1.4 2002/10/02 15:52:24 loetzsch 00492 * increased the size of the queue in the debug process to 11000000 00493 * 00494 * Revision 1.3 2002/09/18 16:35:12 loetzsch 00495 * made GT2003 compilable, 00496 * rechanged message ids 00497 * 00498 * Revision 1.2 2002/09/17 23:55:22 loetzsch 00499 * - unraveled several datatypes 00500 * - changed the WATCH macro 00501 * - completed the process restructuring 00502 * 00503 * Revision 1.1 2002/09/10 15:41:25 cvsadm 00504 * Created new project GT2003 (M.L.) 00505 * - Cleaned up the /Src/DataTypes directory 00506 * - Removed challenge related source code 00507 * - Removed processing of incoming audio data 00508 * - Renamed AcousticMessage to SoundRequest 00509 * - Removed all process layouts 00510 * - Added process layout CMD 00511 * 00512 * Revision 1.8 2002/09/07 13:36:58 loetzsch 00513 * unified the vision modules into one module "ImageProcessor" 00514 * - FloodFillRLEImageProcessor, BallPerceptor, LandmarksPerceptor 00515 * and PlayersPerceptor were are combined to the new solution 00516 * "BlobImageProcessor" 00517 * - The GridImageProcessor and the SubPixelGradientCalculator became 00518 * a solution of "ImageProcessor" 00519 * 00520 * Revision 1.7 2002/08/21 11:50:44 cesarz 00521 * GT2001PlayersPerceptor, BerlinSelfLocator, GT2001WalkingEngine, 00522 * DoWalkingEngine, FuzzyBehaviorControl, BremenGOBehaviorControl, 00523 * FuzzyBehaviortesterdlgbar and Behaviortesterdlgbar removed. 00524 * 00525 * Revision 1.6 2002/07/23 13:40:51 loetzsch 00526 * - new streaming classes 00527 * - removed many #include statements 00528 * - new design of debugging architecture 00529 * - exchanged StaticQueue with MessageQueue 00530 * - new debug message handling 00531 * - general clean up 00532 * 00533 * Revision 1.5 2002/06/21 16:45:56 dueffert 00534 * smaller debug queue 00535 * 00536 * Revision 1.4 2002/06/08 20:41:15 mkunz 00537 * specialPercept queue completed 00538 * 00539 * Revision 1.3 2002/06/02 23:21:09 roefer 00540 * Single color table and progress in LinesSelfLocator 00541 * 00542 * Revision 1.2 2002/05/15 15:47:29 risler 00543 * added debug message AcousticMessage, DebugMessageGenerator generates AcousticMessage 00544 * 00545 * Revision 1.1.1.1 2002/05/10 12:40:19 cvsadm 00546 * Moved GT2002 Project from ute to tamara. 00547 * 00548 * Revision 1.40 2002/05/05 22:12:42 loetzsch 00549 * GameControlData can now be sent from the Game toolbar to BehaviorControl 00550 * 00551 * Revision 1.39 2002/04/29 10:18:23 cesarz 00552 * changed idInvKinWalkingParameters 00553 * 00554 * Revision 1.38 2002/04/23 15:11:41 jhoffman 00555 * added some pre GO fourier stuff 00556 * 00557 * Revision 1.37 2002/04/09 16:46:01 risler 00558 * added DarmstadtGOWalkingEngine 00559 * 00560 * Revision 1.36 2002/04/09 11:19:06 loetzsch 00561 * debug message handling for idPlayerConfig 00562 * 00563 * Revision 1.35 2002/04/08 18:40:45 dueffert 00564 * XabslInputData added 00565 * 00566 * Revision 1.34 2002/04/06 09:55:53 roefer 00567 * Image and SensorData path through DebugQueues changed 00568 * 00569 * Revision 1.33 2002/04/02 15:03:40 loetzsch 00570 * distribution of XabslDebugRequests 00571 * 00572 * Revision 1.32 2002/03/28 17:43:56 loetzsch 00573 * mcf tuned 00574 * 00575 * Revision 1.31 2002/03/27 12:58:12 piepenstock 00576 * Added serial communication support 00577 * 00578 * Revision 1.30 2002/03/12 14:34:15 jhoffman 00579 * added fourier coefficient output 00580 * 00581 * Revision 1.29 2002/02/28 16:28:25 risler 00582 * added GT2001WalkingParameters 00583 * 00584 * Revision 1.28 2002/02/27 19:53:20 loetzsch 00585 * increased size of theCognitionReceiver 00586 * 00587 * Revision 1.27 2002/02/21 14:22:47 loetzsch 00588 * added several STOP_WATCH_ON_REQUEST macros 00589 * 00590 * Revision 1.26 2002/02/12 16:34:49 risler 00591 * finished MofTester 00592 * 00593 * Revision 1.25 2002/02/06 01:15:40 loetzsch 00594 * oracled world states are now first send through the local processes 00595 * before they are painted. (for synchronization with the painting of the 00596 * calculated world states) 00597 * 00598 * Revision 1.24 2002/02/05 20:02:16 risler 00599 * handleDebugMessage now returns bool, added debug message handling to ImageProcessor 00600 * 00601 * Revision 1.23 2002/02/05 04:19:04 loetzsch 00602 * replaced several team color hacks by getPlayer().getTeamColor() 00603 * 00604 * added a few new module selectors 00605 * 00606 * changed distribution of debug messages completely 00607 * 00608 * Revision 1.22 2002/01/30 17:29:56 loetzsch 00609 * handleDebugMessage um Parameter timestamp erweitert 00610 * 00611 * Revision 1.21 2002/01/23 13:51:55 loetzsch 00612 * from Debug Queues odometry data is now sent to Motion and not to Perception 00613 * 00614 * Revision 1.20 2002/01/23 05:46:42 loetzsch 00615 * mcf tuned 00616 * 00617 * Revision 1.19 2002/01/23 02:47:39 loetzsch 00618 * mcf tuned 00619 * 00620 * Revision 1.18 2002/01/22 14:56:30 juengel 00621 * ColorTable verschicken angefangen. 00622 * 00623 * Revision 1.17 2002/01/22 00:10:08 loetzsch 00624 * new configuration DebugWLan introduced 00625 * 00626 * Revision 1.16 2002/01/19 12:43:16 risler 00627 * enabled SolutionRequest, changed HandleDebugMessage calls 00628 * 00629 * Revision 1.15 2002/01/18 23:30:28 loetzsch 00630 * Distribution of HeadControlModes, HeadMotionRequests and SolutionRequests added 00631 * 00632 * Revision 1.14 2002/01/18 02:17:39 loetzsch 00633 * MotionTester dialog and distribution of MotionRequests 00634 * to the processes programmed. 00635 * 00636 * Revision 1.13 2002/01/13 17:02:02 roefer 00637 * SimRobot now has a console window 00638 * 00639 * Revision 1.12 2001/12/30 14:48:37 roefer 00640 * Portable macro PRINT() for direct console output inserted 00641 * 00642 * Revision 1.11 2001/12/28 22:40:34 roefer 00643 * Inserted check for existence of configuration file 00644 * 00645 * Revision 1.10 2001/12/20 17:14:35 loetzsch 00646 * Using debug requests from the memory stick. 00647 * 00648 * Revision 1.9 2001/12/19 18:37:32 bach 00649 * Camera.cfg added 00650 * Sensors: CameraParameters are set 00651 * 00652 * Revision 1.8 2001/12/17 16:42:34 loetzsch 00653 * Removed the StaticQueue >> StaticQueue operator, 00654 * replaced by copyAllMessages and moveAllMessages 00655 * 00656 * Revision 1.7 2001/12/15 20:32:09 roefer 00657 * Senders and receivers are now part of the processes 00658 * 00659 * Revision 1.6 2001/12/13 12:57:18 loetzsch 00660 * Aufruf des SensorDataProcesssors entfernt, da dieser abstürzt. 00661 * 00662 * Revision 1.5 2001/12/12 18:43:22 loetzsch 00663 * division by 0 auskommentiert 00664 * 00665 * Revision 1.4 2001/12/12 18:08:56 loetzsch 00666 * Streaming- Operatoren für Bilder eingebaut, DebugKeyTable nicht- statisch gemacht, Debuggin Mechanismen weitergemacht, Bilder aus Logfiles in RobotControl anzeigen, Logfiles in HU1/Debug auf den Stick schreiben 00667 * 00668 * Revision 1.3 2001/12/10 17:47:08 risler 00669 * change log added 00670 * 00671 */