Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Processes/CMD/Debug.cpp

Go to the documentation of this file.
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 */

Generated on Thu Sep 23 19:57:34 2004 for GT2004 by doxygen 1.3.6