From: Yuan X. <xuy...@gm...> - 2007-03-17 14:51:57
|
Hi all, At last, I finished the first version of timer. The main work I did are: * Spread the Run() function to different threads (One thread per SimControlNode) * Schedule the threads by interval time of SimControlNodes More information see the pdf I attached, please. My work are based on rcssserver3d-0.5.3. The patch I attached is suited to rcssserver3d-0.5.3. And you can get the whole package from http://xuyuan.cn.googlepages.com/rcssserver3d-0.5.3-timer-rc1.tar.gz Although I have tested the code in 4 differnet computers, but I am not sure it is bug-free. And it can not works in old version Mesa. If you have any problem while using the timer, please tell me. And any comment is welcome. I also list TODO below: * In order to link the boost-thread library, I added -lboost_thread-mt to LDADD in Makefile.am. This is not a good solution, it can not find the library when the library named -lboost_thread-gcc-mt, and there are some warning while running configure. but I do not know how to solve it. * I am not sure the OpenGL library is thread safe. Because it can not work with Mesa-6.4.1, it can work with Mesa-6.5.21 and ATI fglrx 8.31.5 . I checked the ChanegeLog of Mesa, there are some bug-fixes of thread safe in Mesa-6.5 * Is the XThreadInit() needed? Note that the all OpenGL function are called in one thread. * I write some ugly code to make the AgentControl loop in the main thread, hwo can the Ruby be called in new thread? * I think we should implement the sense and act latency in the next step, right? -- Best wishes! Xu Yuan School of Automation Southeast University, Nanjing, China mail: xuy...@gm... xy...@ya... web: http://xuyuan.cn.googlepages.com -------------------------------------------------- |